Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Feature engineering, Unidad 6 — Creación de nuevas features, 6.2 — Features temporales ·

Riesgos en series temporales

Riesgos en series temporales

Introducción

La creación de nuevas características en series temporales es una técnica clave para mejorar la precisión y estabilidad de los modelos predictivos. Sin embargo, esta tarea no está exenta de riesgos. En este artículo, analizaremos cómo las malas prácticas pueden llevar a resultados perjudiciales y proporcionaremos un checklist para asegurar que nuestros modelos sean robustos e interpretables.

Las series temporales son datos ordenados en el tiempo, donde cada punto de dato depende del anterior o próximo. Al trabajar con estas variables, es crucial evitar ciertos errores que puedan introducir sesgos o distorsiones en los resultados.

Explicación principal

Para ilustrar estos riesgos, analizaremos cómo crear y utilizar características temporales puede afectar a la precisión de un modelo. Supongamos que estamos trabajando con una serie temporal de ventas diarias en una tienda:

import pandas as pd
from datetime import timedelta

# Datos ficticios de ventas diarias
dates = pd.date_range(start='2023-01-01', end='2023-01-31')
sales = [50, 60, 45, 70, 80, 90, 100, 110, 120, 130] * 3
df = pd.DataFrame({'fecha': dates, 'ventas': sales})

# Crear nueva característica: Ventas promedio en los últimos 7 días
df['prom_7d'] = df['ventas'].rolling(window=7).mean().shift(-6)

En este ejemplo, hemos creado una nueva característica que representa el promedio de ventas durante los últimos 7 días. Sin embargo, esta característica puede introducir varios riesgos si no se implementa correctamente.

Errores típicos / trampas

  1. Usar variables del futuro: Una de las fallas más comunes en la creación de características temporales es el uso de datos futuros. Por ejemplo, usar ventas del próximo día para predecir ventas actuales sería un error grave que distorsiona los resultados.
  1. Sesgos por sesiones de trading: En series temporales financieras, las sesiones de trading a veces son relevantes. Si no se toman en cuenta estas periodizaciones, el modelo puede capturar patrones sesgados que no son generalizables.
  1. Overfitting: Crear demasiadas características temporales sin un propósito claro puede llevar al overfitting. Cuanto más complejo sea el modelo, mayor será la probabilidad de ajustarse a los datos de entrenamiento y no a los datos nuevos o desconocidos.

Checklist accionable

Para evitar estos riesgos, es importante seguir una serie de mejores prácticas en la creación de características temporales:

  1. Evita usar variables del futuro: Asegúrate de que todas las características se basen únicamente en datos disponibles en el momento de predicción.
  1. Identifica las sesiones de trading o periodizaciones relevantes: Si trabaja con series financieras, asegúrese de considerar las sesiones de trading y cualquier otra estructura temporal relevante.
  1. Mantén una lista de características relevantes: Identifique claramente cuáles son las características que están contribuyendo al rendimiento del modelo. Elimine aquellas que no aportan valor.
  1. Evita el overfitting: Utilice técnicas como la validación cruzada para asegurarse de que su modelo generaliza bien a datos desconocidos.
  1. Documenta y explora los resultados: Documente cada paso del procesamiento de características para poder replicar y validar fácilmente los resultados.
  1. Realiza una auditoría de variables: Asegúrese de que ninguna variable introducida sea sesgada o basada en datos no generalizables.
  1. Usa validación externa: Si es posible, use un conjunto de datos externo para validar las características y evitar el overfitting.
  1. Mantiene el modelo simple: Un modelo con menos características puede ser más robusto y fácil de interpretar.

Siguientes pasos

  1. Revisión exhaustiva: Revisa todas tus funciones de creación de características para asegurarte de que no están introduciendo variables del futuro o sesgos.
  2. Auditoría de variables: Realiza una auditoría minuciosa de cada variable creada para verificar su relevancia y evitar el overfitting.
  3. Validación cruzada: Utiliza técnicas de validación cruzada en tu modelo para asegurarte de que generaliza bien a datos desconocidos.

Siguiendo estos pasos, podrás crear características temporales de manera segura y efectiva, mejorando significativamente la precisión y estabilidad de tus modelos.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).