Millised on ajasrida mudelite andmekogumi ja valideerimise omadused?
sobes.tech AI
Vastus AI-lt
Andmete kogumise ja modelleerimise ajal aegreades on oluline arvestada andmete ajaliselt sõltuvust ning vältida teabe lekkimist tulevikust minevikku.
Peamised omadused:
-
Libisev aken (Sliding window) — õppeseadete loomine järjestikustest ajavahemikest, kus sisend on eelnevad väärtused ja väljund järgmine samm.
-
Andmete jagamine ajaliselt — andmed jagatakse rangelt õppimise, valideerimise ja testimise osadeks ajaliselt, et mudel ei näeks tulevasi andmeid õppimise ajal.
-
Valideerimine ajaseeria järjekorras:
- Kasutades meetodeid nagu TimeSeriesSplit, mis loovad järjestikuseid jagunemisi, arvestades andmete järjekorda.
- Vältides juhuslikku segamist (shuffle), kuna see rikub ajastruktuuri.
-
Sezonalite ja trendide töötlemine — tunnuste loomisel arvestatakse ajast sõltuvaid omadusi (nädalapäev, tund, pühad).
-
Puuduvate andmete ja anomaaliate töötlemine — oluline on korrektne eelne töötlus, kuna ajaridad on tundlikud selliste moonutuste suhtes.
Näide andmete jagamisest:
import pandas as pd
from sklearn.model_selection import TimeSeriesSplit
data = pd.read_csv('timeseries.csv', parse_dates=['date'])
data = data.sort_values('date')
# Jagamine treening- ja testandmeteks kuupäeva järgi
train = data[data['date'] < '2023-01-01']
test = data[data['date'] >= '2023-01-01']
# TimeSeriesSplit ristsõelumiseks
ntscv = TimeSeriesSplit(n_splits=5)
for train_index, val_index in ntscv.split(train):
train_fold = train.iloc[train_index]
val_fold = train.iloc[val_index]
# mudeli treenimine ja valideerimine
Seega, oluline on säilitada kronoloogiline järjekord ja vältida teabe lekkimist tulevikust minevikku.