Quais são as características da construção do conjunto de dados e validação para modelos de séries temporais?
sobes.tech IA
Resposta da IA
Ao construir conjuntos de dados e validação para modelos de séries temporais, é importante considerar a dependência temporal dos dados e evitar a fuga de informações futuras para o passado.
Principais características:
-
Janela deslizante (Sliding window) — criação de exemplos de treino a partir de intervalos de tempo sequenciais, onde a entrada são valores anteriores e a saída é o próximo passo.
-
Divisão de dados por tempo — os dados são divididos em conjuntos de treino, validação e teste estritamente por tempo, para que o modelo não veja dados futuros durante o treino.
-
Validação considerando a sequência temporal:
- Uso de métodos como TimeSeriesSplit, que criam partições sequenciais considerando a ordem dos dados.
- Evitar embaralhamento aleatório (shuffle), pois isso viola a estrutura temporal.
-
Tratamento de sazonalidade e tendências — ao construir características, consideram-se as características temporais (dia da semana, hora, feriados).
-
Tratamento de valores ausentes e anomalias — é importante um pré-processamento correto, pois as séries temporais são sensíveis a essas distorções.
Exemplo de divisão de dados:
import pandas as pd
from sklearn.model_selection import TimeSeriesSplit
dados = pd.read_csv('timeseries.csv', parse_dates=['date'])
dados = dados.sort_values('date')
# Divisão em treino e teste por data
treino = dados[dados['date'] < '2023-01-01']
teste = dados[dados['date'] >= '2023-01-01']
# TimeSeriesSplit para validação cruzada
tscv = TimeSeriesSplit(n_splits=5)
for train_index, val_index in tscv.split(treino):
train_fold = treino.iloc[train_index]
val_fold = treino.iloc[val_index]
# treino e validação do modelo
Assim, a chave é manter a ordem cronológica e evitar a fuga de informações futuras para o passado.