Lineer Regresyon Neden Gerçek Veride Çöker: Çoklu Değişkenin Tuzağı
Lineer regresyon öğrenilmesi kolay, uygulanması basit. Ama gerçek dünyada çoklu değişkenle çalışırken neden bu kadar berbat sonuç verir? Cevap şu: lineer regresyon basit matematiksel bir model, fakat veri gerçek dünyadan gelince matematik yetmez.
Örneğin ev fiyatı tahmini yapıyorsun. Değişkenler: metrekare, oda sayısı, bina yaşı. Ama metrekare ile oda sayısı arasında güçlü korelasyon var, daha büyük evler daha fazla odaya sahip. Lineer regresyon bu iki değişkenin katsayılarını hesaplarken kafası karışır. Hangisinin fiyata etkisi var? İkisinin de mi? Sonuç: katsayılar çılgınca yüksek ve düşük değerler alır. Modelin tahmin gücü çöker.
Bu sorunu test etmezsen, R² değeri yüksek görünür ama yeni veri üzerinde model başarısız olur.
Çoklu değişkenle çalışırken, lineer regresyon eğitim verisine aşırı uyum sağlar. Örneğin 100 gözlemle 50 değişken varsa, model eğitim setindeki gürültüyü de "öğrenir". Test setinde performans düşer.
Lineer regresyon, varsayılan olarak, tüm değişkenlerin modele katkısı olduğunu kabul eder. Ama gerçekte 50 değişkenin 5'i bile önemli değildir. Gereksiz değişkenler sadece gürültü ekler.
Bir değişken 0-1 arasında (örneğin oran), başka bir değişken 1000-1000000 arasında (örneğin gelir) ise, lineer regresyon büyük ölçekli değişkene daha fazla ağırlık verir. Halbuki gerçek etkisi çok daha küçük olabilir. Standardizasyon yapmadan bu sorunu görmezsin.
Lineer regresyon, her değişkenle hedef arasında doğrusal bir ilişki olduğunu varsayar. Ama gerçek ilişkiler çoğu zaman nonlinear'dır. Örneğin, bir ürünün fiyatı arttıkça satış miktarı doğrusal olarak düşmez, belirli bir noktada hızla düşer. Lineer model bu deseni yakalanamaz.
Regularization (Ridge, Lasso) kullan. Gereksiz değişkenleri cezalandırır. Değişkenleri standardize et. Multicollinearity'i VIF ile kontrol et. Nonlinear ilişkileri test et.
Ya da daha güçlü modellere geç: karar ağaçları, gradient boosting, sinir ağları. Bunlar çoklu değişkeni daha iyi idare eder.
Lineer regresyon, basit problemler için mükemmeldir. Ama çoklu değişkenle gerçek dünya verisi üzerinde çalışırken, onun sınırlarını bilmezsen, model sadece iyi görünen yanlış tahminler üretir.
4 yorum
aslında overfitting değil de, katsayılar öyle saçma çıkıyor ki hiçbir mantığı kalmıyor.
evet işte, katsayılar negatif çıkıyor mesela metrekare artınca fiyat düşüyor diyor, o zaman modelin ne işe yaradığını anlayamıyorsun. sadece tahmin ediyor ama neden o tahmini yaptığını açıklayamıyor.
ya katsayılar saçma çıkınca modeli kullanmaya çalışıyorsun sonra yeni veriye uyguladığında tamamen farklı sonuç çıkıyor.
çoklu bağlantı falan diyorlar ya işte, modeli overfit ediyor aslında.