tek bölme neden yetersiz: varyans ve kontaminasyon riski
Veriyi bir kez rastgele ikiye böldüğümüzde, test performansı o bölmenin şansına bağlı olur. İyi bir örneklem çekersek iyi görünür, kötü örneklem çekersek kötü. Cross-validation, bu bölmeyi birden fazla kez tekrarlayarak ortalamanın varyansını düşürür ve daha güvenilir performans tahmini verir.
Ama kredi verisi için daha büyük bir sorun var: zamansal kontaminasyon. Veriyi rastgele böldüğünüzde, test grubundaki Ocak 2019 gözlemi, eğitim grubundaki Ocak 2021 gözlemiyle komşu olabilir. Model gelecekten beslenerek öğrenir — look-ahead bias'ın CV versiyonu. Zamansal veriler için walk-forward (ilerleyen pencere) tek geçerli yöntemdir.
artifact — walk-forward validasyon görselleştirici
60 aylık (2019–2023) kredi verisi. Rastgele k-fold modunda: her satırda test ayları (coral) eğitim aylarına (teal) karışmış — gelecek bilgisi eğitime sızıyor. Walk-Forward modunda: her iterasyonda eğitim her zaman testten önce — zamansal bütünlük korunuyor.
CV türleri ve doğru kullanım alanları
| Yöntem | Nasıl Çalışır | Doğru Durum | Bankacılık |
|---|---|---|---|
| Standart k-fold | Veri k parçaya rastgele bölünür, her parça sırayla test olur | i.i.d. veri, sınıf dengesi önemli değil | Uygun değil — temporal bağımlılık ihlali |
| Stratified k-fold | Her fold'da sınıf dağılımı (default oranı) korunur | Dengesiz sınıf, i.i.d. veri | Sınırlı — temporal sorun çözülmez |
| Walk-Forward | Her iterasyonda eğitim ← test, zaman sıralı | Temporal bağımlı, zaman serisi verisi | Doğru tercih — IRB/IFRS9 tutarlı |
| Nested CV | Dış döngü: performans. İç döngü: hiperparametre | Model seçimi + hiperparametre optimizasyonu birlikte | En sağlam; temporal nested CV ideal |
Nested CV neden önemli? Hiperparametreyi (örn. ağaç derinliği) CV sonucuna bakarak seçip aynı CV fold'larıyla performansı raporlamak, test setinin dolaylı olarak eğitime sızmasıdır. Dış fold (performans), iç fold'lardan (parametre seçimi) tamamen izole olmalıdır.
tipik hata
İkinci yanılgı: OOT seti performansını "geliştirmek" için geri dönmek. OOT veri seti model geliştirme kararlarına girdiği an, artık test seti değildir. Tek kullanımlık validation seti "bak ne kadar iyi" için değil, "gerçekten ne kadar iyi" için vardır.