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:
-
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.
-
İ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.
-
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.