Sobes.tech
Middle — Senior

Убакыттык катарлар боюнча кросс-валидацияны кантип өткөрүү керек?

sobes.tech AI

AIден жооп

Убакыттык катарлар боюнча кросс-валидация классикалык түрдөн айырмаланат, анткени маалыматтар убакыттык көзкарандылыкка ээ жана аларды жөн эле кездейсөңчө аралаштырып болбойт.

Негизги ыкмалар:

  1. Time Series Split (жылжуу терезе)

    • Маалыматтар үзгүлтүксүз убакыттык блокторго бөлүнөт.
    • Ар бир кадамда модел белгилүү бир убакытка чейин болгон маалыматтар менен үйрөтүлөт жана кийинки убакыт аралыгында тесттелет.
    • Мисал: 1-3 айлар үйрөтүлөт, 4-ө тест; андан соң 1-4 үйрөтүлөт, 5-ө тест жана башка.
  2. Walk-forward validation (алга жылуу текшерүү)

    • Time Series Splitке окшош, бирок модел ар бир кадамда кайра үйрөтүлөт жана жаңы маалыматтар кошулат.
  3. Блоктолгон кросс-валидация (Blocked cross-validation)

    • Маалыматтар блокторго бөлүнөт, ошентип үйрөтүү жана тест ортосунда маалымат агып кетүүсүн алдын алат.

Python мисалы sklearn колдонуу менен:

from sklearn.model_selection import TimeSeriesSplit
import numpy as np

X = np.arange(100).reshape(-1, 1)  # Мисалдык маалыматтар
 y = np.sin(X).ravel()

tscv = TimeSeriesSplit(n_splits=5)
for train_index, test_index in tscv.split(X):
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
    # Моделди X_train, y_train менен үйрөтүү
    # Баалоо X_test, y_test менен

Маалыматтардын убакыттык тартибин сактоо маанилүү, анткени келечектеги маалыматтарды үйрөтүүдө колдонбоо керек.