R² Aldatıcı Olabilir
Regresyon modelini değerlendirirken çoğu araştırmacı R²'ye bakıp durur. R² = .72 görünce "iyi model" kararı verilir. Ancak bu yaklaşım kritik bir soruyu yanıtsız bırakır: model eğitildiği veriler dışında ne kadar başarılı tahmin yapar?
Bu sorun aşırı uyum (overfitting) olarak bilinir. Model eğitim verisindeki gürültüyü de öğrenir ve yeni gözlemlerle karşılaştığında başarısız olur. Akademik araştırmalarda, özellikle öngörü odaklı çalışmalarda, model performansı çapraz doğrulama (cross-validation) ile değerlendirilmelidir.
Tahmin ve Kestirim Arasındaki Fark
Önce kavramları netleştirelim. Doğrusal model y_i = β₀ + β₁x_i + ε_i ile elde edilen LSE tahminleri β̂₀ ve β₁ kullanıldığında:
- Tahmin (Prediction): x₀ değeri veri aralığı içinde kalıyorsa (x_min ≤ x₀ ≤ x_max), ŷ₀ = β̂₀ + β̂₁x₀ bir tahmin değeridir.
- Kestirim (Forecasting): x₀ değeri veri aralığı dışındaysa (x₀ < x_min veya x₀ > x_max), aynı formül bir kestirim (öngörü) üretir.
Kestirimin güvenilirliği tahmine göre çok daha düşüktür ve bu ayrım yöntem bölümünde mutlaka belirtilmelidir.
Çapraz Doğrulama: Eğitim / Doğrulama Ayrımı
Veri seti iki alt kümeye bölünür:
- Alt küme 1 (Eğitim): n₁ gözlem — model bu veriyle kurulur. Kural: n₁ verinin %60–80'i.
- Alt küme 2 (Doğrulama): n₂ gözlem — tahmin başarısı bu veriyle ölçülür.
set.seed(42) # tekrarlanabilirlik için
n <- nrow(veri)
n1 <- round(0.75 * n) # %75 eğitim
indeks <- sample(1:n, n1)
egitim <- veri[indeks, ]
dogrulama <- veri[-indeks, ]
# Model yalnızca eğitim verisiyle kur
model_egitim <- lm(y ~ x1 + x2 + x3, data = egitim)Percent Forecast Error (PFE)
Eğitim modelini doğrulama setine uygulayıp Percent Forecast Error (PFE) hesaplayın:
: mükemmel tahmin. PFE küçüldükçe model daha doğru.
# Doğrulama setinde tahmin
y_gercek <- dogrulama$y
y_tahmin <- predict(model_egitim, newdata = dogrulama)
# PFE hesaplama
PFE <- 100 * sqrt(
sum((y_gercek - y_tahmin)^2) / sum(y_gercek^2)
)
cat("PFE =", round(PFE, 3), "%")
# PFE yaklaşık 0 ise doğru tahminModel Uyum Testi: Doğru Tahmin midir?
PFE tek başına yeterli değildir. Tahmin doğruluğunu istatistiksel olarak sınamak için doğrulama setinde aşağıdaki modeli kurun:
y_{i[2]} = b₀ + b₁ŷ_{i[2]} + e_i
Mükemmel tahmin ve anlamına gelir. İki hipotez sınanır:
# Uyum modeli
uyum_modeli <- lm(y_gercek ~ y_tahmin)
summary(uyum_modeli)
# H00: b0 = 0 testi
# (intercept'in t testi p > .05 ise kabul)
# H01: b1 = 1 testi
library(car)
linearHypothesis(uyum_modeli, "y_tahmin = 1")
# p > .05 → H01 kabul → b1 = 1 → Doğru tahminHer iki hipotez de kabul edilirse model doğru tahmin yapmaktadır.
k-Katlı Çapraz Doğrulama
Tek bir eğitim/doğrulama bölünmesi örneklem seçimine bağımlıdır. Daha kararlı tahmin için k-katlı çapraz doğrulama kullanılır: veri k eşit parçaya bölünür; her seferinde k-1 parça eğitimde, kalan 1 parça doğrulamada kullanılır:
library(caret)
# 10-katlı çapraz doğrulama
kontrol <- trainControl(method = "cv", number = 10)
model_cv <- train(
y ~ x1 + x2 + x3,
data = veri,
method = "lm",
trControl = kontrol
)
# Ortalama RMSE ve R² 10 katlama üzerinden
print(model_cv$results)Model Karşılaştırması
Birden fazla model varsa çapraz doğrulama RMSE veya MAE ile karşılaştırın — eğitim R²'si değil:
# Model 1: Tüm değişkenler
m1 <- train(y ~ x1 + x2 + x3 + x4, data = veri,
method = "lm", trControl = kontrol)
# Model 2: Yalnızca teorik açıdan gerekçeli değişkenler
m2 <- train(y ~ x1 + x2, data = veri,
method = "lm", trControl = kontrol)
# Karşılaştırma
resamps <- resamples(list(Tam = m1, Kismi = m2))
summary(resamps)
dotplot(resamps, metric = "RMSE")Daha düşük çapraz doğrulama RMSE'si genelleştirme açısından daha iyi modeli gösterir. Bununla birlikte teorik gerekçe her zaman önceliklidir: yalnızca RMSE düşük diye anlamsız değişkenler modele eklenmemelidir.
Yöntem Bölümünde Raporlama
"Model tahmini yeteneği değerlendirmek amacıyla veri seti eğitim (%75, n = 105) ve doğrulama (%25, n = 35) alt kümelerine ayrılmıştır. Eğitim setiyle kurulan model doğrulama setine uygulanmış; Percent Forecast Error (PFE = 4.2%) ve uyum modeli istatistiği (H00: t = 0.43, p = .67; H01: t = 0.81, p = .42) ile modelin doğru tahmin ürettiği doğrulanmıştır. Kararlılık denetimi olarak 10-katlı çapraz doğrulama da uygulanmış (RMSE = 6.14, R² = .68) ve tutarlı sonuçlar elde edilmiştir."
Kaynaklar
- James, G., Witten, D., Hastie, T., & Tibshirani, R. (2021). An Introduction to Statistical Learning (2nd ed.). Springer.
- Kuhn, M., & Johnson, K. (2013). Applied Predictive Modeling. Springer.
- Arlot, S., & Celisse, A. (2010). A survey of cross-validation procedures. Statistics Surveys, 4, 40–79.
Bu analizi tezinizde kullanmakta zorlanıyor musunuz?
Veri setinizi paylaşın, teorik gerekçesiyle birlikte APA 7 formatında analiz edip raporlayalım.