Sobes.tech
Middle — Senior

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:

  1. Libisev aken (Sliding window) — õppeseadete loomine järjestikustest ajavahemikest, kus sisend on eelnevad väärtused ja väljund järgmine samm.

  2. Andmete jagamine ajaliselt — andmed jagatakse rangelt õppimise, valideerimise ja testimise osadeks ajaliselt, et mudel ei näeks tulevasi andmeid õppimise ajal.

  3. 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.
  4. Sezonalite ja trendide töötlemine — tunnuste loomisel arvestatakse ajast sõltuvaid omadusi (nädalapäev, tund, pühad).

  5. 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.