Kādi ir laika rindu modeļu datu kopas veidošanas un validācijas īpatnības?
sobes.tech AI
Atbilde no AI
Veido datu kopu un validācijā laika sēriju modeļiem ir svarīgi ņemt vērā datu laika atkarību un izvairīties no informācijas noplūdes no nākotnes uz pagātni.
Galvenās īpašības:
-
Slīdējošā loga (Sliding window) — mācību piemēru veidošana no secīgiem laika intervāliem, kur ievade ir iepriekšējās vērtības, bet izeja — nākamais solis.
-
Datu sadalīšana pēc laika — dati tiek stingri sadalīti mācību, validācijas un testa daļās pēc laika, lai modelis neredzētu nākotnes datus mācību laikā.
-
Validācija, ņemot vērā laika secību:
- Izmantojot tādas metodes kā TimeSeriesSplit, kas veido secīgus sadalījumus, ņemot vērā datu kārtību.
- Vairāk izvairīties no nejaušas sajaukšanas (shuffle), jo tas pārkāpj laika struktūru.
-
Sezonu un trendu apstrāde — veidojot raksturlielumus, ņem vērā laika raksturlielumus (nedēļas diena, stunda, svētki).
-
Iztrūkumu un anomaliju apstrāde — svarīga ir pareiza iepriekšēja apstrāde, jo laika sērijas ir jutīgas pret šādiem izkropļojumiem.
Datu sadalījuma piemērs:
import pandas as pd
from sklearn.model_selection import TimeSeriesSplit
data = pd.read_csv('timeseries.csv', parse_dates=['date'])
data = data.sort_values('date')
# Sadale uz mācību un testēšanas datiem pēc datuma
train = data[data['date'] < '2023-01-01']
test = data[data['date'] >= '2023-01-01']
# TimeSeriesSplit iekšējā validācija
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]
# modeļa apmācība un validācija
Tādējādi galvenais — saglabāt hronoloģisko kārtību un izvairīties no informācijas noplūdes no nākotnes uz pagātni.