Sobes.tech
Middle — Senior

Aké sú vlastnosti zostavovania dátovej sady a validácie pre modely časových radov?

sobes.tech AI

Odpoveď od AI

Pri tvorbe súborov údajov a validácii pre modely časových radov je dôležité zohľadniť časovú závislosť údajov a vyhnúť sa úniku informácií z budúcnosti do minulosti.

Hlavné vlastnosti:

  1. Posuvné okno (Sliding window) — tvorba tréningových príkladov z po sebe idúcich časových intervalov, kde vstupom sú predchádzajúce hodnoty a výstupom nasledujúci krok.

  2. Rozdelenie údajov podľa času — údaje sa prísne delia na tréningové, validačné a testovacie časti podľa času, aby model nevidel budúce údaje počas tréningu.

  3. Validácia s prihliadnutím na časovú sekvenciu:

    • Použitie metód ako TimeSeriesSplit, ktoré vytvárajú sekvenčné rozdelenia s prihliadnutím na poradie údajov.
    • Vyhnúť sa náhodnému miešaniu (shuffle), pretože to narušuje časovú štruktúru.
  4. Spracovanie sezónnosti a trendov — pri tvorbe znakov sa zohľadňujú časové charakteristiky (deň v týždni, hodina, sviatky).

  5. Spracovanie chýbajúcich hodnôt a anomálií — správne predspracovanie je dôležité, pretože časové rady sú citlivé na takéto skreslenia.

Príklad rozdelenia údajov:

import pandas as pd
from sklearn.model_selection import TimeSeriesSplit

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

# Rozdelenie na tréning a test podľa dátumu
train = data[data['date'] < '2023-01-01']
test = data[data['date'] >= '2023-01-01']

# TimeSeriesSplit pre krížovú validáciu
tscv = TimeSeriesSplit(n_splits=5)
for train_index, val_index in tscv.split(train):
    train_fold = train.iloc[train_index]
    val_fold = train.iloc[val_index]
    # trénovanie a validácia modelu

Kľúčom je zachovanie časovej sekvencie a vyhýbanie sa úniku informácií z budúcnosti do minulosti.