Sobes.tech
Middle — Senior

Zaman serileri üzerinde çapraz doğrulama nasıl yapılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Zaman serileri üzerinde çapraz doğrulama, verilerin zaman bağımlılığı içerdiği ve rastgele karıştırılamayacağı için klasik yöntemden farklıdır.

Ana yaklaşımlar:

  1. Time Series Split (kaydırmalı pencere)

    • Veriler ardışık zaman bloklarına ayrılır.
    • Her adımda, model belirli bir zamana kadar olan verilerle eğitilir ve sonraki zaman aralığında test edilir.
    • Örnek: 1-3 ayları eğit, 4'te test; sonra 1-4 aylarını eğit, 5'te test ve devam eder.
  2. İleriye doğru yürüyüş doğrulaması (Walk-forward validation)

    • Time Series Split'e benzer, ancak model her adımda yeniden eğitilir ve yeni veriler eklenir.
  3. Bloklu çapraz doğrulama (Blocked cross-validation)

    • Veriler bloklara ayrılır ve eğitim ile test arasında bilgi sızıntısı önlenir.

Python örneği sklearn kullanılarak:

from sklearn.model_selection import TimeSeriesSplit
import numpy as np

X = np.arange(100).reshape(-1, 1)  # Örnek veriler
 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 ile modeli eğit
    # X_test, y_test ile değerlendirme

Zaman sırasını korumak, gelecekteki verileri eğitimde kullanmamak önemlidir.