Kokios yra ypatybės kuriant duomenų rinkinį ir tikrinant laiko eilučių modelius?
sobes.tech AI
Atsakymas iš AI
Kuriant duomenų rinkinį ir atliekant modelių validaciją laiko eilučių analizėje, svarbu atsižvelgti į duomenų laiko priklausomybę ir išvengti informacijos nutekėjimo iš ateities į praeitį.
Pagrindinės savybės:
-
Slenkstinė lango (Sliding window) — mokomųjų pavyzdžių formavimas iš nuoseklių laiko intervalų, kur įvestis — ankstesnės reikšmės, o išvestis — kitas žingsnis.
-
Duomenų padalijimas pagal laiką — duomenys griežtai skirstomi į mokymo, validacijos ir testavimo dalis pagal laiką, kad modelis nematytų būsimų duomenų mokymo metu.
-
Validacija atsižvelgiant į laiko seką:
- Naudojant tokias metodikas kaip TimeSeriesSplit, kurios kuria nuoseklius padalijimus, atsižvelgiant į duomenų tvarką.
- Vengiant atsitiktinio maišymo (shuffle), nes tai pažeidžia laiko struktūrą.
-
Sezoninių ir trendų apdorojimas — kuriant požymius, atsižvelgiama į laiko ypatybes (savaitės diena, valanda, šventės).
-
Praleidimų ir anomalijų apdorojimas — svarbi teisinga išankstinė apdorojimo procedūra, nes laiko eilutės jautrios tokiems iškraipytiems duomenims.
Pavyzdys duomenų padalijimo:
import pandas as pd
from sklearn.model_selection import TimeSeriesSplit
data = pd.read_csv('timeseries.csv', parse_dates=['date'])
data = data.sort_values('date')
# Padalijimas į mokymo ir testavimo duomenis pagal datą
train = data[data['date'] < '2023-01-01']
test = data[data['date'] >= '2023-01-01']
# TimeSeriesSplit kryžminė validacija
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]
# modelio mokymas ir validacija
Taigi, svarbiausia — išlaikyti chronologinę tvarką ir vengti informacijos nutekėjimo iš ateities į praeitį.