Sobes.tech
Middle — Senior

¿Cuáles son las características de la construcción del conjunto de datos y la validación para modelos de series temporales?

sobes.tech AI

Respuesta de la IA

Al construir conjuntos de datos y validación para modelos de series temporales, es importante tener en cuenta la dependencia temporal de los datos y evitar la filtración de información futura en el pasado.

Características principales:

  1. Ventana deslizante (Sliding window) — creación de ejemplos de entrenamiento a partir de intervalos de tiempo secuenciales, donde la entrada son valores anteriores y la salida es el siguiente paso.

  2. División de datos por tiempo — los datos se dividen en conjuntos de entrenamiento, validación y prueba estrictamente por tiempo, para que el modelo no vea datos futuros durante el entrenamiento.

  3. Validación considerando la secuencia temporal:

    • Uso de métodos como TimeSeriesSplit, que crean particiones secuenciales considerando el orden de los datos.
    • Evitar mezclas aleatorias (shuffle), ya que esto viola la estructura temporal.
  4. Manejo de estacionalidad y tendencias — al construir características, se consideran las características temporales (día de la semana, hora, días festivos).

  5. Manejo de valores faltantes y anomalías — es importante un preprocesamiento correcto, ya que las series temporales son sensibles a estas distorsiones.

Ejemplo de división de datos:

import pandas as pd
from sklearn.model_selection import TimeSeriesSplit

datos = pd.read_csv('timeseries.csv', parse_dates=['date'])
datos = datos.sort_values('date')

# División en entrenamiento y prueba por fecha
entrenamiento = datos[datos['date'] < '2023-01-01']
prueba = datos[datos['date'] >= '2023-01-01']

# TimeSeriesSplit para validación cruzada
tscv = TimeSeriesSplit(n_splits=5)
for train_index, val_index in tscv.split(entrenamiento):
    train_fold = entrenamiento.iloc[train_index]
    val_fold = entrenamiento.iloc[val_index]
    # entrenamiento y validación del modelo

Por lo tanto, la clave es mantener el orden cronológico y evitar la filtración de información futura en el pasado.