Regresyon Analizinin Temel Amaçları: Açıklama, Tahmin ve Karar Verme

Regresyon analizi, istatistiksel modellemenin temel taşlarından biridir ve temel olarak üç ana amaca hizmet eder:

Açıklamak: Değişkenler Arasındaki İlişkiyi Anlamak

Regresyonun ilk ve en temel amacı, değişkenler arasındaki mevcut ilişkiyi matematiksel olarak modelleyerek “neden?” sorusuna cevap aramaktır. Geçmişte veya mevcut durumda elimizdeki veriye bakarak, bağımlı bir değişkenin (sonuç) hangi bağımsız değişkenlerden (sebep/faktör) ve ne yönde etkilendiğini anlamaya çalışırız.

  • İlişkinin Yönü ve Büyüklüğü: Model, her bir faktörün sonuç üzerindeki etkisinin pozitif mi (biri artarken diğeri de artıyor) yoksa negatif mi (biri artarken diğeri azalıyor) olduğunu ortaya koyar. Sadece yönü değil, aynı zamanda bu etkinin ne kadar güçlü olduğunu da katsayılar (coefficients) aracılığıyla ölçer.

  • Örnek (Enflasyon Analizi): Bir ülkenin enflasyon oranını (bağımlı değişken) açıklamaya çalıştığımızı düşünelim. Modele işsizlik oranları, ihracat rakamları veya döviz kurundaki dalgalanmalar gibi faktörleri (bağımsız değişkenler) dahil ederiz. Regresyon analizi sonucunda, bu faktörlerden hangisinin enflasyonu istatistiksel olarak anlamlı bir şekilde etkilediğini, hangisinin etkisinin daha büyük olduğunu ve bu etkinin yönünü (artırıyor mu, azaltıyor mu) net bir şekilde görebiliriz. Bu sayede geçmişteki enflasyon hareketlerinin ardındaki temel dinamikleri açıklamış oluruz.

Tahmin Etmek (Prediction): Veri Setinde Olmayan Durumlar İçin Öngörüde Bulunmak

Regresyonun en güçlü ve pratik kullanım alanlarından biri, kurulan matematiksel modeli kullanarak elimizde verisi bulunmayan yeni durumlar için öngörüler (tahminler) üretmektir. Model, değişkenler arasındaki ilişkiyi bir denklem (örneğin, Y = β₀ + β₁X₁ + ... + ε) olarak formüle ettiği için, bu denkleme yeni değerler koyarak sonucu tahmin edebiliriz.

  • Boşlukları Doldurma: Model, mevcut veri noktaları arasındaki boşlukları doldurmamızı sağlar (interpolasyon).

  • Geleceği Öngörme: Model, mevcut veri aralığının dışındaki durumlar için de öngörüde bulunabilir (ekstrapolasyon).

  • Örnek (Emlak Fiyatları): Ev fiyatı örneği bu durumu mükemmel bir şekilde açıklamaktadır. Elimizde 100 m² ve 200 m² gibi farklı büyüklüklerdeki evlerin fiyatlarını içeren bir veri seti olduğunu varsayalım. Bu veriyi kullanarak Fiyat = f(Metrekare) şeklinde bir regresyon modeli kurarız.

    • Soru: Peki, veri setimizde hiç olmayan 125 m² veya 350 m²’lik bir evin ortalama fiyatı ne olmalıdır?

    • Cevap: Kurduğumuz regresyon denkleminde metrekare değişkeninin yerine 125 veya 350 değerini koyarak bu evlerin piyasadaki beklenen ortalama fiyatını kolayca tahmin edebiliriz. Bu, bir emlak geliştiricisinin yeni bir proje için fiyat belirlemesine veya bir alıcının adil bir teklif sunmasına yardımcı olur.

Karar Vermek: Bilgiye Dayalı Stratejiler Geliştirmek

Açıklama ve tahmin yetenekleri, nihayetinde bizi en önemli amaca, yani daha iyi ve veri odaklı kararlar almaya götürür. Regresyon, hangi faktörlerin daha önemli olduğunu ve hangilerine müdahale etmenin sonucu ne yönde değiştireceğini göstererek stratejik planlama için somut bir zemin hazırlar.

  • Kaynakların Önceliklendirilmesi: Model, hangi değişkenin sonuç üzerinde en büyük etkiye sahip olduğunu gösterir. Bu sayede kısıtlı kaynaklarımızı (zaman, para, insan gücü) en etkili olacak alana yönlendirebiliriz.

  • Politika ve Strateji Geliştirme: Bir faktördeki bir birimlik değişimin sonuçta ne kadarlık bir değişim yarattığını bilmek, politika yapıcılar için kritik öneme sahiptir.

  • Örnek (Ekonomi Politikası): Enflasyon örneğine geri dönersek; regresyon modeli bize döviz kurundaki %1’lik bir artışın enflasyonu, işsizlik oranındaki %1’lik bir düşüşten daha fazla etkilediğini gösteriyorsa, ekonomi yönetimi enflasyonu kontrol altına almak için öncelikli olarak döviz kurunu dengeleyici politikalara (örneğin faiz politikalarını değiştirerek) odaklanma kararı alabilir. Regresyon, “eğer faizleri X kadar artırırsak, enflasyonun ortalama Y kadar düşmesini bekleyebiliriz” gibi senaryo analizleri yapma imkânı tanır ve bu da karar verme sürecini reaktif olmaktan proaktif olmaya taşır.

Özetle:

Regresyon analizi, iki veya daha fazla değişken arasındaki ilişkinin gücünü ve yönünü ölçmenin yanı sıra, bir değişkeni değiştirdiğimizde diğerinin bundan nasıl etkileneceğini tahmin etmeye (prediction) yarar.

  • Bağımlı Değişken (Y): Etkilenen, tahmin etmeye çalıştığımız sonuç faktörüdür.

  • Bağımsız Değişken (X): Tamamen bizim kontrolümüzde olan, bağımlı değişkeni etkileyen veya açıklayan sebep faktörleridir.

  • Korelasyondan Farkı: Korelasyon sadece iki değişken arasındaki doğrusal ilişkinin gücünü ve yönünü verir (nedensellik veya tahmin sunmaz). Regresyon ise bu ilişkinin ötesine geçerek bir değişken üzerinden diğerini tahmin etmemizi (prediction) sağlar.

  • Hata Terimi (Epsilon / e): Regresyon modelleri gerçek dünyayı %100 doğrulukla tahmin edemez. Her gözlem arasındaki bireysel, olasılıksal (stokastik) farklılıkları hesaba katmak için modele mutlaka bir hata payı (error/residual) eklenir.

Model Değerlendirmenin Önemi: Varsayımlar Neden Hayatidir?

Bir regresyon modeli kurmak, analiz sürecinin sadece ilk adımıdır. Modelin ürettiği sonuçların (katsayılar, p-değerleri, tahminler) güvenilir ve yorumlanabilir olması, modelin temel aldığı istatistiksel varsayımların karşılanıp karşılanmadığına bağlıdır. Model değerlendirmesi, tam da bu varsayımların geçerliliğini kontrol etme sürecidir ve analizlerimizin temelini oluşturur.

Temel Prensip: Sonuçların Geçerliliği Varsayımlara Dayanır

Regresyon analizinde kullandığımız tüm istatistiksel araçlar – katsayı tahminleri, güven aralıkları ve bir değişkenin anlamlı olup olmadığını test ettiğimiz hipotez testleri – modelin doğru kurulduğu ve temel varsayımları sağladığı ön kabulüyle çalışır. Bu, bir binanın temelinin sağlam olmasına benzer. Eğer temel (varsayımlar) çürükse, üzerine inşa edilen yapı (sonuçlar ve yorumlar) her an çökebilir.

Gauss-Markov Teoremi, bu durumu teknik olarak çerçeveler. Bu teorem, belirli koşullar sağlandığında, En Küçük Kareler (Ordinary Least Squares - OLS) yönteminin en iyi, doğrusal ve sapmasız tahminci (Best Linear Unbiased Estimator - BLUE) olduğunu belirtir. İşte bu “belirli koşullar”, bizim test etmemiz gereken model varsayımlarıdır.

Gauss-Markov Varsayımları: Modelin Temel Direkleri

Bu kritik varsayımlar, modelin hata terimleri (residuals) üzerine odaklanır:

  1. Hata Terimlerinin Ortalamasının Sıfır Olması: Model, sistematik bir hata yapmamalıdır. Hatalar (artıklar) ortalamada sıfır olmalıdır.

  2. Sabit Varyans (Homoscedasticity): Hata terimlerinin varyansı, bağımsız değişkenlerin tüm seviyeleri için sabit olmalıdır. Yani, modelin tahmin hatası, küçük veya büyük X değerleri için sistematik olarak artıp azalmamalıdır. Bu varsayımın ihlali (Heteroscedasticity), standart hataların yanlış hesaplanmasına ve dolayısıyla hipotez testlerinin güvenilmez olmasına yol açar.

  3. Hataların Bağımsızlığı (Otokorelasyon Olmaması): Gözlemlerin hata terimleri arasında bir ilişki olmamalıdır. Bir gözlemin hatası, bir sonraki gözlemin hatasını tahmin etmemelidir. Bu varsayım özellikle zaman serisi verilerinde kritiktir ve ihlali, katsayıların standart hatalarını ciddi şekilde küçülterek aslında anlamsız olan değişkenlerin anlamlı gibi görünmesine neden olabilir.

  4. Hata Terimlerinin Normalliği: Hipotez testlerinin (t-testi, F-testi) ve güven aralıklarının geçerli olabilmesi için, hata terimlerinin normal dağıldığı varsayılır. Bu, hataların çoğunlukla sıfır etrafında toplandığı ve aşırı büyük (uç) hataların daha nadir olduğu anlamına gelir.

Eğer bu varsayımlardan biri veya birkaçı ihlal edilirse, kullandığımız formüller ve yöntemler geçersiz hale gelir. Çıkan sonuçlara “ne kadar güveneceğimiz” sorusu ortaya çıkar ve analizlerimizin bilimsel geçerliliği sorgulanır hale gelir.

İyi Haber: Varsayımların Etkisi ve Esnekliği

Neyse ki, her varsayımın ihlali aynı derecede yıkıcı değildir. Bazı koşullar diğerlerinden daha “affedicidir”:

  • Normallik Varsayımı: Özellikle büyük örneklem boyutlarında (genellikle n > 30 veya 50), Merkezi Limit Teoremi sayesinde normallik varsayımının hafif ihlalleri tolere edilebilir. Hipotez testleri bu durumda dahi oldukça “sağlam” (robust) kalabilir.

  • Sabit Varyans ve Bağımsızlık: Bu iki varsayımın ihlali ise genellikle çok daha ciddi sonuçlar doğurur ve hipotez testlerini doğrudan geçersiz kılabilir. Bu nedenle, bu varsayımların kontrolü çok daha kritiktir.

Özetle, model değerlendirmesi bir angarya değil, analizimizin güvenilirliğini ve kalitesini garanti altına alan bir sigorta poliçesidir. Bu süreç, bize “ne zaman endişelenmemiz” (örneğin, otokorelasyon tespit ettiğimizde) ve “ne zaman rahat olabileceğimiz” (örneğin, büyük bir veri setinde normallikten hafif sapmalar gördüğümüzde) konusunda yol gösterir.

Keşifsel Veri Analizi (EDA) ve Veri Ön İşleme

Gerçek hayatta veriler her zaman modele girmeye hazır, kusursuz yapıda olmazlar. Bir regresyon modeline başlamadan önce verinin yapısını anlamak şarttır.

R Uygulama ve Kontrol Adımları:

  1. Değişken Tiplerini Kontrol Etme: R ortamında veri setine glimpse(data) kodu ile bakılarak karakter (character) formatında gözüken kategorik değişkenler (örn: Cinsiyet, Sigara kullanımı) factor tipine dönüştürülmelidir.

  2. Özet İstatistikler: Minimum ve maksimum değerlere bakılarak imkansız veriler (örn: boyu 1 metreden kısa yetişkin, negatif değerler) veya aykırı değerler tespit edilir. Ortalama (mean) ve medyan (median) değerlerinin birbirine yakın olması, simetrik bir dağılıma (normalliğe) işaret eder.

  3. Fonksiyonel Bağımlılık İçeren Değişkenleri Çıkarma: Eğer tahmin edilecek değişken BMI (Vücut Kitle İndeksi) ise, BMI’ı matematiksel olarak oluşturan “Boy” ve “Kilo” değişkenleri modele katılmamalıdır (veri sızıntısı ve çoklu bağlantı problemi yaratır).

  4. Serpme Grafiği Matrisi (Scatterplot Matrix) ve Korelasyonlar: Sürekli değişkenlerin hem birbiriyle (bağımsızlar arası) hem de bağımlı değişkenle ilişkisini, dağılımlarını (histogram) görmek için kullanılır. Burada X ve Y arasında pozitif/negatif doğrusal ilişki aranırken, X’ler (bağımsız değişkenler) arasında sıfıra yakın (ilişkisiz) bir korelasyon olması arzulanır.

  5. Keman Grafikleri (Violin Plots): Kategorik değişkenlerin (örn: cinsiyet) bağımlı değişken üzerindeki etkisini mod ve yoğunluk bilgisiyle birlikte kutu grafiklerinin (box plot) üzerine çizerek çok daha detaylı bilgi sunar.

Yukarıdaki adımlara kodlarımızla bakalım.

library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.1     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   4.0.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(corrplot)
## corrplot 0.95 loaded
library(GGally)
library(caret)
## Loading required package: lattice
## 
## Attaching package: 'caret'
## 
## The following object is masked from 'package:purrr':
## 
##     lift
library(gridExtra)
## 
## Attaching package: 'gridExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     combine
library(car)
## Warning: package 'car' was built under R version 4.5.2
## Loading required package: carData
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
## 
## The following object is masked from 'package:purrr':
## 
##     some
# Veriyi İçeriye Alalım
# Dikkat BMI.csv dosyası çalışma klasöründe olsun lütfen
BMI <-read.csv("BMI.csv")
# --- VERİ ÖN İNCELEME VE DÜZENLEME ---

# Veri tiplerini kontrol edelim
print("Veri Tipleri:")
## [1] "Veri Tipleri:"
glimpse(BMI)
## Rows: 500
## Columns: 8
## $ BMI      <dbl> 101.27474, 68.00857, 117.89809, 104.82903, 144.28930, 173.844…
## $ Boy      <dbl> 1.854110, 1.711108, 1.720552, 1.761500, 1.757779, 1.599092, 1…
## $ Kilo     <dbl> 88.90598, 79.42806, 39.14946, 105.87034, 63.27185, 57.18007, …
## $ Yas      <int> 30, 42, 46, 33, 41, 44, 71, 58, 19, 67, 26, 55, 72, 21, 24, 3…
## $ Kalori   <dbl> 2638.895, 1904.826, 2409.782, 2060.690, 2385.080, 3258.972, 3…
## $ Egzersiz <dbl> 9.37456997, 9.90530299, 4.58106593, 5.44726539, 3.81398207, 7…
## $ Cinsiyet <chr> "E", "E", "E", "E", "K", "K", "K", "K", "E", "K", "E", "E", "…
## $ Sigara   <chr> "Var", "Yok", "Yok", "Yok", "Yok", "Var", "Yok", "Yok", "Var"…
BMI$Cinsiyet <- as.factor(BMI$Cinsiyet) # Faktör veri tipine dönüştürdük.
BMI$Sigara <- as.factor(BMI$Sigara)     # Faktör veri tipine dönüştürdük.

# Özet ve Eksik Veri Kontrolü
print("Özet İstatistikler:")
## [1] "Özet İstatistikler:"
summary(BMI)
##       BMI              Boy             Kilo             Yas       
##  Min.   : 21.95   Min.   :1.429   Min.   : 35.31   Min.   :18.00  
##  1st Qu.:107.35   1st Qu.:1.677   1st Qu.: 69.71   1st Qu.:32.00  
##  Median :132.43   Median :1.747   Median : 80.18   Median :46.00  
##  Mean   :132.84   Mean   :1.748   Mean   : 79.46   Mean   :46.53  
##  3rd Qu.:158.24   3rd Qu.:1.820   3rd Qu.: 89.03   3rd Qu.:61.00  
##  Max.   :245.74   Max.   :2.053   Max.   :131.41   Max.   :75.00  
##      Kalori          Egzersiz        Cinsiyet Sigara   
##  Min.   : 998.6   Min.   : 0.03278   E:238    Var:245  
##  1st Qu.:2100.9   1st Qu.: 3.00974   K:262    Yok:255  
##  Median :2446.5   Median : 5.99054                     
##  Mean   :2427.0   Mean   : 6.02936                     
##  3rd Qu.:2773.4   3rd Qu.: 8.98557                     
##  Max.   :3985.1   Max.   :11.99540

Hocamızın Yorumu:

1. Sayısal Değişkenlerin Analizi

summary() fonksiyonu sayısal değişkenler için minimum, maksimum, çeyrekler (1st Qu., 3rd Qu.), medyan ve ortalama (mean) değerlerini sunar. Bu istatistikler bize birkaç temel konuda kritik bilgiler verir:

Veri Aralığı ve Mantıksal Tutarlılık (Sanity Check):

Her değişkenin Minimum (Min.) ve Maksimum (Max.) değerleri kontrol edilmelidir. Bu, veri giriş hatalarını veya imkansız değerleri tespit etmenin en hızlı yoludur.

Örnek BMI: Değerlerin 21.95 ile 245.74 arasında değişmesi, veri setinin hem normal kilolu hem de ciddi obeziteye sahip bireyleri içerdiğini gösterir. Bu geniş aralık, modelleme sırasında dikkate alınmalıdır.

Örnek Kilo ve Boy: Kilo değişkeninde negatif bir değer olmaması gerekir. Çıktıda minimum 35.31 kg görülmesi mantıklıdır. Boy değişkenindeki 1.429 gibi değerler, bu değişkenin santimetre değil, metre cinsinden tutulduğunu gösterir. Bu gibi birim kontrolleri, katsayıları doğru yorumlamak için hayatidir.

Hocamızın Uyarısı: Analize başlamadan önce her zaman bu mantıksal kontroller yapılmalıdır. Negatif bir yaş, 250 cm’den uzun bir boy gibi gerçek dünyada olamayacak değerler, veri setinde kirlilik olduğunun ve temizlenmesi gerektiğinin bir işaretidir.

Merkezi Eğilim ve Dağılımın Simetrisi:

Bir değişkenin dağılımı hakkında ilk ipucunu Ortalama (Mean) ve Medyan (Median) değerlerini karşılaştırarak elde ederiz.

Örnek BMI: Ortalama (132.84) ve Medyan (132.43) değerlerinin birbirine çok yakın olması, BMI değişkeninin dağılımının büyük olasılıkla simetrik olduğuna işaret eder. Bu durum, regresyonun normallik varsayımı için olumlu bir ilk bulgudur.

Örnek Yas: Ortalama (46.53) ve Medyan (46.00) yine birbirine oldukça yakındır ve simetrik bir dağılıma işaret etmektedir. Eğer ortalama medyandan belirgin şekilde büyük olsaydı, bu sağa çarpık (pozitif skewness) bir dağılımın göstergesi olurdu.

2. Kategorik Değişkenlerin Analizi

summary() fonksiyonu, factor veya character tipindeki kategorik değişkenler için her bir kategorideki gözlem sayısını listeler.

Grup Büyüklükleri ve Denge Durumu:

Örnek Cinsiyet ve Sigara: Cinsiyet değişkeninde Kadın (K:262) ve Erkek (E:238) sayıları, Sigara değişkeninde ise sigara içen (Var:245) ve içmeyen (Yok:255) kişi sayıları birbirine oldukça yakındır. Bu duruma dengeli (balanced) veri seti denir.

Hocamızın Uyarısı: Kategorik değişkenlerdeki bu denge, modelin güvenilirliği için önemlidir. Eğer gruplar arasında ciddi bir dengesizlik (imbalance) olsaydı, örneğin veri setinin %90’ı sigara içenlerden oluşsaydı, modelin sonuçları bu çoğunluk gruptan aşırı etkilenebilirdi. Bu durum, karıştırıcı etki (confounding effect) olarak bilinen yanlılığa yol açabilir. Model, bir sonucun nedenini ararken, aslında sadece veri setindeki orantısızlıktan kaynaklanan bir ilişkiyi “anlamlı” bulabilirdi. Bu nedenle, özellikle veri toplama aşamasında, grupların mümkün olduğunca eşit sayıda temsil edilmesine özen gösterilmesi tavsiye edilir.

Özetle, bu summary() çıktısı, regresyon modellemesi öncesinde yapılması gereken temel bir “sağlık kontrolü” niteliğindedir. Bu basit komut sayesinde;

  • Veri setinde bariz hataların veya mantıksız değerlerin olmadığını teyit ettik.
  • Sayısal değişkenlerin dağılımlarının simetrik olduğuna dair ilk kanıtları gördük.
  • Kategorik değişkenlerin dengeli dağıldığını ve modelde yanlılık yaratma riskinin düşük olduğunu anladık.

Bu ön kontroller, kurulacak modelin daha sağlam temellere oturmasını sağlar.

print(paste("Eksik Veri Sayısı:", sum(is.na(df))))
## Warning in is.na(df): is.na() applied to non-(list or vector) of type 'closure'
## [1] "Eksik Veri Sayısı: 0"

Veri setimizde eksik bir değer olmadığı görülür. Şimdi BMI’nın histogram grafiğine bakalım.

# --- GÖRSELLEŞTİRME (EDA) ---

# BMI için Histogram ve Normal QQ Plot (Normallik varsayımı kontrolü)
par(mfrow = c(1, 2))
hist(BMI$BMI, main = "BMI Histogramı", col = "steelblue", border = "white")
qqnorm(BMI$BMI); qqline(BMI$BMI, col = "red")

par(mfrow = c(1, 1))

Hocamızın Yorumu:

1. BMI Histogramı Analizi

Amaç: Histogram, bir değişkenin veri dağılımının frekansını (sıklığını) görselleştirir. Dağılımın şekli, merkezi eğilimi ve yayılımı hakkında hızlı bir fikir verir.

Yorum:

Grafikteki BMI histogramı, neredeyse mükemmel bir çan eğrisi (bell curve) formundadır.

Dağılım tek modludur (unimodal), yani tek bir tepe noktası vardır ve bu tepe noktası 125-150 aralığında yoğunlaşmıştır.

Yapı, merkez etrafında simetriktir. Bu durum, summary() çıktısında gördüğümüz ortalama ve medyan değerlerinin birbirine çok yakın olması bulgusunu görsel olarak teyit etmektedir.

Sonuç: Histogram, BMI değişkeninin normal dağılıma oldukça yakın olduğunun güçlü bir ilk görsel kanıtıdır.

2. Normal Q-Q Plot (Quantile-Quantile) Analizi

Amaç: Normal Q-Q grafiği, bir değişkenin dağılımının normal dağılıma ne kadar uyduğunu test etmek için histogramdan daha hassas ve teknik bir yöntemdir. Bu grafik, gözlemlenen veri kuantillerini (Sample Quantiles) ile teorik bir normal dağılımdan beklenen kuantilleri (Theoretical Quantiles) karşılaştırır.

Yorum:

Temel Prensip: Eğer incelenen değişken (BMI) gerçekten normal bir dağılımdan geliyorsa, gözlemlenen ve teorik kuantiller birebir eşleşmelidir. Bu durumda, grafikteki noktaların tamamı 45 derecelik düz bir referans çizgisi (kırmızı çizgi) üzerinde veya çok yakınında yer almalıdır.

Gözlem: Grafikteki noktaların, dağılımın en uç noktaları (kuyrukları) dahil olmak üzere, kırmızı referans çizgisine neredeyse kusursuz bir şekilde hizalandığı görülmektedir. Bu, BMI verisinin normal dağılıma olağanüstü derecede iyi uyduğunu gösterir.

Hocamızın Uyarısı: Gerçek dünya verilerinde bu kadar mükemmel bir sonuç nadiren görülür. Genellikle kuyruklarda hafif sapmalar olabilir. Eğer noktalar çizgiden sistematik olarak saparsa (örneğin U, N veya S şekli oluşturursa), bu normallik varsayımının ihlal edildiğine işaret eder.

S-şekli: Genellikle dağılımın kuyruklarının normal dağılımdan daha “kalın” (heavy-tailed) veya “ince” (light-tailed) olduğunu gösterir.

U veya N-şekli: Genellikle dağılımda çarpıklık (skewness) olduğunun bir işaretidir.

Genel Değerlendirme ve Sonuç

Her iki görsel analiz de birbirini desteklemektedir: BMI değişkeni, normal dağılıma çok yakın bir yapı sergilemektedir. Hocamızın “bu veriyi ben simüle ettim” açıklaması, grafiklerin neden bu kadar “ders kitabı gibi” mükemmel çıktığını açıklamaktadır.

Teknik Not: Burada incelenen şey bağımlı değişkenin (BMI) kendi normalliğidir. Bu, modelleme için iyi bir başlangıç noktası olsa da, lineer regresyonun asıl kritik varsayımı, model kurulduktan sonra elde edilecek olan hata terimlerinin (residuals) normal dağılmasıdır. Yine de, bağımlı değişkenin kendisinin normal dağılması, genellikle hata terimlerinin de normal dağılma olasılığını artırır. Ancak garantisi değildir.

Şimdi sayısal değişkenlerimizin veri seti içindeki ilişkilerine bakalım.

ggpairs(BMI[, 1:6]) +

  theme_minimal() +

  theme(

    axis.text = element_text(size = 7),

    axis.text.x = element_text(angle = 45, hjust = 1),

    strip.text = element_text(size = 10)

  )

Serpme Grafiği Matrisi (Pairs Plot) ile İlişkilerin İncelenmesi

Bu görsel, regresyon modellemesi öncesinde değişkenler arasındaki ilişkileri çok yönlü bir şekilde incelemek için kullanılan en güçlü keşifsel analiz araçlarından biri olan Serpme Grafiği Matrisi’ni (Scatterplot Matrix veya Pairs Plot) göstermektedir. Bu grafik, tek bir bakışta hem değişkenlerin kendi iç dağılımlarını, hem bağımlı ve bağımsız değişkenler arasındaki ilişkileri, hem de bağımsız değişkenlerin kendi aralarındaki ilişkileri (çoklu doğrusal bağlantı kontrolü için) analiz etme imkânı sunar.

Grafiğin Yapısı ve Bileşenleri

Bu matris üç ana bölümden oluşur:

  • Diyagonal (Köşegen): Her bir değişkenin kendi yoğunluk grafiğini (density plot) içerir. Bu, değişkenin dağılımı (normal, çarpık, çift modlu vb.) hakkında hızlı bir görsel bilgi sağlar. Örneğin BMI, Boy, Kilo ve Egzersiz değişkenlerinin yaklaşık olarak normal (çan eğrisi şeklinde) dağıldığını, Yas değişkeninin ise daha düz (uniform benzeri) bir dağılıma sahip olduğunu görebiliriz.

  • Alt Üçgen (Diyagonalin Altı): Değişken çiftlerinin serpme grafiklerini (scatterplots) gösterir. Bu, iki değişken arasındaki ilişkinin görsel bir temsilidir. İlişkinin doğrusal olup olmadığı, yönü (pozitif/negatif) ve gücü hakkında ilk ipuçlarını verir.

  • Üst Üçgen (Diyagonalin Üstü): Alt üçgendeki serpme grafiklerinin sayısal özetini sunar. Burada her değişken çifti için Pearson korelasyon katsayısı (Corr:) ve bu katsayının istatistiksel anlamlılığı (yıldızlarla belirtilir: * p<0.05, ** p<0.01, *** p<0.001) yer alır.

Bağımlı Değişken (BMI) ile İlişkilerin Analizi

Analizin ana odak noktası, bağımlı değişken olan BMI’ın diğer faktörlerle olan ilişkisidir. Bunu BMI satırını veya sütununu inceleyerek yapabiliriz:

  • Kalori: BMI ile Kalori arasında güçlü, pozitif ve doğrusal bir ilişki olduğu açıkça görülmektedir. Serpme grafiği (sol alttan beşinci satır, dördüncü sütun), kalori arttıkça BMI’nin de belirgin bir şekilde arttığı yukarı yönlü bir trend göstermektedir. Bu görsel bulgu, Corr: 0.691*** olan yüksek ve istatistiksel olarak çok anlamlı korelasyon katsayısı ile teyit edilmektedir. Bu, Kalori’nin model için çok önemli bir açıklayıcı değişken olacağını gösterir.

  • Egzersiz: BMI ile Egzersiz arasında orta-güçlü, negatif ve doğrusal bir ilişki vardır. Serpme grafiği, egzersiz miktarı arttıkça BMI’nin düştüğü aşağı yönlü bir trend sergilemektedir. Bu durum, Corr: -0.536*** olan negatif ve istatistiksel olarak yine çok anlamlı korelasyon katsayısı ile desteklenmektedir. Egzersiz de model için kilit bir değişken adayıdır.

  • Yaş: BMI ile Yaş arasında zayıf, pozitif bir ilişki gözlemlenmektedir. Serpme grafiğindeki noktalar daha dağınık olsa da hafif yukarı yönlü bir eğilim sezilmektedir. Corr: 0.253*** olan pozitif ve anlamlı katsayı da bu zayıf ilişkiyi doğrular.

  • Boy ve Kilo: BMI zaten teorik olarak boy ve kilodan türetilen bir değişkendir. Bu nedenle bu değişkenleri BMI’ı tahmin eden bir modele dahil etmek, veri sızıntısına (data leakage) ve mükemmele yakın çoklu doğrusal bağlantıya yol açacağı için genellikle risklidir ve kaçınılmalıdır. Grafikte bu değişkenlerle net bir lineer ilişki görülmemesi, simüle edilmiş verinin bir özelliği olabilir.

Bağımsız Değişkenler Arasındaki İlişkiler (Çoklu Doğrusal Bağlantı Kontrolü)

Regresyon modelinin güvenilirliği için en az bağımlı değişkenle olan ilişki kadar önemli olan bir diğer konu, bağımsız değişkenlerin kendi aralarındaki ilişkisidir. İdeal bir modelde, bağımsız değişkenler birbirleriyle ilişkisiz (düşük korelasyonlu) olmalıdır. Eğer aralarında yüksek korelasyon varsa, bu duruma Çoklu Doğrusal Bağlantı (Multicollinearity) denir ve model katsayılarının yorumlanmasını imkansız hale getirebilir.

  • Gözlem: Boy, Kilo, Yas, Kalori ve Egzersiz değişkenlerinin birbirleriyle olan ilişkilerine (örneğin Kalori-Yaş, Egzersiz-Kilo vb.) baktığımızda, serpme grafiklerinin büyük ölçüde yapısal olmayan, rastgele dağılmış nokta bulutları şeklinde olduğunu görüyoruz.

  • Sayısal Teyit: Üst üçgendeki korelasyon katsayıları da bunu doğrulamaktadır. Bağımsız değişkenler arasındaki korelasyonların tamamı sıfıra çok yakındır (örn: Kilo ve Yaş arası -0.003, Kalori ve Egzersiz arası 0.086).

  • Sonuç: Bu keşifsel analiz, modelimizde ciddi bir çoklu doğrusal bağlantı problemi beklemediğimizi göstermektedir. Bu, modelin sağlığı açısından çok olumlu bir bulgudur.

Korelasyon Matrisi ile Değişken İlişkilerinin Görsel Analizi

# Correlation Heat Map (Veri seti içindeki ilişkileri gözlemlemek için. 
# Bu görsel ile doğrusal olmayan ilişkiler varsa anlayamazsınız.)
cor_matrix <- cor(BMI[, 1:6])
corrplot(cor_matrix, method = "circle", type = "upper", addCoef.col = "darkgray")

Bu görsel, değişkenler arasındaki doğrusal ilişkilerin gücünü ve yönünü hızlı bir şekilde özetlemek için kullanılan bir korelasyon matrisinin (correlation matrix) grafiksel bir temsilidir. Özellikle makine öğrenmesi ve keşifsel veri analizi süreçlerinde sıkça kullanılan bu yöntem, modelde yer alacak potansiyel değişkenleri belirlemek ve bağımsız değişkenler arasındaki çoklu doğrusal bağlantı riskini önceden tespit etmek için son derece etkilidir.

Görselin Yorumlanması

Grafik, Pearson korelasyon katsayılarını (-1 ile +1 arasında değişen) hem renkler hem de daire boyutları ile görselleştirir:

  • Renk Skalası: Sağdaki renk çubuğunda görüldüğü gibi, koyu mavi renkler güçlü pozitif korelasyonu (değişkenler aynı yönde hareket eder, +1’e yakın), koyu kırmızı/turuncu renkler ise güçlü negatif korelasyonu (değişkenler zıt yönlerde hareket eder, -1’e yakın) temsil eder. Beyaz veya soluk renkler ise sıfıra yakın, yani zayıf veya önemsiz bir doğrusal ilişki olduğunu gösterir.

  • Dairelerin Boyutu: Dairenin boyutu, korelasyonun mutlak değeriyle orantılıdır. Yani, büyük daireler (renkten bağımsız olarak) güçlü bir ilişkiye, küçük daireler ise zayıf bir ilişkiye işaret eder.

  • Sayısal Değerler: Her dairenin içinde, o iki değişken arasındaki kesin korelasyon katsayısı yazmaktadır.

Bulguların Analizi

1. Bağımlı Değişken (BMI) ile İlişkiler:

  • Kalori: BMI ile en güçlü ilişki Kalori değişkenindedir. 0.69 değerine sahip koyu mavi ve büyük daire, aralarında güçlü ve pozitif bir doğrusal ilişki olduğunu gösterir. Bu, günlük kalori alımı arttıkça Vücut Kitle İndeksi’nin de artma eğiliminde olduğu anlamına gelir.

  • Egzersiz: BMI ile ikinci en güçlü ilişki Egzersiz değişkenindedir. -0.54 değerine sahip turuncu daire, orta güçte ve negatif bir doğrusal ilişkiyi ifade eder. Yani, egzersiz miktarı arttıkça Vücut Kitle İndeksi düşme eğilimindedir.

  • Yaş: Yaş ile BMI arasında 0.25’lik zayıf ve pozitif bir korelasyon vardır.

  • Boy ve Kilo: Boy (-0.06) ve Kilo (0.12) ile olan korelasyonlar sıfıra çok yakındır ve önemsizdir.

2. Bağımsız Değişkenler Arasındaki İlişkiler (Çoklu Doğrusal Bağlantı Kontrolü):

  • Grafiğin iç kısımları (bağımsız değişkenlerin kendi aralarındaki kesişimleri) incelendiğinde, tüm dairelerin çok küçük ve renklerinin soluk (beyaza yakın) olduğu görülmektedir. Sayısal değerler de (-0.02, 0.00, 0.09 vb.) sıfıra çok yakındır.

  • Sonuç: Bu durum, açıklayıcı değişkenler arasında anlamlı bir doğrusal ilişki olmadığını gösterir. Bu, regresyon modeli için son derece arzu edilen bir durumdur çünkü çoklu doğrusal bağlantı (multicollinearity) probleminin yaşanma olasılığının düşük olduğuna işaret eder.

Teknik Not ve Önemli Çıkarım

Korelasyon matrisi yalnızca doğrusal (lineer) ilişkileri ölçer. Eğer iki değişken arasında U-şekli gibi güçlü ancak doğrusal olmayan bir ilişki varsa, korelasyon katsayısı sıfıra yakın çıkabilir ve bu matriste gözden kaçabilir. Bu nedenle, korelasyon matrisi hızlı bir ön kontrol için harika bir araç olsa da, değişkenler arasındaki ilişkinin gerçek doğasını anlamak için bir önceki adımda incelenen serpme grafikleri (scatterplots) ile birlikte değerlendirilmesi kritik öneme sahiptir.

Kategorik Değişkenlerin Etkisinin Keman Grafikleri (Violin Plots) ile İncelenmesi

# Kategorik Değişkenler İçin Violin Plot
v1 <- ggplot(BMI, aes(x = Cinsiyet, y = BMI, fill = Cinsiyet)) + geom_violin() + theme_minimal()
v2 <- ggplot(BMI, aes(x = Sigara, y = BMI, fill = Sigara)) + geom_violin() + theme_minimal()
grid.arrange(v1, v2, ncol = 2)

Keşifsel veri analizi sürecinde, sayısal değişkenler arasındaki ilişkileri incelerken, kategorik değişkenlerin (örn: Cinsiyet, Sigara durumu) sürekli bir hedef değişken (örn: BMI) üzerindeki etkisini anlamak da kritik öneme sahiptir. Keman Grafikleri (Violin Plots), bu tür bir ilişkiyi analiz etmek için kullanılan son derece güçlü bir görselleştirme aracıdır.

Keman grafiği standart bir kutu grafiğini (box plot), bir yoğunluk grafiği (density plot) ile birleştirerek çok daha zengin bir bilgi sunar. Bu sayede sadece medyan ve çeyrekler gibi özet istatistikleri değil, aynı zamanda her bir kategorideki verinin tam dağılımını, yoğunluğunu ve mod (tepe noktası) sayısını da görebiliriz.

BMI’nin Cinsiyete Göre Dağılımı

  • Merkezi Eğilim (Ortalama/Medyan): Sol taraftaki grafikte, Kadın (K) grubuna ait kemanın en geniş kısmının (veri yoğunluğunun en fazla olduğu nokta), Erkek (E) grubuna göre dikey eksende bir miktar daha yukarıda konumlandığı görülmektedir. Bu, kadınların ortalama veya medyan BMI değerinin, erkeklerinkinden biraz daha yüksek olduğuna dair görsel bir ipucu sunar.

  • Yayılım ve Varyasyon: Kadın grubuna ait keman grafiği, erkeklere kıyasla dikey eksende daha fazla yayılım göstermektedir. Grafiğin hem alt hem de üst kuyrukları daha uzundur (özellikle 250 değerine kadar uzanan üst kuyruk). Bu durum, kadınlar arasındaki BMI değişkenliğinin (varyansının) erkeklere göre daha yüksek olduğuna, yani grupta hem çok düşük hem de çok yüksek BMI değerlerine sahip bireylerin bulunduğuna işaret eder.

  • Öncül Sonuç: Gözlemlenen hem merkezi eğilim hem de varyasyon farkları, Cinsiyet değişkeninin BMI’ı açıklamada potansiyel olarak anlamlı bir faktör olabileceğini düşündürmektedir.

BMI’nin Sigara İçme Durumuna Göre Dağılımı

  • Merkezi Eğilim (Ortalama/Medyan): Sağdaki grafikte, sigara içen (Var) ve içmeyen (Yok) grupların keman grafiklerinin en geniş kısımları dikey eksende hemen hemen aynı seviyededir. Bu, iki grubun ortalama veya medyan BMI değerlerinin birbirine çok yakın olduğu ve aralarında bu açıdan belirgin bir fark olmadığı anlamına gelir.

  • Yayılım ve Varyasyon: Grafikler incelendiğinde, sigara içen gruptaki varyasyonun (kemanın dikey uzunluğu) içmeyenlere göre bir miktar daha fazla olduğu görülebilir. Ancak bu fark, cinsiyet grupları arasındaki fark kadar belirgin değildir.

  • Öncül Sonuç: Ortalama değerlerde anlamlı bir fark olmaması, Sigara değişkeninin BMI’ı doğrudan etkileyen güçlü bir faktör olmayabileceğine dair önemli bir öncül kanıt sunar. Hocanın da belirttiği gibi, bu değişkeni regresyon modeline dahil ettiğimizde istatistiksel olarak anlamsız (p-değeri > 0.05) çıkma olasılığı yüksektir.

Bu keşifsel analiz, hangi değişkenlerin modele dahil edilmeye aday olduğunu ve hangilerinin muhtemelen etkisiz kalacağını öngörmemize yardımcı olarak model kurma sürecini daha verimli hale getirir.

Değişken Etkileşimlerinin Analizi: Cinsiyet ve Sigara Etkileşimi Grafiği

# Interaction Plot Örneği
interaction.plot(x.factor = BMI$Cinsiyet, trace.factor = BMI$Sigara, 
                 response = BMI$BMI, fun = mean, col = c("red", "blue"),
                 main = "Cinsiyet & Sigara Etkileşimi")

Regresyon modellemesinde, bağımsız değişkenlerin hedef değişken üzerindeki etkilerini ayrı ayrı (ana etkiler olarak) incelemenin yanı sıra, bu değişkenlerin birlikte özel bir etki yaratıp yaratmadığını da test etmek önemlidir. Bir etkileşim (interaction), bir bağımsız değişkenin hedef değişken üzerindeki etkisinin, başka bir bağımsız değişkenin seviyesine veya değerine göre farklılaşması durumudur. Bu görsel, Cinsiyet ve Sigara değişkenleri arasında böyle bir etkileşim olup olmadığını anlamak için kullanılan bir etkileşim grafiğidir (interaction plot).

Grafiğin Yorumlanması

  • Y Ekseni: Bağımlı değişkenin ortalamasını gösterir (mean of BMI).

  • X Ekseni: İncelenen ilk kategorik değişkeni temsil eder (Cinsiyet: E-Erkek, K-Kadın).

  • Çizgiler: İncelenen ikinci kategorik değişkenin farklı seviyelerini gösterir (Sigara: Kırmızı kesikli çizgi “Var”, Mavi düz çizgi “Yok”).

Bu grafik, her bir cinsiyet ve sigara durumu kombinasyonu için ortalama BMI değerini birleştirir.

Etkileşim Varlığı Nasıl Anlaşılır?

Bir etkileşimin varlığı görsel olarak çizgilerin paralel olmaması ile anlaşılır.

  • Etkileşim Yok (Paralel Çizgiler): Eğer çizgiler birbirine paralelse, bu durum bir değişkenin etkisinin diğer değişkenin seviyesinden bağımsız olduğu anlamına gelir. Yani, Cinsiyetin BMI üzerindeki etkisi (erkekten kadına geçişteki artış), sigara içenler ve içmeyenler için aynıdır.

  • Etkileşim Var (Paralel Olmayan veya Kesişen Çizgiler): Eğer çizgiler paralel değilse (eğimleri farklıysa) veya birbirini kesiyorsa, bu bir etkileşimin varlığına işaret eder. Örneğin, sigara içmenin BMI üzerindeki etkisi kadınlarda erkeklerden daha farklı olsaydı, bu çizgilerin eğimleri de farklı olurdu.

Görseldeki Bulgular ve Sonuç

1. Ana Etkilerin Gözlemlenmesi:

  • Cinsiyetin Ana Etkisi: Her iki çizgi de (kırmızı ve mavi) soldan sağa doğru (E’den K’ya) yükselmektedir. Bu, sigara içme durumundan bağımsız olarak, kadınların ortalama BMI değerinin erkeklerinkinden daha yüksek olduğunu gösterir.

  • Sigaranın Ana Etkisi: Kırmızı kesikli çizgi (Sigara İçenler), mavi düz çizginin (İçmeyenler) sürekli olarak üzerinde yer almaktadır. Bu, cinsiyetten bağımsız olarak, sigara içenlerin ortalama BMI değerinin içmeyenlerden daha yüksek olduğunu gösterir.

2. Etkileşimin Değerlendirilmesi:

  • Grafikteki en kritik bulgu, kırmızı ve mavi çizgilerin neredeyse mükemmel bir paralellik sergilemesidir.

  • Bu paralellik, sigara içenler ve içmeyenler arasındaki ortalama BMI farkının, hem erkekler hem de kadınlar için hemen hemen aynı olduğu anlamına gelir. Başka bir deyişle, sigaranın BMI ile olan ilişkisi, kişinin cinsiyetine göre değişmemektedir.

Modelleme Üzerindeki Etkisi: Bu görsel analiz, Cinsiyet ve Sigara arasında anlamlı bir etkileşim olmadığını güçlü bir şekilde ortaya koymaktadır. Bu nedenle, regresyon modelini oluştururken bu iki değişken için bir etkileşim terimi (Cinsiyet * Sigara) eklemek gereksiz olacaktır. Modeli daha basit tutarak, sadece ana etkileri (Cinsiyet + Sigara) dahil etmek, hem daha yorumlanabilir hem de aşırı uyum (overfitting) riskini azaltan daha doğru bir yaklaşım olacaktır.

Model Kurulumuna Hazırlık: Eğitim-Test Ayrımı ve Veri Standardizasyonu

# --- MODELLEME: TRAIN-TEST SPLIT VE STANDARTLAŞTIRMA ---

# Tekrarlanabilir (reproducible) sonuçlar için bir başlangıç noktası belirler.
# Bu komut, hemen altındaki rastgele işlem olan createDataPartition'ı etkileyecektir.
set.seed(31)

# %80 Train - %20 Test ayırımı
train_idx <- createDataPartition(BMI$BMI, p = 0.8, list = FALSE)
train_data <- BMI[train_idx, ]
test_data  <- BMI[-train_idx, ]

# Benzerlik kontrolü
print("Eğitim ve Test Seti BMI Ortalamaları:")
## [1] "Eğitim ve Test Seti BMI Ortalamaları:"
print(paste("Train Mean:", mean(train_data$BMI), "| Test Mean:", mean(test_data$BMI)))
## [1] "Train Mean: 132.605018305917 | Test Mean: 133.775978798212"
# Standartlaştırma (Data Leakage engellemek için sadece train verisinden parametre alıyoruz)
num_vars <- c("Yas", "Kalori", "Egzersiz") # BMI değeri Boy ve Kilo değişkenlerinden elde edilen bir değişken olduğu için Boy ve Kilo analize koyulmaz.

prep_params <- preProcess(train_data[, num_vars], method = c("center", "scale"))
train_data[, num_vars] <- predict(prep_params, train_data[, num_vars])
test_data[, num_vars]  <- predict(prep_params, test_data[, num_vars])

Keşifsel veri analizi aşamasında elde edilen bulgular ışığında, modelleme sürecine geçmeden önce veriyi hazırlamak için iki kritik adım atılır:

  1. Modelin genelleme yeteneğini objektif bir şekilde ölçmek için veriyi Eğitim (Train) ve Test setlerine ayırmak.

  2. Farklı ölçeklerdeki değişkenlerin modeli domine etmesini önlemek için veriyi standartlaştırmak.

Bu R kodu, bu iki işlemi en iyi pratikleri (best practices) takip ederek gerçekleştirmektedir.

1. Eğitim (Train) ve Test Seti Ayrımı

2. Özellik Seçimi ve Değişkenlerin Standartlaştırılması

Çoklu Doğrusal Regresyon Modelinin Kurulması ve Sonuçlarının Yorumlanması

# --- ÇOKLU DOĞRUSAL REGRESYON ---

model <- lm(BMI ~ Yas + Kalori + Egzersiz + Cinsiyet + Sigara, data = train_data)
summary(model)
## 
## Call:
## lm(formula = BMI ~ Yas + Kalori + Egzersiz + Cinsiyet + Sigara, 
##     data = train_data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14.8026  -4.1336  -0.3255   3.5056  18.2617 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 123.1742     0.5190 237.310   <2e-16 ***
## Yas          10.0372     0.2937  34.170   <2e-16 ***
## Kalori       27.1435     0.2956  91.815   <2e-16 ***
## Egzersiz    -22.2970     0.2951 -75.552   <2e-16 ***
## CinsiyetK    19.2491     0.5899  32.634   <2e-16 ***
## SigaraYok    -1.4281     0.5911  -2.416   0.0161 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.833 on 394 degrees of freedom
## Multiple R-squared:  0.9762, Adjusted R-squared:  0.9759 
## F-statistic:  3239 on 5 and 394 DF,  p-value: < 2.2e-16

Veri hazırlık aşamasından sonra, BMI’ı açıklamak üzere seçilen değişkenlerle (Yas, Kalori, Egzersiz, Cinsiyet, Sigara) eğitim verisi (train_data) üzerinde bir çoklu doğrusal regresyon modeli kurulmuştur. summary(model) komutu, bu modelin istatistiksel sonuçlarını ve performansını detaylı bir şekilde özetler.

1. Artıkların (Residuals) Dağılımı

Bu bölüm, modelin tahmin hatalarının (gerçek değer - tahmin edilen değer) dağılımı hakkında hızlı bir özet sunar

2. Katsayıların (Coefficients) Yorumlanması

Bu tablo, regresyon denklemini oluşturan en önemli bölümdür. Her bir değişkenin BMI üzerindeki etkisini, bu etkinin istatistiksel anlamlılığını ve belirsizliğini gösterir.

3. Modelin Genel Performansı ve Anlamlılığı

Bu son bölüm, modelin bir bütün olarak ne kadar başarılı olduğunu özetler.

Regresyon Modelinin Matematiksel Denklemi

summary(model) çıktısındaki Coefficients (Katsayılar) tablosu, bize modelin tam denklemini yazmak için gerekli olan tüm bileşenleri sunar. Bu denklem, yeni veri noktaları için Vücut Kitle İndeksi (BMI) tahminleri yapmak için kullanılır.

Denklemin Oluşturulması

Modelin denklemi, her bir bağımsız değişkenin tahmin edilen katsayısı (Estimate) ile çarpılıp sabit terim (Intercept) ile toplanmasıyla elde edilir.

Genel Formül:

Tahmin Edilen BMI (BMÎ) = β₀ + β₁*(Yaş) + β₂*(Kalori) + β₃*(Egzersiz) + β₄*(Cinsiyet) + β₅*(Sigara)

Kategorik Değişkenlerin Koda Çevrilmesi (Dummy Variables):

Model, “Cinsiyet” ve “Sigara” gibi kategorik değişkenleri denkleme dahil edebilmek için onları kukla değişkenlere (dummy variables) dönüştürür. Bu, bir kategorinin referans (temel seviye) olarak seçildiği ve diğer kategorinin 0 veya 1 değeri aldığı anlamına gelir:

Önemli Not: Yaş, Kalori ve Egzersiz değişkenleri modele standartlaştırılmış olarak dahil edildiği için, bu denklem bu değişkenlerin orijinal değerleriyle değil, standardize edilmiş halleriyle çalışır.

Modelin Nihai Denklemi:

Yukarıdaki bilgiler ve R çıktısındaki katsayılar kullanılarak modelin son denklemi şu şekilde yazılır (katsayılar iki ondalık basamağa yuvarlanmıştır):

BMÎ = 123.17 + 10.04 * (Yaş_standart) + 27.14 * (Kalori_standart) - 22.30 * (Egzersiz_standart) + 19.25 * (CinsiyetK) - 1.43 * (SigaraYok)

Bu denklemi nasıl kullanırız?

Örneğin, sigara içmeyen bir kadının BMI değerini tahmin etmek istediğimizde:

Bu denklem, modelin öğrendiği ilişkilerin somut bir matematiksel ifadesidir. Varsayım kontrollerimize bu aşamadan itibaren bakalım.

Modelin Performans Değerlendirmesi ve Varsayım Kontrolleri (Diagnostic Plots)

# Tahminler
predictions <- predict(model, test_data)
print(predictions)
##        12        13        16        19        20        24        30        47 
##  95.85923 154.76707 129.41113 140.12654 109.34452  58.45038  95.89629 108.34212 
##        59        62        64        81        89        93        94        98 
## 142.45669 161.94064 112.54431 150.18462 133.67133 223.05750 135.48680 149.61690 
##       103       105       111       124       128       129       135       136 
## 166.03427 185.90107  81.76790  86.11328 175.12432 142.16282  97.02196 106.02954 
##       137       142       151       156       157       160       163       165 
## 104.24368 121.78982 189.46677 156.57894 171.73894 185.17500  89.53520 121.57801 
##       168       169       174       175       176       180       184       202 
## 120.44582 175.08962 127.80712 125.11400  92.60243 140.23283 180.02980 189.28716 
##       211       215       221       223       225       226       235       240 
##  74.32060 140.13736 178.54446 104.51899 134.55822 123.69452 126.40526 144.69818 
##       241       244       245       249       251       253       254       255 
## 140.37542  84.93762 133.62243 116.20122 190.78010 127.54537 194.75179 118.14380 
##       261       269       271       279       291       304       328       331 
## 172.57732 129.20617 164.97007 189.49619 155.65502 146.62452 107.08140 146.74182 
##       333       337       338       339       343       346       347       349 
## 115.64427 126.53180  53.20835 141.37710 102.27728 108.70299 140.94275 123.03227 
##       350       355       356       362       368       371       372       374 
## 153.46820 140.87999 176.99031 114.00393  69.10055 128.87298  96.16091 145.80134 
##       380       383       392       395       400       403       405       411 
##  66.22796 134.46187 106.19223 164.49780 116.12619  90.60834 172.11420 151.63313 
##       412       419       429       440       442       449       450       453 
## 110.99196 136.36263  98.41301 179.70814 169.08100 177.71399 190.80528  52.50608 
##       459       480       483       492 
##  75.75375  86.17882 164.59985 176.29874
# Gerçek vs Tahmin Scatter Plot
ggplot(data.frame(Actual = test_data$BMI, Predicted = predictions), aes(x = Actual, y = Predicted)) +
  geom_point(alpha = 0.5) +
  geom_abline(color = "red") +
  labs(title = "Tahmin vs Gerçek Değerler", x = "Gerçek BMI", y = "Tahmin Edilen BMI")

# Diagnostic Plots (4 Plot bir arada)
par(mfrow = c(2, 2))
plot(model)

par(mfrow = c(1, 1))

Modeli kurup katsayıları elde ettikten sonra, bu sonuçlara güvenip güvenemeyeceğimizi anlamak için modelin performansını ve temel varsayımları ne kadar iyi karşıladığını kontrol etmemiz gerekir. Bu görsel, bu kontrolün iki ana parçasını sunmaktadır.

1. Model Performansı: Tahmin Edilen vs. Gerçek Değerler Grafiği

Bu grafik, modelin eğitim setindeki performansının görsel bir özetidir.

2. Model Varsayımlarının İncelenmesi: Diagnostic Plot Analizi

R’daki plot(model) komutu, bir regresyon modelinin sağlığını kontrol etmek için standartlaşmış dört temel tanı grafiği üretir. Bu grafikler, Gauss-Markov varsayımlarının karşılanıp karşılanmadığını test eder.

1. Residuals vs. Fitted (Artıklar vs. Tahminler Grafiği)

2. Normal Q-Q Plot (Hata Terimlerinin Normalliği)

3. Scale-Location (Ölçek-Konum Grafiği)

4. Residuals vs. Leverage (Artıklar vs. Kaldıraç Grafiği)

Genel Sonuç: Tüm tanı grafikleri, kurulan regresyon modelinin istatistiksel olarak sağlam, güvenilir ve geçerli olduğunu göstermektedir. Temel varsayımların tamamı karşılandığı için, modelin ürettiği katsayılara, p-değerlerine ve genel performansa güvenle inanabiliriz.

Modelin Genelleme Performansının Değerlendirilmesi: Eğitim vs. Test Sonuçları

# --- PERFORMANS DEĞERLENDİRMESİ ---

get_metrics <- function(actual, predicted) {
  mse <- mean((actual - predicted)^2)
  r2 <- 1 - (sum((actual - predicted)^2) / sum((actual - mean(actual))^2))
  return(list(MSE = mse, R2 = r2))
}

train_res <- get_metrics(train_data$BMI, predict(model, train_data))
test_res <- get_metrics(test_data$BMI, predictions)

print("Sonuçların Özeti:")
## [1] "Sonuçların Özeti:"
print(paste("Train R2:", round(train_res$R2, 4), "MSE:", round(train_res$MSE, 4)))
## [1] "Train R2: 0.9762 MSE: 33.5146"
print(paste("Test R2:", round(test_res$R2, 4), "MSE:", round(test_res$MSE, 4)))
## [1] "Test R2: 0.9674 MSE: 41.9019"

Modelimizin istatistiksel varsayımları karşıladığını doğruladıktan sonraki son ve en kritik adım, modelin genelleme yeteneğini ölçmektir. Yani, modeli oluştururken hiç görmediği yeni veriler üzerinde ne kadar başarılı tahminler yapabildiğini test etmemiz gerekir. Bu, modelin veriyi sadece “ezberlemediğini” (overfitting), aksine altta yatan gerçek ilişkiyi öğrendiğini gösterir.

1. Kodun Açıklaması

2. Sonuçların Yorumlanması ve Analizi

Çıktılar:

Bu iki satırı karşılaştırmak, modelimizin sağlığı hakkında bize her şeyi anlatır:

R-kare (R2) Değerlerinin Karşılaştırılması:

Hata Kareler Ortalaması (MSE) Değerlerinin Karşılaştırılması:

Değişkenlerin Marjinal Etkilerinin İncelenmesi: Eklenmiş Değişken Grafikleri (Added Variable Plots)

# ========================================
# car::avPlots() - Tüm değişkenler için
# ========================================

# Tüm değişkenler için added variable plots
par(mfrow = c(2, 2))
avPlots(model, 
        main = "Added Variable Plots",
        col = "steelblue",
        pch = 16)

par(mfrow = c(1, 1))

Bir çoklu regresyon modelinde, bir değişkenin katsayısı, diğer tüm değişkenlerin etkisi kontrol edildikten sonraki etkisini temsil eder. “Added Variable Plots” (Eklenmiş Değişken Grafikleri veya Kısmi Regresyon Grafikleri), tam olarak bu “kısmi” veya “marjinal” ilişkiyi her bir bağımsız değişken için görselleştirir. Bu grafikler, bir değişkenin, modeldeki diğer tüm değişkenlerin zaten açıkladığı varyanstan geriye kalanı açıklama gücünü gösterir.

Teknik Olarak Ne Anlama Geliyor?

Her bir grafikteki eksenler şu şekilde oluşturulur:

Bu iki “arındırılmış” değişken arasındaki ilişki, incelenen değişkenin modele olan gerçek, marjinal katkısını gösterir.

Grafiklerin Yorumlanması

Görseldeki Bulguların Analizi

  1. Kalori | others ve Egzersiz | others: Bu iki grafikte, noktaların mavi çizgi etrafında çok sıkı bir şekilde kümelendiği ve çizginin eğiminin çok dik olduğu (Kalori için pozitif, Egzersiz için negatif) açıkça görülmektedir. Bu durum, bu iki değişkenin, diğer faktörlerin etkisi kontrol edildikten sonra bile BMI üzerinde çok güçlü ve istatistiksel olarak anlamlı bir marjinal etkiye sahip olduğunu görsel olarak doğrular.

  2. Yas | others ve CinsiyetK | others: Bu grafiklerde de belirgin bir pozitif ilişki (yukarı yönlü bir trend) vardır, ancak noktalar Kalori ve Egzersiz grafikleri kadar sıkı değildir. Bu, bu değişkenlerin de modele anlamlı bir katkı sağladığını, ancak etkilerinin ilk iki değişken kadar baskın olmadığını gösterir. CinsiyetK grafiğindeki iki kümelenme, bunun bir kukla değişken (0 ve 1) olmasından kaynaklanmaktadır.

  3. SigaraYok | others: Bu grafik, en aydınlatıcı olanıdır. Mavi çizginin eğimi çok azdır (neredeyse yatay) ve noktalar çizgi etrafında oldukça dağınık bir yapı sergilemektedir. Bu görsel, summary() çıktısında gördüğümüz sonucu mükemmel bir şekilde özetler: Sigara değişkeninin istatistiksel olarak anlamlı olmasına rağmen (p < 0.05), modele olan marjinal katkısı pratikte çok zayıftır. Diğer tüm güçlü değişkenlerin etkisi hesaba katıldığında, sigara içip içmemenin BMI’da yarattığı benzersiz fark oldukça küçüktür.

Özetle, bu avPlots analizi, summary() çıktısındaki katsayıların görsel bir teyidini sunmuş ve her bir değişkenin modele olan benzersiz katkısını net bir şekilde ortaya koymuştur. Özellikle zayıf ama anlamlı bir değişken olan Sigara’nın marjinal etkisini anlamak için son derece faydalı bir araç olmuştur.

Model Varsayımlarının Hiyerarşisi: Hangi Koşul Ne Kadar Kritik?

Bir regresyon modelinin sonuçlarının (katsayılar, p-değerleri, güven aralıkları) güvenilirliği, temel istatistiksel varsayımların karşılanmasına bağlıdır. Ancak, gerçek dünya verilerinde bu varsayımlar nadiren mükemmel bir şekilde karşılanır. Bu nedenle, hangi varsayımın ihlalinin daha ciddi sonuçlar doğuracağını ve hangisinin daha “affedici” olduğunu bilmek kritik öneme sahiptir.

Bağımsızlık (Hataların Bağımsızlığı - Otokorelasyon Olmaması)

  • Hassasiyet Seviyesi: En Yüksek

  • Açıklama: Bu, tüm varsayımların en kritik ve en az affedici olanıdır. Hata terimlerinin birbirinden bağımsız olmaması (otokorelasyon), genellikle zaman serisi verilerinde veya mekansal verilerde ortaya çıkar. Bu durum, veri setinin içerdiği bilginin aslında göründüğünden daha az olduğu anlamına gelir.

  • Sonuçları: Bağımsızlık varsayımının küçük ihlalleri bile standart hataları sistematik olarak yanlış hesaplar (genellikle küçültür). Bu, t-istatistiklerinin yapay olarak şişmesine ve p-değerlerinin de yapay olarak küçülmesine yol açar. Sonuç olarak, model aslında istatistiksel olarak anlamsız olan değişkenleri “anlamlı” olarak rapor edebilir. Bu varsayımın ihlali, modelin tüm hipotez testlerini ve güven aralıklarını geçersiz kılar.

Eşit Varyans (Homoscedasticity)

  • Hassasiyet Seviyesi: Orta

  • Açıklama: Bu varsayım, hata terimlerinin varyansının tüm tahmin edilen değerler boyunca sabit olmasını gerektirir. Varyansın sabit olmaması durumuna heteroscedasticity denir.

  • Sonuçları: Bu varsayımın ihlali, katsayıların tahminini (Estimate) doğrudan etkilemez, yani katsayılar sapmasız (unbiased) kalır. Ancak, aynı bağımsızlık varsayımında olduğu gibi, standart hataların hesaplanmasını bozar. Bu da güven aralıklarının ve hipotez testlerinin güvenilmez hale gelmesine neden olur. Bağımsızlık kadar yıkıcı olmasa da, müdahale edilmesi gereken ciddi bir sorundur.

Normallik (Testler ve Güven Aralıkları İçin)

  • Hassasiyet Seviyesi: Düşük (Oldukça Affedici)

  • Açıklama: Bu varsayım, hipotez testlerinin (t-test, F-test) ve katsayılar için oluşturulan güven aralıklarının teorik altyapısını oluşturur.

  • Sonuçları: Merkezi Limit Teoremi (Central Limit Theorem) sayesinde, örneklem boyutu yeterince büyük olduğunda (genellikle n > 30 veya 50), regresyon katsayılarının örneklem dağılımı normale yaklaşır. Bu nedenle, t-testleri ve F-testleri, hata terimlerinin normallikten hafif veya orta derecede sapmalarına karşı oldukça sağlamdır (robust). Bu, varsayımlar arasında en az endişe duymamız gerekenlerden biridir, özellikle hipotez testleri bağlamında.

Normallik (Tahmin Aralıkları - Prediction Intervals İçin)

  • Hassasiyet Seviyesi: Yüksek

  • Açıklama: Burada kritik bir ayrım vardır. Bir önceki madde katsayılar hakkındaki çıkarımlar (hipotez testleri) ile ilgiliydi. Bu madde ise, tek bir yeni gözlem için yapılacak tahminin aralığı ile ilgilidir.

  • Sonuçları: Bir tahmin aralığı (prediction interval), hem modelin ortalama tahmindeki belirsizliğini hem de tek bir veri noktasının doğal rastgeleliğini içerir. Bu ikinci bileşen, doğrudan hata terimlerinin dağılımına bağlıdır. Eğer hata terimleri normal dağılmıyorsa (örneğin kalın kuyruklu bir dağılıma sahipse), normal dağılım varsayımıyla hesaplanan tahmin aralıkları, özellikle uç değerlerin gerçekleşme olasılığını ciddi şekilde hafife alabilir ve yanıltıcı olabilir. Bu nedenle, amacımız tekil tahminler için güvenilir aralıklar oluşturmaksa, normallik varsayımı yeniden çok önemli hale gelir.

Özetle, bir regresyon modelini değerlendirirken endişe hiyerarşimiz şu şekilde olmalıdır:

  1. Önce Bağımsızlık: Her zaman kontrol edilmeli ve sağlanmalıdır.

  2. Sonra Eşit Varyans: Kontrol edilmeli ve ihlal varsa düzeltici önlemler alınmalıdır.

  3. En Son Normallik: Hipotez testleri için genellikle daha az kritiktir, ancak bireysel tahmin aralıkları oluşturulacaksa dikkatle incelenmelidir.

Model Varsayımlarının İhlalinde Ciddiyet ve Amaç Faktörü

Bir regresyon modelinin varsayımlarını değerlendirirken, iki temel ilke her zaman göz önünde bulundurulmalıdır: ihlalin ciddiyeti ve modelin nihai kullanım amacı. Bu iki faktör, bir varsayım ihlalinin “kabul edilebilir” mi yoksa “kritik bir sorun” mu olduğuna karar vermemizde bize yol gösterir.

Önemli İlke: İhlalin Ciddiyeti Önemlidir

“Sonuçların ciddiyeti her zaman ihlalin ciddiyetiyle ilişkilidir.” Bu, varsayım ihlallerinin siyah-beyaz olmadığı anlamına gelir.

  • Küçük Sapmalar vs. Büyük Sapmalar: Örneğin, Normal Q-Q grafiğindeki noktalarda sadece en uç kuyruklarda görülen hafif bir sapma ile, noktaların belirgin bir “S” şekli çizdiği durum aynı değildir. İlk durum genellikle tolere edilebilirken, ikincisi daha ciddi bir normallik ihlaline işaret eder. Benzer şekilde, “Residuals vs. Fitted” grafiğindeki hafif bir dalgalanma ile net bir huni (fan) şekli (heteroscedasticity) aynı ciddiyette değildir.

Modelin Kullanım Amacı Her Şeyi Değiştirir

Bir varsayım ihlalinin ne kadar sorun teşkil edeceği, büyük ölçüde modelden ne elde etmek istediğimize bağlıdır. Modelin amacı, hangi varsayımların daha affedici, hangilerinin ise kritik olduğunu belirler.

Senaryo 1: Amaç - İlişki Testi ve Katsayı Yorumlama (Hipotez Testi)

  • Soru: “Bu bağımsız değişken (X), bağımlı değişkeni (Y) istatistiksel olarak anlamlı bir şekilde etkiliyor mu?” (Yani, β = 0 hipotezini test etmek).

  • Normallik Varsayımının Rolü: Bu senaryoda, hata terimlerinin normallikten sapması genellikle ciddi bir sorun teşkil etmez.

  • Teknik Neden (Merkezi Limit Teoremi): Yeterince büyük örneklemlerde (genellikle n>30), Merkezi Limit Teoremi devreye girer. Bu teorem sayesinde, hata terimlerinin kendisi normal dağılmasa bile, regresyon katsayılarının (β) örneklem dağılımı normale yaklaşır. Hipotez testleri (t-testleri) bu katsayıların dağılımına dayandığı için, bu testler normallik varsayımının ihlaline karşı oldukça sağlam (robust) ve affedicidir.

  • Pratik Çıkarım: Eğer tek amacınız hangi değişkenlerin anlamlı olduğunu bulmak ve katsayılarını yorumlamaksa, normallik varsayımındaki küçük veya orta dereceli sapmalar için endişelenmenize gerek yoktur. Ancak bağımsızlık ve eşit varyans varsayımları, standart hataları doğrudan etkilediği için bu amaç için hala çok kritiktir.

Senaryo 2: Amaç - Gelecek Değerler İçin Tahmin Aralığı Oluşturmak

  • Soru: “Belirli X değerlerine sahip yeni bir gözlem için, Y değerinin %95 olasılıkla hangi aralıkta olmasını beklerim?” (Yani, bir tahmin aralığı - prediction interval oluşturmak).

  • Normallik Varsayımının Rolü: Bu senaryoda, hata terimlerinin normal dağılması son derece kritiktir ve ihlali ciddi bir sorundur.

  • Teknik Neden: Bir tahmin aralığı, iki belirsizlik kaynağını içerir: 1) Modelin ortalama tahmindeki belirsizliği ve 2) Tek bir gözlemin doğal rastgeleliği (yani hata terimi ε). Bu ikinci bileşen, doğrudan hata terimlerinin dağılımına bağlıdır. Eğer hata terimleri normal dağılmıyorsa (örneğin, beklenenden daha fazla aykırı değere sahip “kalın kuyruklu” bir dağılım gösteriyorsa), normal dağılım varsayımıyla hesaplanan %95’lik bir tahmin aralığı, gerçekte gelecekteki gözlemlerin sadece %85’ini kapsayabilir. Bu, aralığın yanıltıcı derecede dar ve aşırı iyimser olmasına yol açar.

  • Pratik Çıkarım: Eğer modelinizi gelecekteki tekil olaylar için güvenilir tahmin aralıkları üretmek amacıyla kullanıyorsanız, hata terimlerinin normal dağıldığından emin olmalısınız. Normallik ihlali, bu tahmin aralıklarını doğrudan geçersiz kılar.

Artık Analizinin Temeli: Gözlenen Artık (Residual) ve Gerçek Hata (Error) Ayrımı

Bir regresyon modelinin kurulmasından sonraki süreç, modelin güvenilirliğini ve geçerliliğini test etmek için yapılan artık analizine (residual analysis) dayanır. Bu analizin temelini, modelin “tahmin hataları” olarak da bilinen artıkların incelenmesi oluşturur. Bu noktada, pratikte kullandığımız “artık” ile teoride var olan “gerçek hata” arasındaki kavramsal farkı anlamak kritik öneme sahiptir.

Teorik Kavram: Gerçek Hata Terimi (ε - Epsilon)

  • Tanım: Gerçek hata terimi (ε), bir gözlemin gerçek değeri (yᵢ) ile, o gözleme karşılık gelen bilinmeyen, gerçek popülasyon regresyon doğrusu arasındaki dikey mesafedir.

  • Formül: εᵢ = yᵢ - E(yᵢ)

  • yᵢ: Gözlemlenen gerçek değer.

  • E(yᵢ): Belirli bir X değeri için Y’nin gerçek popülasyondaki beklenen (ortalama) değeri. Bu, grafikteki düz mavi çizgiye karşılık gelir.

  • Önemli Nokta: Gerçek hayatta, bir popülasyonun tamamına asla sahip olamayız. Bu nedenle, popülasyondaki gerçek ilişkiyi (düz mavi çizgiyi) asla bilemeyiz. Dolayısıyla, gerçek hata terimi (ε) her zaman bilinmeyen ve teorik bir kavram olarak kalır. Regresyonun tüm istatistiksel varsayımları (normallik, bağımsızlık, sabit varyans) teorik olarak bu ε terimi üzerine kuruludur.

Pratik Kavram: Gözlenen Artık (e - Residual)

  • Tanım: Gözlenen artık (e), bir gözlemin gerçek değeri (yᵢ) ile, bizim elimizdeki örneklem verisinden yola çıkarak tahmin ettiğimiz regresyon doğrusu arasındaki dikey mesafedir.

  • Formül: eᵢ = yᵢ - ŷᵢ

  • yᵢ: Gözlemlenen gerçek değer.

  • ŷᵢ (“y şapka”): Modelimizin aynı X değeri için yaptığı tahmin. Bu, grafikteki kesikli mavi çizgiye karşılık gelir.

  • Önemli Nokta: Modelimizi kurduğumuzda, her bir gözlem için hem gerçek yᵢ değerini hem de modelin tahmini olan ŷᵢ değerini biliriz. Dolayısıyla, artıkları (e) her zaman hesaplayabiliriz.

Artık ve Gerçek Hatanın Görsel Analizi

Grafik, bu iki kavram arasındaki farkı mükemmel bir şekilde görselleştirir:

  • Kırmızı Noktalar: Elimizdeki gözlenen veriler.

  • Düz Mavi Çizgi: Gerçek, ancak bizim için bilinmeyen popülasyon ilişkisi.

  • Kesikli Mavi Çizgi: Elimizdeki veriye dayanarak bizim tahmin ettiğimiz model doğrusu.

  • Gerçek Hata (ε): Herhangi bir kırmızı noktanın düz mavi çizgiye olan dikey uzaklığıdır.

  • Artık (e): Aynı kırmızı noktanın kesikli mavi çizgiye olan dikey uzaklığıdır.

Kritik Sonuç ve Pratik Uygulama: Neden Artıklar İncelenir?

Gerçek hata terimlerini (ε) - yani her bir gözlemin, bilinmeyen gerçek popülasyon doğrusuna (düz mavi çizgi) olan mesafesini - asla sayısal olarak hesaplayamayız. Çünkü gerçek doğruyu hiçbir zaman bilemeyiz.

Gözlenen artıkları (e) - yani her bir gözlemin, bizim örneklem verimizle tahmin ettiğimiz model doğrusuna (kesikli mavi çizgi) olan mesafesini - her zaman sayısal olarak hesaplayabiliriz. Çünkü hem gözlenen değerlere (yᵢ) hem de modelimizin ürettiği tahminlere (ŷᵢ) sahibiz.

Bu durum, istatistiksel modellemedeki temel bir çıkarım sürecini ortaya koyar:

Elimizdeki tek somut ve hesaplanabilir bilgi olan gözlenen artıklar (e), bilmediğimiz gerçek hata terimlerinin (ε) bir vekili veya temsilcisi olarak kullanılır. Artık analizinin temel mantığı şu varsayıma dayanır:

“Eğer kurduğumuz model (kesikli çizgi), gerçek ilişkiye (düz çizgi) iyi bir yaklaşımsa, o zaman bizim hesapladığımız artıkların (e) özellikleri, teorik hata terimlerinin (ε) özelliklerine çok benzemelidir.”

Bu ilke doğrultusunda, modelimizin istatistiksel olarak geçerli ve güvenilir olup olmadığını anlamak için, hesaplayabildiğimiz artıkları (e) kullanarak, teorik hata terimlerinin (ε) karşılaması gereken temel varsayımları kontrol ederiz.

Artıkları inceleyerek kontrol ettiğimiz dört temel varsayım şunlardır:

-Doğrusallık (Linearity): Modelin, değişkenler arasındaki ilişkiyi doğru bir şekilde yakalayıp yakalayamadığını kontrol ederiz. Eğer artıklar (e), tahmin edilen değerlere karşı çizildiğinde rastgele bir dağılım göstermiyorsa (örneğin bir eğri oluşturuyorsa), bu doğrusallık varsayımının ihlal edildiğine işaret eder.

-Normallik (Normality): Artıkların (e) normal bir dağılıma sahip olup olmadığını Q-Q grafikleri ve istatistiksel testler ile inceleriz.

-Bağımsızlık (Independence): Artıkların (e) arasında bir örüntü veya serisel bir korelasyon (otokorelasyon) olup olmadığını kontrol ederiz. Bu, özellikle zaman serisi verilerinde önemlidir.

-Eşit Varyans (Equal Variance / Homoscedasticity): Artıkların (e) varyansının, tahmin edilen değerler aralığı boyunca sabit kalıp kalmadığını inceleriz. “Residuals vs. Fitted” grafiğinde huni (fan) şeklinin olmaması bu varsayımın sağlandığını gösterir.

Bu kontrolleri yaparak, aslında modelimizin temelini oluşturan ve görünmeyen ε hakkında dolaylı ve güçlü çıkarımlar yapmış oluruz. Bu nedenle, R’da veya başka bir istatistiksel yazılımda gördüğünüz tüm tanı grafikleri (diagnostic plots) ve varsayım testleri, her zaman hesaplanabilir olan gözlenen artıklar (e) üzerinden yapılır.

Doğrusallık ve Sabit Varyans Varsayımlarının Görsel Kontrolü

Bir regresyon modelinin güvenilirliğini test ederken başvurulan ilk ve en önemli tanı aracı, modelin artıklarının (eᵢ) tahmin edilen değerlere (ŷᵢ) karşı çizildiği serpme grafiğidir. Bu tek grafik, bize aynı anda iki kritik varsayım hakkında bilgi verir: Doğrusallık ve Eşit Varyans (Homoscedasticity). İdeal bir durumdan sapmalar, modeldeki farklı sorunlara işaret eder.

a) İdeal Durum: Tüm Varsayımlar Sağlanıyor

  • Görünüm: Noktalar, yatay sıfır çizgisi etrafında, hiçbir belirgin desen veya yapı oluşturmadan tamamen rastgele bir şekilde saçılmıştır. Noktaların dikey eksendeki dağılımı (yayılımı), yatay eksen boyunca ilerlerken değişmez, sabit bir bant içinde kalır.

  • Anlamı: Bu, aradığımız “sağlıklı” model işaretidir.

    1. Doğrusallık Sağlanıyor: Noktaların rastgele dağılması, modelin değişkenler arasındaki ilişkiyi doğru bir şekilde yakaladığını ve artıklar içinde yakalanamamış bir yapı kalmadığını gösterir.

    2. Eşit Varyans Sağlanıyor: Noktaların oluşturduğu bandın genişliğinin yatay eksen boyunca sabit kalması, hata varyansının tahmin edilen değerlerin seviyesine göre değişmediğini, yani homoscedasticity varsayımının karşılandığını gösterir.

b) Artan Varyans: Heteroscedasticity Problemi

  • Görünüm: Noktalar, soldan sağa doğru ilerledikçe giderek genişleyen bir huni veya fan şekli oluşturur. Küçük tahmin edilen değerler için artıkların yayılımı dar iken, büyük tahmin edilen değerler için yayılım ciddi şekilde artar.

  • Anlamı: Bu, eşit varyans (homoscedasticity) varsayımının açık bir ihlalidir. Bu duruma heteroscedasticity denir. Model, büyük değerleri tahmin ederken daha fazla hata yapma eğilimindedir.

  • Sonuçları: Standart hatalar yanlış hesaplanır, bu da güven aralıklarını ve hipotez testlerinin p-değerlerini güvenilmez hale getirir.

  • Çözüm Yaklaşımları: Bağımlı değişkene logaritmik veya Box-Cox gibi varyans stabilize edici dönüşümler uygulamak veya standart OLS yerine Ağırlıklı En Küçük Kareler (Weighted Least Squares - WLS) regresyonu kullanmak gibi yöntemlere başvurulur.

c) Doğrusal Olmayan Yapı: Model Yanlış Belirlenmiş

  • Görünüm: Artıklar, sıfır çizgisi etrafında rastgele dağılmak yerine, belirgin bir yuvarlak veya oval bir desen (top gibi) oluşturur.

  • Anlamı: Bu, modelin gerçek ilişkiyi tam olarak yakalayamadığının bir işaretidir. Doğrusallık varsayımı ihlal edilmiştir. Genellikle bu durum, modelde önemli bir açıklayıcı değişkenin eksik olmasından veya değişkenler arasındaki etkileşim terimlerinin göz ardı edilmesinden kaynaklanabilir.

  • Çözüm Yaklaşımları: Modele yeni ve anlamlı olabilecek değişkenler eklemek, mevcut değişkenlerin karesi veya küpü gibi polinom terimleri dahil etmek veya etkileşim terimlerini (X1 * X2) test etmek sorunu çözebilir.

d) Sistematik Desen: Yanlış Fonksiyonel Form

  • Görünüm: Artıklar, çok net bir U-şekli veya ters U-şekli (parabolik) bir desen sergiler. Artıkların işareti sistematik olarak pozitiften negatife ve tekrar pozitife (veya tam tersi) döner.

  • Anlamı: Bu, doğrusallık varsayımının çok güçlü bir şekilde ihlal edildiğini gösterir. Modelin fonksiyonel formu (doğrusal olması) ile verinin gerçek yapısı (doğrusal olmayan) arasında ciddi bir uyumsuzluk vardır. Model açıkça yanlış kurulmuştur.

  • Çözüm Yaklaşımları: Bu sorun genellikle basit bir değişken eklemekle çözülmez. Çözüm, modelin kendisini değiştirmeyi gerektirir:

    1. Polinom Regresyon: Modele kuadratik terimler (örn: ) eklemek.

    2. Doğrusal Olmayan Modeller: Genelleştirilmiş Toplamsal Modeller (Generalized Additive Models - GAM), Spline’lar veya Kernel Regresyon gibi daha esnek yöntemlere geçmek.

    3. Makine Öğrenmesi Modelleri: Veri yapısı çok karmaşıksa, karar ağaçları veya destek vektör makineleri gibi makine öğrenmesi algoritmalarını düşünmek gerekebilir.

R ile Doğrusallık Varsayımının Kontrolü: Görsel ve İstatistiksel Yöntemler

Bir lineer regresyon modelinin en temel varsayımlarından biri, bağımlı ve bağımsız değişkenler arasındaki ilişkinin doğrusal olmasıdır. Bu varsayımın ihlali, modelin ilişkiyi doğru bir şekilde yakalayamadığı ve sonuçlarının yanıltıcı olabileceği anlamına gelir. R’da bu varsayımı kontrol etmek için hem görsel yöntemler hem de formel istatistiksel testler kullanılır.

Görsel Yöntemler ile Kontrol

Görsel analiz, genellikle varsayım kontrolündeki ilk ve en sezgisel adımdır.

a. Temel Artık-Tahmin Grafiği

Bu grafik, modelin artıklarının (tahmin hatalarının) tahmin edilen değerlere karşı nasıl bir dağılım sergilediğini gösterir.

# 'model' adında bir lm nesnesi olduğu varsayılır.
# model <- lm(y ~ x, data = df)

# Tahmin edilen değerler (x-ekseni) ile artıklar (y-ekseni) arasındaki ilişkiyi çizdirir.
plot(fitted(model), residuals(model))
  • Ne Aranır?

  • İdeal Durum: Noktaların, sıfır çizgisi etrafında belirgin bir yapı veya desen oluşturmadan, tamamen rastgele bir bulut gibi saçılması beklenir. Bu, doğrusallık varsayımının karşılandığını gösterir.

  • Sorunlu Durum: Eğer grafikte bir eğri (curve), huni (funnel) veya U-şekli gibi sistematik bir desen varsa, bu doğrusallık varsayımının ihlal edildiğine dair güçlü bir görsel kanıttır.

b. car Paketi ile Gelişmiş Grafikler

car (Companion to Applied Regression) paketi, standart grafiklere göre daha zengin bilgiler sunan gelişmiş tanı araçları sağlar.

library(car)

# 'model' nesnesi için artık grafikleri oluşturur.
residualPlots(model)
  • Ne Sağlar?

    1. Ayrıntılı Analiz: Bu fonksiyon, artıkların sadece tahmin edilen değerlere karşı değil, aynı zamanda modeldeki her bir bağımsız değişkene karşı ayrı ayrı nasıl dağıldığını gösteren bir dizi grafik üretir. Bu, doğrusallık probleminin hangi değişkenden kaynaklandığını tespit etmede çok faydalıdır.

    2. İstatistiksel Test: Her bir grafiğin yanı sıra, bir “Tukey’s test for non-additivity” (eğrisellik testi) sonucu da sunar. Bu testin p-değeri, grafikte gözlemlenen eğrisel desenin istatistiksel olarak anlamlı olup olmadığını test eder. Düşük bir p-değeri (< 0.05), doğrusallık ihlalini destekler.

İstatistiksel Testler ile Kontrol (lmtest Paketi)

Görsel bulguları doğrulamak ve daha objektif bir sonuç elde etmek için formel hipotez testleri kullanılır. Aşağıdaki testlerin tamamında ortak yorumlama kuralı şudur:

  • H₀ (Null Hipotezi): Modeldeki ilişki doğrusaldır.

  • Karar Kuralı: Eğer hesaplanan p-değeri < 0.05 ise, H₀ hipotezi reddedilir. Bu, modelin doğrusal olmadığına dair istatistiksel kanıt olduğu anlamına gelir. (Düşük p-değeri bu testlerde istenmeyen bir durumdur.)

İstatistiksel Testler ile Kontrol (lmtest Paketi)

Görsel bulguları doğrulamak ve daha objektif bir sonuç elde etmek için formel hipotez testleri kullanılır. Bu testlerin tamamında ortak yorumlama mantığı, modelin “masum” olduğunu (yani varsayımı sağladığını) belirten sıfır hipotezini (H₀) test etmektir. Dolayısıyla, bu testlerde amacımız H₀ hipotezini reddedememektir.

Genel Yorumlama Kuralı:

  • Eğer p-değeri > 0.05 ise, H₀ hipotezi reddedilemez. Bu, varsayımın ihlal edildiğine dair istatistiksel bir kanıt olmadığı, yani modelin sağlıklı olduğu anlamına gelen İYİ bir sonuçtur.
  • Eğer p-değeri < 0.05 ise, H₀ hipotezi reddedilir. Bu, varsayımın ihlal edildiğine dair istatistiksel kanıt olduğu, yani modelde bir sorun olduğuna işaret eden KÖTÜ bir sonuçtur.

a. Rainbow Test

library(lmtest)

raintest(model)

Amacı: Bu test, modelin verinin “orta” kısmına (merkeze yakın gözlemlere) “uç” kısımlarına (kenarlardaki gözlemlere) göre daha iyi uyum sağlayıp sağlamadığını test eder. Eğer model genel olarak veriye iyi uyum sağlamıyorsa (yani doğrusal değilse), bu testin sonucu anlamlı çıkar.

Hipotezler:

  • H₀: Modeldeki ilişki doğrusaldır.

Yorumlama Kuralı:

  • p-değeri > 0.05 ise: H₀ reddedilemez. Test, doğrusallık varsayımının sağlandığına işaret eder. (İstenen durum).

  • p-değeri < 0.05 ise: H₀ reddedilir. Modelin doğrusal olmadığına dair istatistiksel kanıt vardır. (Sorun işareti).

b. Harvey-Collier Test

library(lmtest)

# x, modele eklenen bir bağımsız değişkendir.
harvtest(model, order.by = ~ x)

Amacı: Bu test, modelin artıklarının (hatalarının) içinde gizli bir doğrusal trend olup olmadığını spesifik olarak test eder. Artıkların rastgele dağılması gerekirken, içlerinde artan veya azalan bir trendin varlığı doğrusallık varsayımının ihlaline işaret eder.

Hipotezler:

  • H₀: Modeldeki ilişki doğrusaldır (artıklarda trend yoktur).

Yorumlama Kuralı:

  • p-değeri > 0.05 ise: H₀ reddedilemez. Artıkların bir trend içermediği ve doğrusallık varsayımının korunduğu kabul edilir. (İstenen durum).

  • p-değeri < 0.05 ise: H₀ reddedilir. Artıklarda doğrusal bir trend olduğuna ve modelin ilişkiyi tam yakalayamadığına dair kanıt vardır. (Sorun işareti).

c. Ramsey RESET Test

library(lmtest)

resettest(model)

Amacı: Bu, doğrusallık ve genel model spesifikasyon hataları için en yaygın kullanılan ve en güçlü testlerden biridir. Modelin yanlış kurulup kurulmadığını test eder. Bunu, modele tahmin edilen değerlerin (ŷ) kareleri ve küpleri gibi doğrusal olmayan kombinasyonlarını ekleyerek yapar. Eğer bu yeni eklenen terimler modeli istatistiksel olarak anlamlı bir şekilde iyileştiriyorsa, bu durum orijinal lineer modelin eksik veya yanlış kurulduğunun kanıtıdır.

Hipotezler:

  • H₀: Model doğru fonksiyonel forma sahiptir (doğrusaldır ve önemli bir değişken eksik değildir).

Yorumlama Kuralı:

  • p-değeri > 0.05 ise: H₀ reddedilemez. Modelin doğru bir şekilde kurulduğuna ve doğrusallık varsayımının sağlandığına karar verilir. (İstenen durum).

  • p-değeri < 0.05 ise: H₀ reddedilir. Modelde doğrusal olmayan bir yapı veya eksik değişkenler olduğuna dair güçlü bir kanıt vardır. (Sorun işareti).

Uygulamalı Örnek: Doğrusallık Probleminin Tespiti ve Çözüm Yaklaşımları

Bu bölümde, R’da yerleşik olarak bulunan cars veri setini kullanarak, bir lineer regresyon modelinde doğrusallık varsayımının nasıl ihlal edildiğini tespit edecek ve bu sorunu çözmek için uygulanabilecek temel yöntemleri ele alacağız. Veri seti, bir arabanın hızı (speed) ile durma mesafesi (dist) arasındaki ilişkiyi içermektedir.

Amaç: Arabanın hızını kullanarak durma mesafesini tahmin eden bir lineer model kurmak. Durma Mesafesi = β₀ + β₁ * Hız

Modelin Kurulması ve Problemin Tespiti

İlk olarak, standart bir lineer regresyon modeli kurarak işe başlıyoruz ve ardından doğrusallık varsayımını hem görsel hem de istatistiksel olarak kontrol ediyoruz.

# R'da yerleşik olan 'cars' veri setini yüklüyoruz.
data(cars)

# Hız (speed) değişkenini kullanarak durma mesafesini (dist) tahmin eden
# basit bir lineer regresyon modeli kuruyoruz.
model1 <- lm(dist ~ speed, data = cars)

# 1.1. Görsel Kontrol: Artıklar vs. Tahminler Grafiği
plot(model1, which = 1) 

# 1.2. İstatistiksel Kontrol: Rainbow Testi
library(lmtest)
raintest(model1)

Analiz ve Bulgular (Yeni Çıktıya Göre Güncellenmiş Hali)

  • Görsel Analiz (Artıklar vs. Tahminler Grafiği):

Grafiği incelediğimizde, artıkların sıfır çizgisi etrafında tam olarak rastgele dağılmadığı görülmektedir. Kırmızı düzleştirme çizgisi, hafif içbükey (concave) veya U-şekilli bir desen eğilimi göstermektedir. Bu durum, veride doğrusal olmayan bir yapı olabileceğine dair görsel bir ipucu vermektedir.

**İstatistiksel Test (Rainbow Test Çıktısı):

  • Rainbow test
  • data: model1
  • Rain = 0.71288, p-value = 0.7954

Bu testin sonucu, görsel analizden farklı bir hikaye anlatmaktadır:

  • Hesaplanan p-değeri = 0.7954’tür.

  • Bu değer, 0.05 anlamlılık düzeyinden çok daha büyüktür (p > 0.05).

  • Bu nedenle, “ilişki doğrusaldır” şeklindeki sıfır hipotezini (H₀) reddetmek için yeterli istatistiksel kanıtımız yoktur.

Yorum: Rainbow testine göre, modelde istatistiksel olarak anlamlı bir doğrusallık problemi tespit edilmemiştir.

Sonuç: Çelişkili Kanıtlar ve İleri Adımlar

Bu noktada, görsel kanıt (grafikteki U-şekli) ile istatistiksel kanıt (Rainbow Test p-değeri) arasında bir çelişki ortaya çıkmıştır. Bu, veri analizinde sık karşılaşılan bir durumdur.

  • Grafik, doğrusal olmayan bir yapıya işaret ediyor.

  • Rainbow Testi, istatistiksel olarak anlamlı bir ihlal bulamadığını söylüyor.

Ne Yapılmalı?

Bu gibi durumlarda, analist genellikle daha güçlü kanıtlara veya daha güçlü testlere başvurur.

  1. Görsel Kanıta Öncelik Verme: Genellikle, grafikteki net bir yapısal desen (U-şekli gibi), tek bir istatistiksel testin sonucundan daha güçlü bir kanıt olarak kabul edilebilir. Testler her türlü doğrusal olmama durumuna karşı eşit derecede hassas olmayabilir.

  2. Daha Güçlü Testler Kullanma: Ramsey RESET testi gibi genel spesifikasyon hatalarına karşı daha güçlü olduğu bilinen başka bir test uygulamak, durumu netleştirmeye yardımcı olabilir.

  3. Modeli İyileştirmeyi Deneme: Tedbirli olmak adına, görsel kanıta dayanarak modeli iyileştirmek (örneğin, bir sonraki adımda yapıldığı gibi kuadratik bir terim eklemek) ve yeni modelin varsayımları daha iyi karşılayıp karşılamadığını görmek en doğru yaklaşımdır.

Çözüm Yaklaşımı: Doğrusal Olmayan Yapıyı Modellemek

Önceki analizimizde, model1 için yapılan görsel incelemenin (Residuals vs. Fitted grafiği) doğrusal olmayan bir yapıya (U-şekilli desen) işaret ettiğini, ancak Rainbow Testi’nin bunu istatistiksel olarak doğrulamadığını gördük. Bu gibi çelişkili durumlarda, görsel kanıta öncelik vererek ve tedbirli davranarak, modelin bu doğrusal olmayan yapıyı daha iyi yakalayacak şekilde iyileştirilmesi hedeflenir.

Gözlemlediğimiz U-şekilli yapı, hız arttıkça durma mesafesinin basit bir doğru boyunca değil, ivmelenerek arttığını düşündürmektedir. Bu, fiziksel olarak da mantıklıdır; bir arabanın durma mesafesi, hızının karesiyle ilişkili olan kinetik enerjiye bağlıdır. Bu nedenle, modele speed değişkeninin karesini (speed²) yeni bir açıklayıcı değişken olarak eklemek, bu karesel (kuadratik) ilişkiyi modellememizi sağlar.

Uygulama: Modele Kuadratik Terim Eklemek (Polinom Regresyon)

Bu hipotezi test etmek için, orijinal modele speed² terimini ekleyerek ikinci dereceden bir polinom regresyon modeli olan model2_quadratic’i oluşturuyoruz.

# Modele kuadratik bir terim (speed^2) ekleyerek yeni bir model (polinom regresyon) kuruyoruz.
# I(speed^2) ifadesi, R'a speed^2'yi matematiksel bir işlem olarak yorumlamasını söyler.
model2_quadratic <- lm(dist ~ speed + I(speed^2), data = cars)

# Yeni modelin varsayımlarını tekrar kontrol edelim.
# Yeni Modelin Görsel Kontrolü
plot(model2_quadratic, which = 1)

# Yeni Modelin İstatistiksel Kontrolü
raintest(model2_quadratic)

Sonuçların Değerlendirilmesi ve Modelin Doğrulanması

model2_quadratic üzerinde yapılan varsayım kontrolleri, modele kuadratik bir terim eklemenin doğrusallık problemini başarıyla çözdüğünü hem görsel hem de istatistiksel olarak doğrulamaktadır.

Görsel İyileşme: Doğrulandı!

  • Yeni Residuals vs. Fitted grafiği incelendiğinde, orijinal modeldeki belirgin U-şekilli veya içbükey desenin tamamen ortadan kalktığı açıkça görülmektedir.

  • Artıklar (noktalar), sıfır çizgisi etrafında çok daha rastgele bir şekilde dağılmıştır. Kırmızı düzleştirme çizgisi artık belirgin bir eğriye sahip değildir ve yatay sıfır çizgisine çok daha yakındır, bu da artıklar içinde sistematik bir desen kalmadığını gösterir.

Sonuç: Bu durum, kuadratik terimin (speed²) eklenmesinin, verideki doğrusal olmayan yapıyı başarıyla yakaladığını ve artıklar içinde açıklanamayan bir desen bırakmadığını görsel olarak kanıtlar.

İstatistiksel Doğrulama: Doğrulandı!

  • Yeni model için çalıştırılan Rainbow Testi’nin çıktısı şöyledir:

  • Rainbow test

  • data: model2_quadratic

  • Rain = 0.60915, p-value = 0.884

  • Hesaplanan p-değeri = 0.884, 0.05 anlamlılık düzeyinden çok daha büyüktür (p > 0.05).

Sonuç: Bu sonuç, ‘ilişki doğrusaldır’ şeklindeki sıfır hipotezini (H₀) reddetmek için hiçbir nedenimiz olmadığını gösterir. Başka bir deyişle, istatistiksel test, yeni modelin doğrusallık varsayımını sağladığını güçlü bir şekilde teyit etmektedir.

Nihai Karar

Hem görsel hem de istatistiksel kanıtlar, artık aynı sonuca işaret etmektedir: model2_quadratic’in, orijinal model1’e göre veriyi çok daha iyi temsil eden, istatistiksel olarak geçerli ve üstün bir model olduğuna karar verilir. Bu süreç, modele kuadratik bir terim ekleyerek, başlangıçta tespit ettiğimiz doğrusallık problemini başarıyla çözdüğümüzü ve daha doğru bir model elde ettiğimizi kanıtlar.

Önemli Stratejik Not: Bu örnekte olduğu gibi, dönüşüm için en bariz aday bağımsız değişkendir (speed). Eğer bağımlı değişken (dist) zaten normal dağılıyorsa, ona dönüşüm uygulamaktan (örneğin logaritmasını almaktan) kaçınmak, normallik varsayımını korumak adına iyi bir stratejidir. Kuadratik bir terim eklemek, bu dengeyi korurken doğrusallığı iyileştirmenin etkili bir yoludur.

Doğrusallık Problemi İçin Genel Çözüm Stratejileri: Değişken Dönüşümleri

Bir lineer regresyon modelinde doğrusallık varsayımı ihlal edildiğinde, en yaygın ve güçlü çözüm yöntemi, değişkenlere matematiksel dönüşümler (transformations) uygulamaktır. Amaç, değişkenler arasındaki ilişkiyi “doğrusallaştırarak” lineer modelin varsayımlarını karşılar hale getirmektir. Bu dönüşümler için farklı stratejiler mevcuttur ve doğru stratejiyi seçmek, problemin doğasına bağlıdır.

1. Y Değişkenini Dönüştürmek (Bağımlı Değişken)

  • Ne Zaman Uygulanır? Bu strateji genellikle birden fazla varsayım ihlali olduğunda düşünülür. Özellikle, eğer bağımlı değişkeniniz (Y) zaten normal bir dağılıma sahip değilse (örneğin, sağa çarpık bir dağılım gösteriyorsa), Y’ye dönüşüm uygulamak tek seferde hem doğrusallık, hem normallik hem de sabit varyans (heteroscedasticity) sorunlarını çözme potansiyeline sahiptir.

  • Yaygın Dönüşümler: log(y), sqrt(y) (karekök), (kare). Özellikle finansal veya ekonomik verilerde logaritmik dönüşüm en sık kullanılan ve en etkili olanıdır.

  • En Önemli Püf Noktası (Uyarı): Eğer bağımlı değişkeniniz (Y) analizden önce zaten normal dağılıyorsa, ona dönüşüm uygulamaktan kaçının! Normal dağılan bir değişkene logaritma veya karekök gibi bir dönüşüm uygulamak, onun normal dağılımını bozarak yeni bir varsayım ihlali yaratmanıza (hataların normalliği sorunu) neden olabilir. Bu durumda, çözüm için ikinci stratejiye yönelmek çok daha güvenlidir.

2. X Değişkenini Dönüştürmek (Bağımsız Değişken)

  • Ne Zaman Uygulanır? Bu, genellikle ilk tercih edilen ve en güvenli yöntemdir. Eğer sorun sadece X ile Y arasındaki ilişkinin fonksiyonel formundaysa (örneğin, cars örneğimizdeki gibi U-şekilli bir artık grafiği varsa), X’e dönüşüm uygulamak en doğru yaklaşımdır.

  • Yaygın Dönüşümler: log(x), sqrt(x), (polinom terim). cars örneğinde speed² terimini ekleyerek tam olarak bu stratejiyi uyguladık ve başarılı olduk.

  • Püf Noktası: Bu yöntemin en büyük avantajı, bağımlı değişkenin (Y) dağılımını ve dolayısıyla hata terimlerinin dağılımını doğrudan etkilememesidir. Sadece X ile Y arasındaki ilişkiyi yeniden şekillendirir. Bu yüzden genellikle daha az risklidir.

3. Her İki Değişkeni de Dönüştürmek

  • Ne Zaman Uygulanır? X ve Y arasındaki ilişkinin çok daha karmaşık ve eğrisel olduğu durumlarda, her iki değişkene de aynı anda dönüşüm uygulamak gerekebilir.

  • Yaygın Dönüşüm: En popüler örnek log-log modeldir (log(y) ~ log(x)). Bu model, özellikle ekonomi ve biyoloji gibi alanlarda, değişkenler arasındaki ilişkinin yüzdesel veya oransal olduğu durumlarda (güç yasası ilişkileri) kullanılır.

  • Püf Noktası: Log-log modellerin en büyük avantajlarından biri, katsayıların kolay yorumlanabilmesidir. log(y) ~ log(x) modelindeki X’in katsayısı, esneklik (elasticity) olarak yorumlanır: “X’teki %1’lik bir artış, Y’de ortalama olarak katsayı kadar %’lik bir değişime yol açar.”

Not: Her dönüşümden sonra tekrar artık grafiklerini ve testleri kontrol edin!

Değişken dönüşümü bir “deneme-yanılma” sürecidir. Uyguladığınız bir dönüşüm bir sorunu (doğrusallık) çözerken, farkında olmadan başka bir soruna (sabit varyansın bozulması gibi) yol açabilir. Bu nedenle, modelde yaptığınız her değişiklikten sonra mutlaka tanı grafiklerini (plot(model)) yeniden çizdirip ve ilgili istatistiksel testleri yeniden çalıştırarak modelin genel sağlığını kontrol etmelisiniz. Amaç, tüm varsayımları en iyi şekilde karşılayan modele ulaşmaktır.

Doğrusallık Sağlandı - Sonraki Adım Ne? Kapsamlı Model Kontrolü

Bir regresyon modelinde doğrusallık varsayımını sağlamak, güvenilir bir model inşa etme yolundaki ilk ve en önemli adımdır. Modelin, değişkenler arasındaki temel ilişkiyi doğru bir şekilde yakaladığından emin olduktan sonra, şimdi de bu modelin istatistiksel olarak geçerli ve sağlam olduğundan emin olmak için diğer kritik varsayımları sistematik bir şekilde kontrol etmemiz gerekir.

Bu süreç, bir arabanın motorunu çalıştırdıktan sonra yola çıkmadan önce lastiklerini, frenlerini ve sıvı seviyelerini kontrol etmeye benzer. Motorun (doğrusallık) çalışıyor olması, aracın (modelin) tamamen güvenli olduğu anlamına gelmez.

Altın Kural: Sıralı ve Döngüsel Kontrol

En önemli ilke, bu sürecin sıralı ve döngüsel (iteratif) olmasıdır. Varsayımlar birbirinden tamamen bağımsız değildir; bir varsayımı düzeltmek için yapılan bir müdahale, başka bir varsayımı etkileyebilir (iyileştirebilir veya bozabilir). Örneğin, doğrusallığı sağlamak için modele eklediğimiz kuadratik bir terim, aynı zamanda hataların normalliğini de iyileştirebilir. Bu nedenle, her adımda kontrolü elden bırakmamak esastır.

İzleyeceğimiz yol haritası şu şekildedir:

  1. Normallik Kontrolü: Modelin tahmin hatalarının (artıkların) normal bir dağılıma sahip olup olmadığını inceleriz. Bu, hipotez testlerinin ve güven aralıklarının geçerliliği için önemlidir. Bunun için Shapiro-Wilk testi gibi istatistiksel testler ve Q-Q grafikleri gibi görsel yöntemler kullanılır.

  2. Bağımsızlık Kontrolü: Modelin artıklarının birbirinden bağımsız olup olmadığını, yani hatalar arasında bir örüntü veya serisel bir korelasyon (otokorelasyon) bulunup bulunmadığını test ederiz. Bu, özellikle zaman serisi verilerinde kritik bir varsayımdır ve genellikle Durbin-Watson testi ile kontrol edilir.

  3. Eşit Varyans Kontrolü (Homoscedasticity): Modelin tahmin hatalarının büyüklüğünün (varyansının), tahmin edilen değerlerin tüm seviyeleri boyunca sabit olup olmadığını kontrol ederiz. Varyansın sabit olmaması (heteroscedasticity), sonuçların güvenilirliğini zedeler. Bu kontrol için genellikle Breusch-Pagan testi ve artık grafikleri kullanılır.

  4. Aykırı Değer Kontrolü: Veri setindeki tek bir gözlemin, modelin genel sonuçlarını orantısız bir şekilde etkileyip etkilemediğini inceleriz. Bu “etkili noktalar”, modelin genelleme yeteneğini ciddi şekilde bozabilir. Bu tür gözlemleri tespit etmek için Kaldıraç (Leverage) değerleri ve Cook’s Distance gibi metrikler kullanılır.

Bu dört temel kontrol, modelimizin istatistiksel olarak ne kadar sağlam ve güvenilir olduğuna dair kapsamlı bir resim sunar. Şimdi bu adımları sırasıyla inceleyeceğiz.

1. Normallik Varsayımının Kontrol Edilmesi

Lineer regresyon modelinin temel varsayımlarından biri, hata terimlerinin (artıkların) normal bir dağılıma sahip olmasıdır. Bu varsayımın geçerliliği, özellikle hipotez testlerinin ve tahmin aralıklarının güvenilirliği açısından önemlidir. Artıkların normal dağılıma uyup uymadığını değerlendirmek için üç farklı yaklaşımdan yararlanılır: tanımlayıcı istatistikler, görsel araçlar ve formel uyum iyiliği testleri.

a. Tanımlayıcı İstatistikler ile Ön Değerlendirme

Bu yaklaşım, artıkların sayısal özetlerine bakarak dağılım hakkında hızlı ve öncül bir fikir edinmeyi amaçlar. Normal bir dağılımın teorik özellikleri şunlardır:

  • Çarpıklık (Skewness): Dağılımın simetrisini ölçer. Normal bir dağılım için çarpıklık değeri 0 olmalıdır.

  • Basıklık (Kurtosis): Dağılımın “kuyruklarının” kalınlığını ve tepe noktasının sivri mi yoksa basık mı olduğunu ölçer. Normal bir dağılım için basıklık değeri 3’tür.

Önemli Teknik Not: Fazla Basıklık (Excess Kurtosis)

Basıklık değeri yorumlanırken dikkatli olunmalıdır. Birçok istatistiksel yazılım (R’daki e1071 veya moments paketleri gibi) ve bazı testler (Jarque-Bera testi gibi), standart basıklık değeri yerine “Fazla Basıklık” (Excess Kurtosis) değerini raporlar.

  • Hesaplama: Fazla Basıklık = Basıklık - 3
  • Yorumlama: Bu durumda, normal bir dağılımın “Fazla Basıklık” değeri 0 olur.
  • Pozitif Fazla Basıklık (> 0): Dağılımın kuyruklarının normal dağılıma göre daha “kalın” olduğunu (leptokurtic), yani aykırı değerlerin daha olası olduğunu gösterir.
  • Negatif Fazla Basıklık (< 0): Dağılımın kuyruklarının normal dağılıma göre daha “ince” olduğunu (platykurtic), yani aykırı değerlerin daha az olası olduğunu gösterir.

Bu nedenle, bir basıklık değeri gördüğünüzde, bunun standart basıklık mı (normal = 3) yoksa fazla basıklık mı (normal = 0) olduğunu kullandığınız yazılımın dokümantasyonundan kontrol etmeniz kritik öneme sahiptir.

  • Merkezi Eğilim: Simetrik bir dağılımda, ortalama ve medyan değerleri birbirine eşit veya çok yakın olmalıdır.

Bu istatistikler, normallikten büyük sapmalar olup olmadığını hızlıca anlamak için kullanışlı bir ilk adımdır, ancak tek başlarına kesin bir kanıt sunmazlar.

b. Görsel Araçlar ile İnceleme

Görsel yöntemler, dağılımın şeklini daha sezgisel bir şekilde anlamamızı sağlar ve genellikle istatistiksel testlerden daha bilgilendiricidir.

  • Histogram ve Yoğunluk Grafikleri: Artıkların dağılımını görselleştirir. İdeal olarak, grafik klasik çan eğrisi (bell curve) şekline benzemelidir.

  • Normal Kantiller Grafiği (Q-Q Plot): Bu, normalliği test etmek için en güçlü görsel araçtır. Artıkların gözlemlenen kantillerini, teorik bir normal dağılımdan beklenen kantillerle karşılaştırır. Eğer artıklar normal dağılıyorsa, grafikteki noktaların 45 derecelik düz bir referans çizgisi üzerinde hizalanması beklenir. Sistematik sapmalar (U, N veya S şekilleri), normallik varsayımının ihlal edildiğine işaret eder.

c. Uyum İyiliği Testleri (Goodness-of-Fit Tests) ile İstatistiksel Doğrulama

Normallik varsayımını istatistiksel olarak kesin bir şekilde test etmek ve objektif bir sonuca varmak için uyum iyiliği testleri kullanılır. Bu testler, artıkların dağılımının normal dağılımdan istatistiksel olarak anlamlı bir şekilde farklı olup olmadığını değerlendirir. Testlerin tamamında sıfır hipotezi (H₀), verinin normal dağıldığıdır. Bu nedenle, p > 0.05 sonucu elde etmek hedeflenir.

  • Shapiro-Wilk Testi: Özellikle küçük ve orta büyüklükteki örneklemler için normalliği test etmede en güçlü ve en sık tavsiye edilen test olarak kabul edilir.

  • Kolmogorov-Smirnov Testi: Daha genel bir test olup, bir dağılımın belirli bir teorik dağılıma (sadece normale değil) uyup uymadığını test etmek için kullanılabilir.

  • Anderson-Darling Testi: Dağılımın kuyruklarındaki sapmalara karşı daha hassas olan bir diğer güçlü testtir.

  • Jarque-Bera Testi: Özellikle büyük örneklemlerde ve ekonometri alanında yaygın olarak kullanılır.

Bu yaklaşımlar arasında bir hiyerarşi vardır: Tanımlayıcı istatistikler ve görsel araçlar, genellikle sorunun varlığına dair önemli ipuçları sunan keşifsel adımlardır. Ancak normallik varsayımının karşılanıp karşılanmadığına dair güçlü ve istatistiksel olarak savunulabilir bir sonuç elde etmek için, nihai kararın uyum iyiliği testlerinden birine dayandırılması gerekir.

Analist Notu: Normallik Testlerinin Gücü ve Seçimi Üzerine

Normallik için kullanılacak istatistiksel testin seçimi, analizin gücü ve güvenilirliği açısından önemlidir.

  • Testlerin Gücü (Statistical Power): Bir testin “gücü”, gerçekte bir sapma (normallikten farklılaşma) varken, bu sapmayı doğru bir şekilde tespit etme (yani H₀ hipotezini reddetme) yeteneğidir. Bu bağlamda, Shapiro-Wilk testi, genellikle normalliğe karşı en yüksek güce sahip olduğu için istatistikçiler tarafından sıklıkla tercih edilen standart bir yöntemdir.¹ Kolmogorov-Smirnov ve Anderson-Darling gibi diğer testlerin gücü, duruma göre daha düşük olabilmektedir.

  • Jarque-Bera Testi: Bu test, test istatistiğini doğrudan verinin çarpıklık (skewness) ve basıklık (kurtosis) değerlerinden türetir. Bu mekanizması nedeniyle, bazen gerçekte var olan normallik sapmalarını tespit etmekte diğer testlere göre daha az hassas olabilir. Bu durum, pratikte Jarque-Bera testinin sıfır hipotezini (H₀: Veri normal dağılır) reddetme eğiliminin daha düşük olabileceği anlamına gelir; yani normallik ihlalini gözden kaçırma riski taşıyabilir.¹

Bu nedenle, özellikle şüphe durumlarında, en yüksek güce sahip olduğu bilinen Shapiro-Wilk testine öncelik vermek, en sağlam yaklaşım olarak kabul edilmektedir.

¹ Hocamızın testlerle ile ilgili notu: Bu değerlendirmeler, istatistiksel literatürdeki güç analizlerine ve pratik uygulamalardaki genel eğilimlere dayanmaktadır.

Örnek Değerlendirme

a. Tanımlayıcı İstatistikler ile Ön Değerlendirme

Bu yaklaşım, artıkların sayısal özetlerine bakarak dağılım hakkında hızlı ve öncül bir fikir edinmeyi amaçlar. Normal bir dağılımın teorik özellikleri ile bir veri setinin istatistiklerini karşılaştırarak normallikten sapma olup olmadığını anlamaya çalışırız.

Bunu daha iyi anlamak için, biri normal dağılımdan, diğeri ise sağa çarpık bir dağılımdan üretilmiş iki örnek veri setinin tanımlayıcı istatistiklerini inceleyelim:

Örnek 1: Normal Dağılıma Uyan Veri (normal_data)

> print(get_stats(normal_data))
   Mean     Median   Skewness  Kurtosis
 49.7252  49.8357  -0.1399    3.1039
  • Ortalama vs. Medyan: Ortalama (49.72) ve Medyan (49.83) değerleri birbirine çok yakındır. Bu, dağılımın simetrik olduğuna dair ilk güçlü işarettir.

  • Çarpıklık (Skewness): -0.1399 değeri teorik olarak beklenen sıfıra çok yakındır. Bu da simetriyi destekler.

  • Basıklık (Kurtosis): 3.1039 değeri, normal bir dağılım için beklenen teorik değer olan 3’e çok yakındır.

Yorum: Bu istatistiklerin tamamı, normal_data veri setinin normal dağılıma çok yakın bir yapı sergilediğine dair tutarlı kanıtlar sunmaktadır.

Örnek 2: Normal Dağılımdan Sapan Veri (skewed_data)

> print(get_stats(skewed_data))
   Mean     Median   Skewness  Kurtosis
 22.6264  19.7855   1.4299     5.4178
  • Ortalama vs. Medyan: Ortalama (22.62), Medyan (19.78) değerinden belirgin şekilde büyüktür. Bu, dağılımın simetrik olmadığını ve sağ tarafa doğru uzun bir kuyruğu olduğunu gösterir (sağa çarpık).

  • Çarpıklık (Skewness): 1.4299 değeri, pozitif ve sıfırdan oldukça uzaktır. Bu, dağılımın belirgin bir şekilde sağa çarpık olduğunu istatistiksel olarak teyit eder.

  • Basıklık (Kurtosis): 5.4178 değeri, normal dağılım için beklenen 3’ten oldukça büyüktür. Bu duruma leptokurtik denir ve dağılımın kuyruklarının normal bir dağılıma göre daha “kalın” (heavy-tailed) olduğu anlamına gelir. Yani, veri setinde ortalamadan uzak, aykırı veya uç değerlerin bulunma olasılığı daha yüksektir. Sağa çarpıklıkla birleştiğinde, bu durum özellikle sağ kuyrukta beklenenden daha fazla veri yığılması olduğunu gösterir.

Genel Değerlendirme: Bu karşılaştırma, tanımlayıcı istatistiklerin normallik varsayımından sapmaları nasıl nicel olarak ortaya koyduğunu göstermektedir. Bir modelin artıklarını (residuals) analiz ederken, skewed_data örneğindekine benzer değerler görmek, normallik varsayımının ihlal edildiğine dair güçlü bir erken uyarı sinyali olacaktır.

b. Görsel Araçlar ile Normallik Kontrolü

Tanımlayıcı istatistiklerin verdiği sayısal ipuçlarını doğrulamak ve dağılımın şeklini daha sezgisel bir şekilde anlamak için görsel araçlar kullanılır. Bu karşılaştırmalı grafikler, normal dağılıma uyan bir veri seti (pembe/somon rengi) ile sağa çarpık bir veri setinin (mavi/turkuaz) görsel olarak nasıl ayrıştığını net bir şekilde göstermektedir.

1. KDE (Kernel Density Estimate) ve Histogram Karşılaştırması

  • Normal Dağılım: Pembe histogram, üzerinde yer alan pürüzsüz yoğunluk eğrisiyle (KDE) birlikte, verinin merkez etrafında toplandığı, simetrik ve klasik bir çan eğrisi (bell curve) yapısı sergilemektedir. Bu, normal dağılımın ideal görsel temsilidir.

  • Sağa Çarpık Dağılım: Mavi histogramda ise veri yığılması grafiğin sol tarafında (küçük değerlerde) toplanmış ve sağa doğru uzanan uzun bir kuyruk oluşmuştur. Yoğunluk eğrisi de bu asimetrik yapıyı doğrulamaktadır. Bu, bir önceki bölümde incelediğimiz “Ortalama > Medyan” ve “Pozitif Skewness” bulgularının görsel karşılığıdır.

2. Violin Plot (Keman Grafiği) Karşılaştırması

  • Normal Dağılım: Pembe keman grafiği, hem alttan hem de üstten simetrik bir yapıya sahiptir. Grafiğin en geniş kısmı (verinin en yoğun olduğu bölge) tam ortadadır ve kutu grafiği de bu merkeziyetçi ve simetrik yapıyı teyit eder.

  • Sağa Çarpık Dağılım: Mavi keman grafiği ise belirgin şekilde asimetriktir. Alt kısım (küçük değerler) çok daha geniştir ve yukarı doğru (büyük değerlere) incelerek uzanan uzun bir kuyruk oluşturur. Kutu grafiğinin de yukarı doğru kaydığı ve üst kuyrukta “aykırı gözlem” olarak işaretlenen noktaların olduğu görülür. Bu noktalar aslında gerçek aykırı değerler değil, dağılımın sağa çarpık doğasından kaynaklanan uzun kuyruğun bir sonucudur.

3. Q-Q Plot (Normallik Denetimi) Karşılaştırması

Bu, normalliği test etmek için en hassas ve en önemli görsel araçtır.

  • Normal Dağılım: Pembe grafikteki noktaların, teorik normal dağılımı temsil eden düz referans çizgisine neredeyse mükemmel bir şekilde hizalandığı görülmektedir. Bu, verinin normal dağılım varsayımını çok iyi karşıladığının en güçlü görsel kanıtıdır.

  • Sağa Çarpık Dağılım: Mavi grafikte ise noktalar, referans çizgisinden sistematik bir şekilde sapmaktadır. Noktalar, yukarıya doğru açılan, içbükey bir U-şekli (veya bir yay) oluşturmaktadır. Bu spesifik desen, sağa çarpık bir dağılımın Q-Q grafiğindeki tipik görsel imzasıdır. Eğer dağılım sola çarpık olsaydı, aşağıya doğru açılan ters bir U-şekli görülürdü.

Genel Sonuç: Bu üç görsel araç, birbirini destekler şekilde, normal bir dağılım ile sağa çarpık bir dağılım arasındaki farkları ortaya koymaktadır. Bir regresyon modelinin artıklarını (residuals) analiz ederken, bu grafiklerdeki mavi/turkuaz desenlere benzer yapılar görmek, normallik varsayımının ihlal edildiğine dair güçlü bir işaret olacaktır.

Normal Kantiller Grafiği (Q-Q Plot) ile Normallik Sapmalarının Teşhisi

Normal Kantiller Grafiği (Q-Q Plot), normallik varsayımını görsel olarak test etmek için kullanılan en hassas araçlardan biridir. Bu grafik, gözlemlenen veri kantillerini teorik bir normal dağılımdan beklenen kantillerle karşılaştırır. Noktaların 45 derecelik referans çizgisinden sistematik olarak sapması, normallik varsayımının belirli şekillerde ihlal edildiğini gösterir. Bu desenler, sorunun doğası ve olası çözüm yolları hakkında bize önemli ipuçları verir.

1. Simetrik Dağılım (Normal Dağılım)

Histogram: Simetrik bir çan eğrisi şeklindedir.

Q-Q Plot Yorumu: Bu, ideal durumdur. Noktalar, en uç kuyruklar dahil olmak üzere, 45 derecelik referans çizgisine neredeyse mükemmel bir şekilde hizalanır. Bu, verinin normal dağılım varsayımını çok iyi karşıladığını gösterir.

2. Simetrik ve “Kalın Kuyruklu” Dağılım (Symmetric with Fat Tails / Leptokurtic)

Histogram: İlk bakışta normal dağılıma benzer, simetrik bir yapıdadır. Ancak, tepe noktası daha sivri ve kuyruklar (hem sol hem de sağ) normalden daha kalındır, yani uç değerlerde (aykırı değerlerde) beklenenden daha fazla gözlem vardır.

Q-Q Plot Yorumu: Bu dağılım tipi, Q-Q grafiğinde karakteristik bir “S” şekli oluşturur.

  • Grafiğin Ortası: Noktalar, merkezde çizgiye iyi uyum sağlar, bu da dağılımın simetrik olduğunu teyit eder.

  • Grafiğin Kuyrukları: Ancak, hem sol alt kuyrukta noktalar çizginin altına sapar, hem de sağ üst kuyrukta noktalar çizginin üstüne sapar. Bu “S” deseni, verinin uç noktalarının normal bir dağılımdan beklenenden daha aşırı olduğunun (kalın kuyruklar) en net görsel işaretidir.

3. Pozitif Çarpıklık (Sağa Çarpık Dağılım / Positive Skew)

Histogram: Veri yığılması grafiğin sol tarafındadır ve sağa doğru uzanan uzun bir kuyruk vardır.

Q-Q Plot Yorumu: Bu dağılım tipi, Q-Q grafiğinde yukarıya doğru açılan, içbükey bir “U” şekli (veya yay) oluşturur. Noktalar sistematik olarak referans çizgisinin üzerinde kalma eğilimindedir. Bu desen, pozitif (sağa) çarpıklığın görsel imzasıdır.

4. Negatif Çarpıklık (Sola Çarpık Dağılım / Negative Skew)

Histogram: Veri yığılması grafiğin sağ tarafındadır ve sola doğru uzanan uzun bir kuyruk vardır.

Q-Q Plot Yorumu: Bu dağılım tipi, Q-Q grafiğinde aşağıya doğru açılan, dışbükey bir “N” şekli (veya ters yay) oluşturur. Noktalar sistematik olarak referans çizgisinin altında kalma eğilimindedir. Bu desen, negatif (sola) çarpıklığın görsel imzasıdır.

Önemli Teknik Not: Bu desenleri yorumlamak, olası çözüm stratejileri hakkında da fikir verir. Örneğin, “U” şekli gösteren sağa çarpık bir veri (artıklar) için genellikle logaritmik veya karekök dönüşümü gibi yöntemler, dağılımı normale yaklaştırarak sorunu çözebilir.

Uyarı: Bu grafiklerin yorumlanması, kullanılan istatistiksel yazılıma göre değişiklik gösterebilir. R ve Python gibi yaygın veri bilimi dillerinde, eksenler genellikle “Teorik Kantiller” (x-ekseni) ve “Örneklem Kantilleri” (y-ekseni) şeklinde düzenlenir. Ancak Minitab gibi bazı diğer programlar bu eksenleri tersine çevirebilir. Bu durumda, yukarıda açıklanan “U” ve “N” şekillerinin yönü de tersine dönecektir. Bu nedenle, bir Q-Q grafiğini yorumlamadan önce her zaman eksenlerin neyi temsil ettiğini kontrol etmek kritik öneme sahiptir.

Q-Q Grafiği ile Farklı Dağılım Tiplerinin Teşhisi: Kapsamlı Bir Bakış

Normal Kantiller Grafiği (Q-Q Plot), sadece normallikten genel sapmaları değil, aynı zamanda bu sapmanın spesifik doğasını (çarpıklık, basıklık, vb.) teşhis etmek için de son derece güçlü bir araçtır. Bu görsel, farklı dağılım tiplerinin Q-Q grafiğinde nasıl karakteristik “imzalar” bıraktığını göstermektedir.

Normal (Normal Dağılım):

  • Görünüm: Grafiğin merkezinde yer alan bu örnek, referans noktasıdır. Noktalar, teorik normal dağılımı temsil eden düz çizgiye mükemmel bir şekilde hizalanmıştır. Bu, bir verinin veya model artığının normal dağılım varsayımını karşıladığında görmeyi beklediğimiz ideal durumdur.

Heavy-tailed (Kalın Kuyruklu):

  • Görünüm: Bu grafikte, bir önceki görselde de tartıştığımız karakteristik “S” şekli görülmektedir. Noktalar, grafiğin merkezinde çizgiye uyum sağlarken, sol alt kuyrukta çizginin altına, sağ üst kuyrukta ise çizginin üstüne sapar.

  • Anlamı: Bu, dağılımın kuyruklarının normal bir dağılımdan beklenenden daha “kalın” (heavy-tailed) veya “ağır” olduğunu gösterir. Pratikte bu, veri setinde ortalamadan çok uzak aykırı değerlerin (outliers) beklenenden daha sık görüldüğü anlamına gelir. Özellikle finansal veriler gibi yüksek değişkenliğe (volatiliteye) sahip serilerde bu desenle sıkça karşılaşılır.

Light-tailed (İnce Kuyruklu):

  • Görünüm: Bu, “S” şeklinin tam tersidir. Noktalar, sol alt kuyrukta çizginin üstüne, sağ üst kuyrukta ise çizginin altına sapar. Bu, daha “yatay” bir “S” deseni oluşturur.

  • Anlamı: Bu durum, dağılımın kuyruklarının normalden daha “ince” olduğunu gösterir. Yani, veri setinde aykırı değerlerin beklenenden daha nadir olduğu ve verilerin ortalama etrafında daha sıkı bir şekilde kümelendiği anlamına gelir.

Right Skew (Sağa Çarpıklık):

  • Görünüm: Noktalar, yukarıya doğru açılan, içbükey bir yay (U-şekli) oluşturur ve sistematik olarak referans çizgisinin üzerinde kalır.

  • Anlamı: Bu, verinin pozitif (sağa) çarpık olduğunun net bir göstergesidir. Dağılımın uzun bir sağ kuyruğu vardır ve ortalama, medyandan daha büyüktür.

Left Skew (Sola Çarpıklık):

  • Görünüm: Noktalar, aşağıya doğru açılan, dışbükey bir ters yay (N-şekli) oluşturur ve sistematik olarak referans çizgisinin altında kalır.

  • Anlamı: Bu, verinin negatif (sola) çarpık olduğunun net bir göstergesidir. Dağılımın uzun bir sol kuyruğu vardır ve ortalama, medyandan daha küçüktür.

Bimodal (Çift Modlu):

  • Görünüm: Bu, diğerlerinden farklı ve daha karmaşık bir desendir. Noktalar, merkezde belirgin bir “sıçrama” veya “kopukluk” ile birlikte yine bir tür “S” şekli oluşturur. Ortadaki yatay segment, verinin iki farklı merkez etrafında kümelendiğini gösterir.

  • Anlamı: Bu, verinin tek bir merkez etrafında toplanmadığını, bunun yerine iki farklı tepe noktasına (moda) sahip olduğunu gösterir. Örneğin, bir sınıftaki öğrencilerin boy uzunlukları, kadınlar ve erkekler için iki ayrı tepe noktası oluşturabilir. Bu durum, verinin altında yatan ve gözden kaçırılan bir alt grup (kategorik değişken) olabileceğinin önemli bir işaretidir.

Özetle, bir regresyon modelinin artıklarını incelerken Q-Q grafiğinde bu desenlerden birini tespit etmek, sadece normallik varsayımının ihlal edildiğini değil, aynı zamanda bu ihlalin nedenini ve doğasını anlamamızı sağlar. Bu teşhis, logaritmik dönüşüm (çarpıklık için), aykırı değer analizi (kalın kuyruklar için) veya alt grup analizi (bimodal yapı için) gibi doğru çözüm stratejisini seçmemizde bize rehberlik eder.

Elbette, görsel ve istatistiksel analizlerin ardından, normallik varsayımını formel testlerle nasıl doğrulayacağımızı, hocanın anlatımı ve örnek çıktılar üzerinden toparlayalım.

Uyum İyiliği Testleri (Goodness-of-Fit Tests) ile İstatistiksel Doğrulama**

Görsel yöntemler normallikten sapmalara dair güçlü ipuçları sunsa da, nihai ve objektif karar için formel istatistiksel testlere başvurulur. Bu testler, bir veri setinin (veya model artıklarının) normal dağılımdan gelip gelmediğini bir hipotez testi çerçevesinde değerlendirir.

Temel Hipotez ve Yorumlama Kuralı:

Tüm normallik testlerinde temel mantık aynıdır:

H₀ (Sıfır Hipotezi): Veri, normal bir dağılımdan gelmektedir.

Karar Kuralı:

  • Eğer p-değeri > 0.05 ise, H₀ hipotezini reddetmek için yeterli kanıt yoktur. Bu, normallik varsayımının sağlandığı anlamına gelen istenen sonuçtur.

  • Eğer p-değeri < 0.05 ise, H₀ hipotezi reddedilir. Bu, verinin normal dağılımdan geldiği varsayımını reddetmemiz için yeterli istatistiksel kanıt olduğu, yani normallik varsayımının sağlanmadığı anlamına gelen sorunlu bir sonuçtur.

Uygulamalı Örnek: Normal ve Çarpık Verilerin Test Edilmesi

Bu mantığı daha iyi anlamak için, daha önce incelediğimiz normal_data ve skewed_data (sağa çarpık veri) setleri üzerinde en yaygın iki normallik testini çalıştıralım.

1. Shapiro-Wilk Testi

Normallik testleri arasında en güçlülerinden biri olarak kabul edilen Shapiro-Wilk testi, genellikle ilk başvurulan yöntemdir.

normal_data için Shapiro-Wilk Testi:

shapiro.test(normal_data)

Çıktı: p-value = 0.9464

Yorum: P-değeri (0.9464), 0.05’ten çok daha büyük olduğu için, normal_data’nın normal dağıldığına dair H₀ hipotezini reddedemeyiz. Sonuç: Normallik varsayımı sağlandı.

skewed_data için Shapiro-Wilk Testi:

shapiro.test(skewed_data)

Çıktı: p-value = 4.041e-11 (yani 0.00000000004041)

Yorum: P-değeri, sıfıra çok yakın ve 0.05’ten çok daha küçük olduğu için, skewed_data’nın normal dağıldığına dair H₀ hipotezini güçlü bir şekilde reddederiz. Sonuç: Normallik varsayımı sağlanmadı.

2. Kolmogorov-Smirnov Testi

Bu test, bir veri setinin belirli bir teorik dağılıma (bu durumda, verinin kendi ortalama ve standart sapmasına sahip bir normal dağılıma) uyup uymadığını kontrol eder.

normal_data için Kolmogorov-Smirnov Testi:

ks.test(normal_data, "pnorm", mean(normal_data), sd(normal_data))

Çıktı: p-value = 0.9726

Yorum: P-değeri (0.9726), 0.05’ten çok büyük olduğu için, H₀ hipotezini reddedemeyiz. Sonuç: Normallik varsayımı sağlandı.

skewed_data için Kolmogorov-Smirnov Testi:

ks.test(skewed_data, "pnorm", mean(skewed_data), sd(skewed_data))

Çıktı: p-value = 0.0008371

Yorum: P-değeri (0.0008371), 0.05’ten küçük olduğu için, H₀ hipotezini reddederiz. Sonuç: Normallik varsayımı sağlanmadı.

Genel Değerlendirme: Bu uygulamalar, hem Shapiro-Wilk hem de Kolmogorov-Smirnov testlerinin, normal olan veri ile normal olmayan (çarpık) veri arasında nasıl net bir ayrım yapabildiğini göstermektedir. Bir regresyon modelinin artıklarını analiz ederken, bu testlerden elde edilecek p-değeri > 0.05 sonucu, modelin normallik varsayımını karşıladığını istatistiksel olarak doğrulamamızı sağlar.

Normallik İhlali İçin Çözüm: bestNormalize Paketi ile Otomatik Dönüşüm

Bir regresyon modelinin artıklarının (residuals) normal dağılmadığı istatistiksel testler ve görsel araçlarla tespit edildiğinde, en yaygın çözüm stratejilerinden biri, verilere matematiksel bir dönüşüm (transformation) uygulamaktır. Bu dönüşüm, verinin dağılımını değiştirerek normale yaklaştırmayı hedefler.

Manuel olarak log, sqrt gibi farklı dönüşümleri denemek zaman alıcı olabilir. R’daki bestNormalize paketi, bu süreci otomatikleştirerek, bir dizi popüler dönüşüm tekniği arasından veri setinize en uygun olanını bilimsel bir yöntemle seçen güçlü bir araç sunar.

bestNormalize Paketi Nasıl Çalışır?

Paketin temel amacı, özellikle regresyon artıkları gibi normal dağılması beklenen verilerin normallik varsayımını iyileştirmektir. Bunu yaparken aşağıdaki adımları izler:

  1. Dönüşümleri Dener: Paket, bir dizi farklı ve güçlü dönüşüm tekniğini verinize uygular. Bunlar arasında en bilinenleri şunlardır:

    • Box-Cox Dönüşümü: Sadece pozitif veriler için çalışan, güçlü bir dönüşüm ailesidir.
    • Yeo-Johnson Dönüşümü: Box-Cox’un bir uzantısı olup, sıfır veya negatif değerler içeren verilerle de çalışabilir.
    • Ordered Quantile (ORQ) Normalizasyonu: Veriyi doğrudan bir normal dağılımın kantillerine eşleyen, parametrik olmayan ve esnek bir yöntemdir.
    • Temel Dönüşümler: log(x), sqrt(x) gibi standart fonksiyonlar.
    • Dönüşümsüz (no transform): Paket, verinin orijinal halinin zaten en iyi seçenek olup olmadığını da test eder.
  2. En İyisini Seçer: bestNormalize, bu dönüşümlerin her birinin performansını, genellikle çapraz doğrulama (cross-validation) gibi bir teknik kullanarak değerlendirir. Hangi dönüşümün veriyi en başarılı şekilde normale yaklaştırdığını (normallik istatistiğini en çok iyileştirdiğini) objektif olarak belirler ve bu dönüşümü “en iyi” olarak önerir.

Önemli Uyarılar ve Püf Noktaları

bestNormalize çok kullanışlı bir araç olmasına rağmen, sihirli bir çözüm değildir. Kullanırken aşağıdaki noktalar akılda tutulmalıdır:

  • Garanti Yoktur: Paket, elindeki seçenekler arasından en iyi olanı bulur, ancak bu “en iyi” dönüşümün verinizi mükemmel bir şekilde normale dönüştüreceğinin bir garantisi yoktur. Bazı durumlarda, en iyi bulunan dönüşüm bile normalliği sağlamak için yeterli olmayabilir.

  • Her Zaman Doğrula: Bir dönüşüm uyguladıktan sonra, mutlaka tekrar varsayım kontrolleri yapılmalıdır. Yani, dönüştürülmüş yeni veriler üzerinde yeniden bir Q-Q grafiği çizmeli ve Shapiro-Wilk gibi bir normallik testi çalıştırmalısınız.

  • Semptom mu, Yoksa Asıl Sorun mu? Bazen normallik ihlali, altta yatan başka bir sorunun sadece bir semptomudur. Eğer modelde sabit varyans (homoscedasticity) veya bağımsızlık (independence) gibi daha temel varsayımlar sağlanmıyorsa, sadece veriyi dönüştürmek asıl problemi çözmeyebilir. Bu nedenle, normalliği düzeltmeden önce diğer varsayımların da kontrol edilmesi önemlidir.

Örnek Kod Akışı

# Gerekli paketi yükle
# install.packages("bestNormalize")
library(bestNormalize)

# Modelinizin artıklarının normal dağılmadığını varsayalım
model_residuals <- residuals(my_model)

# 1. En iyi dönüşümü bulmak için bir 'bestNormalize' nesnesi oluştur
bn_object <- bestNormalize(model_residuals)

# 2. Paketin hangi dönüşümü seçtiğini görmek için nesneyi yazdır
print(bn_object)

# 3. Seçilen dönüşümü artıklarınıza uygulamak için 'predict' kullan
transformed_residuals <- predict(bn_object)

# 4. En Önemli Adım: Sonucu Doğrula!
# Dönüştürülmüş artıkların artık normal dağılıp dağılmadığını test et
shapiro.test(transformed_residuals)
qqnorm(transformed_residuals)
qqline(transformed_residuals)

Artık Terimlerde Normallik Varsayımı Sağlanmıyorsa İzlenecek Yol Haritası

Bir regresyon modelinin artıklarının normal dağılmadığı tespit edildiğinde, ilk akla gelen çözüm genellikle verilere bir dönüşüm (transformation) uygulamaktır. Ancak bu, her zaman doğru veya yeterli bir yaklaşım olmayabilir. Hocanın da vurguladığı gibi, normallik ihlali çoğu zaman asıl problemin kendisi değil, altta yatan başka bir varsayım ihlalinin bir semptomudur.

Bu nedenle, normallik problemiyle karşılaşıldığında, aceleci davranmak yerine sistematik bir “sorun teşhis” süreci izlenmelidir.

(a) İlk Adım: Dönüşüm Uygulamak (Semptomatik Tedavi)

Eğer diğer tüm varsayımların sağlandığından eminsek veya normallik sorununu ilk olarak ele almak istiyorsak, dönüşümler etkili bir çözüm olabilir.

Amaç: Verinin dağılımını değiştirerek çarpıklığı (skewness) ve kuyrukların kalınlığını (kurtosis) azaltarak dağılımı normale yaklaştırmak.

Strateji: Genellikle öncelik, normalliği bozan çarpık dağılımı düzeltmek için bağımlı değişkene (Y) bir dönüşüm uygulamaktır. log(y), sqrt(y), Box-Cox veya Yeo-Johnson gibi yöntemler bu amaçla kullanılır. bestNormalize paketi, bu süreci otomatikleştirmek için kullanılabilir.

Uyarı: Bu yöntemlerin işe yaramadığı durumlar olabilir. Eğer dönüşüm sonrası normallik hala sağlanmıyorsa, bu durum problemin kökeninin daha derinlerde olduğunu gösterir.

(b) Olası Kök Neden 1: Sabit Varyans İhlali (Heteroscedasticity)

Normallik testinin başarısız olmasının en yaygın nedenlerinden biri, sabit varyans varsayımının ihlal edilmesidir.

Belirti: Residuals vs Fitted grafiğinde belirgin bir huni (fan) şekli görülür.

Normalliğe Etkisi: Varyans sabit olmadığında, özellikle artan varyans (huni şekli) durumunda, hatalar belirli bir aralıkta daha fazla dağılım gösterir. Bu durum, artıkların dağılımını asimetrik hale getirir ve genellikle ağır kuyruklu (heavy-tailed) bir yapıya yol açar. Bu bozulmuş yapı, normallik testlerinin başarısız olmasına neden olur.

Sonuç: Bu senaryoda, heteroscedasticity, normalliği bozuyormuş gibi görünür. Sorunun asıl kaynağı varyansın sabit olmamasıdır.

Çözüm: Bu durumda normalliği düzeltmeye çalışmak yerine, heteroscedasticity problemini hedef alan çözümlere yönelmek gerekir: bağımlı değişkene log / Box-Cox dönüşümü uygulamak (bu hem varyansı stabilize edebilir hem de normalliği iyileştirebilir), Ağırlıklı En Küçük Kareler (Weighted Least Squares - WLS) veya Robüst Standart Hatalar kullanmak.

(c) Olası Kök Neden 2: Bağımsızlık İhlali (Otokorelasyon)

Özellikle zaman veya mekan boyutu olan verilerde, artıkların bağımsız olmaması normalliği ciddi şekilde etkileyebilir.

Belirti: Artıkların zamana veya gözlem sırasına göre çizildiği grafikte periyodik, dalgalı bir yapı görülür. Durbin-Watson testi p-değeri < 0.05 çıkar.

Normalliğe Etkisi: Artıklar arasındaki sistematik ilişki (otokorelasyon), onların rastgele ve bağımsız bir şekilde normal dağılmasını engeller. Artıkların dağılımı normalden sapar çünkü değerler birbirinden etkilenmektedir.

Sonuç: Bu durumda, bağımlılık (otokorelasyon) sahte bir normallik ihlaline yol açar.

Çözüm: Normallik dönüşümleri yerine, otokorelasyonu modelleyecek yöntemlere başvurmak gerekir: Modele bir zaman trendi eklemek, Zaman Serisi Modelleri (ARIMA, GLS vb.) kullanmak veya modelden çıkarılmış olabilecek ve bu yapısal ilişkiyi açıklayabilecek önemli değişkenleri modele eklemek.

(d) Olası Kök Neden 3: Modelin Yanlış Kurulması (Model Misspecification)

Normallik ihlalinin bir diğer yaygın nedeni, modelin verinin gerçek yapısını doğru bir şekilde temsil etmemesidir.

Belirti: Artıklarda sistematik bir desen, özellikle U-şekilli veya eğrisel bir yapı gözlemlenir.

Normalliğe Etkisi: Model, verideki doğrusal olmayan ilişkiyi yakalayamadığında, bu yakalanamayan sistematik yapı doğrudan artıkların içine sızar. Artıklar artık rastgele gürültü değil, modelin açıklayamadığı bir desen içerirler. Bu desen, artıkların normal dağılmasını engeller.

Çözüm: Çözüm, modeli daha esnek hale getirmektir: Modele polinom terimler () eklemek, Spline’lar veya Genelleştirilmiş Toplamsal Modeller (GAM) gibi alternatif ve daha esnek modelleme teknikleri kullanmak.

Sonuç Olarak: Normallik İhlali Genellikle Bir Semptomdur

Normallik ihlali ile karşılaşıldığında hemen paniğe kapılıp dönüşüm uygulamak yerine, bu durum bir “uyarı ışığı” olarak görülmelidir. Çoğu zaman, normallik ihlali asıl problemin kendisi değil; heteroscedasticity, bağımlılık (otokorelasyon) veya genel bir model hatasının (yanlış fonksiyonel form) bir sonucudur. Bu nedenle, en doğru yaklaşım, diğer varsayımları da dikkatlice kontrol etmek ve eğer varsa, önce bu daha temel sorunları çözmektir. Genellikle, bu kök nedenler düzeltildiğinde, normallik varsayımı da kendiliğinden sağlanır.

Regresyonda Bağımsızlık Varsayımının Kontrolü ve Önemi

Lineer regresyonun en temel ve en kritik varsayımlarından biri, modelin hata terimlerinin (artıklarının) birbirinden bağımsız olmasıdır. Bu, bir gözlemin hatasının (eᵢ), başka bir gözlemin hatası (eⱼ) hakkında bize hiçbir bilgi vermemesi gerektiği anlamına gelir. Yani, hatalar arasında sistematik bir ilişki veya desen bulunmamalıdır.

Bu Varsayım Neden ve Ne Zaman Bu Kadar Önemlidir?

Bağımsızlık varsayımının ihlali, genellikle verinin toplanma şekliyle doğrudan ilişkilidir. Analize başlamadan önce kendimize sormamız gereken ilk soru şudur: “Verilerim, gözlemlerin birbirini etkileyebileceği doğal bir sıralama veya yapıya sahip mi?”

Bu varsayım, özellikle iki tür veri yapısı için hayati öneme sahiptir:

  1. Zaman Serisi Verileri (Time Series Data): Gözlemlerin belirli bir zaman sıralamasına göre (günlük, aylık, yıllık vb.) toplandığı verilerdir.
  • Örnek: Aylık enflasyon oranları, günlük borsa kapanış fiyatları, yıllık GSYİH büyümesi.
  • Sorun: Hocanın da belirttiği gibi, bugünün enflasyon oranı, dünün veya geçen ayın enflasyon oranından etkilenir. Gözlemler arasında doğal bir “hafıza” veya “bağlılık” vardır. Bu durum, bir aydaki tahmin hatasının, sonraki aydaki tahmin hatasıyla ilişkili olma olasılığını artırır.
  1. Mekansal Veriler (Spatial Data): Gözlemlerin coğrafi bir konuma sahip olduğu ve yakın konumdaki gözlemlerin birbirine daha çok benzediği (Tobler’in Coğrafyanın Birinci Yasası) verilerdir.
  • Örnek: Farklı şehirlerdeki konut fiyatları, tarım arazilerindeki verimlilik oranları.

  • Sorun: Bir şehirdeki konut fiyatları, komşu şehirdeki konut piyasasından etkilenebilir. Ankara’daki hava sıcaklığı, komşusu Eskişehir’deki sıcaklıktan bağımsız değildir. Bu coğrafi yakınlık, gözlemlerin hataları arasında bir korelasyon yaratabilir.

Bağımsızlık İhlali: Serisel Korelasyon (Otokorelasyon)

Eğer veriler, zaman veya mekan gibi belirli bir sıraya göre toplanmışsa ve birbirine yakın gözlemlerin hata terimleri arasında bir korelasyon varsa, bu duruma serisel korelasyon veya daha yaygın bilinen adıyla otokorelasyon denir. Bu, bağımsızlık varsayımının ihlal edildiğinin teknik adıdır.

Teşhis ve Çözüm Yaklaşımları

Bu problemi teşhis ettiğimizde (örneğin Durbin-Watson testi ile), standart lineer regresyon modelini terk etmek veya modifiye etmek gerekir. Çözüm, bağımlılığın kaynağını doğrudan modele dahil etmeyi içerir:

  • Zaman Serisi İçin: Bugünkü enflasyonu tahmin ederken, sadece diğer ekonomik göstergeleri değil, aynı zamanda bir önceki aydaki enflasyon değerini (enflasyon_t-1) de bir açıklayıcı değişken olarak modele eklemek. Bu, modelin “hafızasını” hesaba katmasını sağlar.

  • Mekansal Veri İçin: Ankara’daki bir değeri modellerken, komşu illerdeki (örneğin Kırşehir) ilgili değerleri de bir açıklayıcı değişken olarak modele dahil etmek.

Bu yaklaşımlar, gözlemler arasındaki bağımlılık yapısını modelin bir parçası haline getirerek, artıkların tekrar bağımsız olmasını sağlamayı hedefler. Eğer bu yapılmazsa, modelin sonuçları ciddi şekilde yanıltıcı olabilir.

Bağımsızlık Varsayımının Görsel Kontrolü: Artıklar – Sıra Grafiği

Bağımsızlık varsayımını (veya ihlali olan serisel korelasyonu) görsel olarak teşhis etmenin en temel yolu, modelin artıklarını (Residuals) gözlem sırasına (Observation order) göre bir serpme grafiğinde çizmektir.

  • Amaç: Artıkların, verinin toplandığı veya kaydedildiği sıraya göre herhangi bir sistematik desen, trend veya yapı oluşturup oluşturmadığını görmektir.

Grafik Nasıl Yorumlanır?

(a) Rastgele Dağılım → Bağımsızlık Sağlanıyor:

  • Görünüm: Sol üstteki grafikte görüldüğü gibi, noktalar sıfır çizgisi etrafında, belirgin bir desen veya trend olmaksızın tamamen rastgele bir bulut gibi dağılmıştır.

  • Yorum: Bu, ideal durumdur. Bir gözlemin hatasının, bir sonraki gözlemin hatasını tahmin etmediğini gösterir. Bu görsel, artıkların birbirinden bağımsız olduğu varsayımını güçlü bir şekilde destekler.

(b) Sistematik Desen → Serisel Korelasyon (Bağımsızlık İhlali)

Görünüm: Diğer grafiklerde olduğu gibi, artıklar rastgele dağılmak yerine belirgin yapılar sergiler:

  • Zamansal Trend (Sağ Üst): Artıklar, gözlem sırası arttıkça sistematik olarak artma eğilimindedir. Bu, bariz bir artan trend olduğunu gösterir. Zamanla modelin tahmin hataları büyümektedir.

  • Dalgalı Yapı (Alt Ortadaki): Artıklar, bir sinüs dalgası gibi periyodik olarak artıp azalmaktadır. Bu desen, pozitif bir hatayı genellikle pozitif bir hatanın, negatif bir hatayı ise genellikle negatif bir hatanın takip ettiğini gösterir. Buna pozitif serisel korelasyon denir.

  • Yorum: Bu gibi desenlerin varlığı, bağımsızlık varsayımının açıkça ihlal edildiğini ve modelin artıklar içinde açıklayamadığı yapısal bir bilgi bıraktığını gösterir.

Çok Önemli Uyarı: Grafiğin Anlamlı Olduğu Tek Durum

Artıklar – Sıra Grafiği, bağımsızlık varsayımını test etmek için güçlü bir araçtır, ancak SADECE ve SADECE tek bir koşul altında anlamlıdır: X eksenindeki “Gözlem Sırası”nın (Observation Order) gerçek bir anlam taşıması.

Anlamlı Sıralama: Bu, verilerin doğal bir sıraya göre (kronolojik, mekansal vb.) toplandığı anlamına gelir. Örneğin:

  • 1, 2, 3, ... 50 zaman birimlerini (günler, aylar) temsil ediyorsa.

  • 1, 2, 3, ... 50 bir üretim hattındaki sıralı ürünleri temsil ediyorsa.

Anlamsız Sıralama: Eğer veri setinizdeki sıralama (satır numarası), verinin toplandığı gerçek bir sırayı temsil etmiyorsa ve tamamen keyfi ise, bu grafik yanıltıcı olabilir.

En Yaygın Hata ve Doğru Yorumlama

Regresyon analizine yeni başlayanların yaptığı en yaygın hatalardan biri, herhangi bir veri seti için bu grafiği çizip, gözlemledikleri bir deseni “serisel korelasyon” olarak yorumlamaktır.

  • Yanlış Senaryo (Soldaki Grafik): Düşünün ki elinizde zaman boyutu olmayan bir veri var ve şans eseri, daha küçük değerli gözlemler veri setinin başına, daha büyük değerliler ise sonuna denk gelmiş. Artıklar-Sıra grafiğini çizdiğinizde, soldaki gibi sahte bir “artan trend” görebilirsiniz.

  • Doğru Yaklaşım (Sağdaki Grafik): Eğer bu verinin doğal bir sırası yoksa, satırları basitçe karıştırabiliriz (shuffle). Sağdaki grafikte görüldüğü gibi, aynı artık değerleri, satır sırası karıştırıldığında tamamen rastgele bir desene dönüşür. Bu, ilk başta görülen trendin gerçek bir serisel korelasyon olmadığını, sadece verinin keyfi sıralamasından kaynaklanan bir tesadüf (artifact) olduğunu kanıtlar.

Özetle: Bir Artıklar-Sıra grafiğinde bir desen gördüğünüzde, yorum yapmadan önce kendinize şu soruyu sorun: “Bu grafiğin x-ekseni (gözlem sırası) benim için anlamlı bir şeyi temsil ediyor mu?” Cevabınız hayır ise, gördüğünüz desen büyük olasılıkla yanıltıcıdır ve bir bağımsızlık ihlaline işaret etmez.

Bağımsızlık Varsayımının Derinlemesine Analizi: Teşhis, Nedenler ve Çözümler

Bağımsızlık varsayımı, bir regresyon modelinin güvenilirliği için en kritik koşuldur. Bu varsayımın ihlali, genellikle serisel korelasyon veya otokorelasyon olarak adlandırılır ve modelin tüm çıkarımsal sonuçlarını (p-değerleri, güven aralıkları) geçersiz kılabilir.

1. İstatistiksel Teşhis: Durbin-Watson Testi

Görsel yöntemler ilk ipuçlarını verse de, bağımsızlık varsayımını objektif olarak test etmek için formel hipotez testlerine başvurulur.

Hipotezler:

  • H₀ (Sıfır Hipotezi): Artık terimler birbirinden bağımsızdır (otokorelasyon yoktur).

  • H₁ (Alternatif Hipotez): Artık terimler birbirinden bağımsız değildir (otokorelasyon vardır).

Karar Kuralı (p-değeri): Varsayımın sağlanması için H₀ hipotezini reddetmememiz gerekir. Yani, p-değeri > 0.05 olmalıdır.

Durbin-Watson (DW) Testi:

Bu, otokorelasyonu test etmek için en yaygın kullanılan yöntemdir.

  • Amaç: Artıklar arasında 1. dereceden otokorelasyon olup olmadığını, yani bir hatanın (eᵢ) kendisinden hemen önceki hatayla (eᵢ₋₁) ilişkili olup olmadığını test eder.

  • Önemli Not: DW testi, daha uzak gecikmelerdeki (örn: eᵢ ile eᵢ₋₂ arasındaki) ilişkileri tespit etmez. Bunun için Breusch-Godfrey gibi daha gelişmiş testler gerekir.

Yorumlama:

DW Test İstatistiği: Birçok yazılım, p-değeri yerine doğrudan DW test istatistiğini raporlar. Bu değer 0 ile 4 arasında değişir.

  • DW ≈ 2 → Bağımsızlık: Test istatistiği 2’ye ne kadar yakınsa, otokorelasyon olmama ihtimali o kadar yüksektir. Varsayım sağlanır.

  • DW < 2 → Pozitif Otokorelasyon: İstatistik 2’den önemli ölçüde küçükse (genellikle 1.5’in altı), pozitif otokorelasyon olduğuna işaret eder (pozitif hataları pozitif hatalar takip eder).

  • DW > 2 → Negatif Otokorelasyon: İstatistik 2’den önemli ölçüde büyükse (genellikle 2.5’in üstü), negatif otokorelasyon olduğuna işaret eder (pozitif hataları negatif hatalar takip eder).

2. Sorunun Kökenini Anlamak: Veri Sırası Anlamlı mı?

Bir desen veya otokorelasyon tespit edildiğinde, en önemli adım bu durumun nedenini anlamaktır.

Senaryo 1: Veri Sırası Anlamlı (Zaman/Mekan Boyutu Var)

  • Eğer Artıklar-Sıra grafiğinizde zamansal bir trend veya dalgalanma varsa, bu durum modelinizin eksik olduğunu gösterir. Gözlemler arasındaki zamansal veya mekansal ilişkiyi açıklayan bir faktör modele dahil edilmemiştir.

  • Çözüm: Modelin kendisi değiştirilmelidir. Zamansal/mekansal ilişkiyi açıklayan faktörleri (örn: bir önceki zaman dilimindeki değer, t-1) birer açıklayıcı değişken olarak modele dahil etmek gerekir.

Senaryo 2: Veri Sırası Anlamlı Değil (Kesitsel Veri)

  • Eğer verinizin doğal bir sırası yoksa, Artıklar-Sıra grafiğindeki bir desen yanıltıcı olabilir. Ancak bu, bağımsızlık varsayımının sağlandığı anlamına gelmez. Sorun, verinin toplanma şeklindedir.

  • Bu durumda bağımsızlık ihlali, genellikle veri toplama tasarımındaki (design) gizli yapılardan kaynaklanır.

3. Gizli Bağımlılıklar: Kümelenme (Clustering)

Zaman serisi olmayan verilerde bağımsızlık varsayımının ihlalinin en yaygın nedeni, gözlemlerin aslında birbirinden tamamen bağımsız olmadığı, gizli gruplar veya kümeler (clusters) içinde toplanmasıdır.

Temel Fikir: Aynı grup içindeki gözlemler, grup dışındaki gözlemlere kıyasla birbirine daha çok benzer. Bu benzerlik, onların hata terimlerinin de birbiriyle pozitif korelasyonlu olmasına yol açar.

Olası Nedenler ve Örnekler:

Aynı Bireyden Tekrarlı Ölçüm: Bir hastadan gün içinde birden fazla kan basıncı ölçümü almak. Bu ölçümler birbirinden bağımsız değildir.

Aynı Kümeden Gözlemler:

  • Öğrenciler: Aynı sınıftaki öğrencilerin test sonuçları (aynı öğretmen, aynı ortam).

  • Hastalar: Aynı hastanedeki hastaların iyileşme süreleri (aynı doktorlar, aynı prosedürler).

  • Taraftarlar: Sadece belirli bir takımı tutan taraftarlarla anket yapmak.

Aynı Ortam/Cihaz: Aynı laboratuvar cihazıyla yapılan ölçümler veya aynı tarlanın farklı parsellerinden alınan toprak örnekleri.

Sonuçları: Bu “gizli kümelenme”, klasik lineer regresyonun (OLS) varsayımlarını bozar. Modelin ürettiği standart hatalar yanlış (genellikle çok küçük) olur ve bu da hipotez testlerini güvenilmez kılar.

Çözüm: Bu durumda çözüm, basit OLS regresyonundan vazgeçip, bu kümelenme yapısını hesaba katan daha gelişmiş modellere yönelmektir. Karma Etkili Modeller (Mixed-Effects Models) veya Kümelenmiş Standart Hatalar (Clustered Standard Errors) bu tür problemler için tasarlanmış standart yöntemlerdir.

Çözüm Stratejileri: Gizli Grupların (Clustering) Neden Olduğu Bağımlılık

Veri setindeki gözlemler, zaman serisi olmasa bile, aynı sınıftaki öğrenciler, aynı hastanedeki hastalar veya aynı bireyden alınan tekrarlı ölçümler gibi gizli gruplar içinde toplandığında bağımsızlık varsayımı ihlal edilir. Bu durum, aynı grup içindeki gözlemlerin hata terimlerinin birbiriyle korelasyonlu olmasına yol açar. Bu problemi çözmek için üç temel yaklaşım mevcuttur.

Çözüm 1: Cluster-Robust (Küme-Dayanıklı) Standart Hatalar

Bu, probleme yönelik en basit ve en doğrudan “düzeltme” yöntemidir.

Temel Fikir: Modelin kendisini değiştirmek yerine, sadece kümelenmenin neden olduğu sorunu, yani yanlış hesaplanan standart hataları düzeltiriz. Bu yöntem, standart hataları, grup içi korelasyonu hesaba katacak şekilde yeniden hesaplar.

Ne Değişir?

  • Katsayılar (Estimate) Değişmez: Modelin katsayı tahminleri aynı kalır.

  • Standart Hatalar Düzeltilir: Standart hatalar genellikle büyür, bu da t-istatistiklerini küçültür ve p-değerlerini artırır. Bu, daha “dürüst” ve güvenilir hipotez testleri sağlar.

Ne Zaman Tercih Edilir? Eğer temel amacınız sadece güvenilir hipotez testleri elde etmekse ve modelin kendisini karmaşıklaştırmak istemiyorsanız, bu ilk ve en pratik tercihtir.

R’da Uygulama: sandwich ve lmtest paketleri kullanılarak yapılır. vcovCL fonksiyonu, küme-dayanıklı varyans-kovaryans matrisini hesaplar ve coeftest bu düzeltilmiş matrisi kullanarak yeni p-değerlerini sunar.

```r
library(sandwich)
library(lmtest)
# df$grup, gözlemlerin hangi gruba ait olduğunu belirten bir sütundur.
coeftest(model, vcov = vcovCL(model, cluster = df$grup))
```

Çözüm 2: Mixed-Effects (Karma Etkili) Modeller

Bu, problemi sadece “düzeltmek” yerine, grup yapısını doğrudan modelin bir parçası haline getiren daha sofistike ve bilgilendirici bir yaklaşımdır.

Temel Fikir: Model, her bir grubun (örneğin her bir hastanın) kendi başlangıç noktasına (random intercept) sahip olabileceğini varsayar. Bu, grup etkisini modelleyerek, aynı grup içindeki gözlemlerin neden birbirine benzediğini yapısal olarak açıklar.

Avantajları: Sadece standart hataları düzeltmekle kalmaz, aynı zamanda grup düzeyindeki değişkenliği de ölçmemizi sağlar. Örneğin, bir hastanın zaman içindeki değişimini (within-subject effect) ve hastalar arasındaki genel farkları (between-subject effect) ayırt etmemize olanak tanır.

Ne Zaman Tercih Edilir? Veride hiyerarşik bir yapı (öğrenciler sınıflarda, hastalar hastanelerde) veya tekrarlı ölçümler (aynı bireyden birden fazla gözlem) olduğunda bu yöntem standart haline gelir.

R’da Uygulama: lme4 paketinin lmer() fonksiyonu ile yapılır. (1 | grup) terimi, her bir grup seviyesi için rastgele bir kesişim noktası (intercept) tahmin edilmesini sağlar.

```r
library(lme4)
model_re <- lmer(y ~ x1 + x2 + (1 | grup), data = df)
```

Çözüm 3: Modeli Yeniden Gözden Geçirmek (Eksik Değişken Tespiti)

Bazen bağımlılık, altta yatan bir küme yapısından değil, basitçe modelin eksik kurulmasından kaynaklanır.

Temel Fikir: Bağımsızlık ihlali, çoğu zaman verinin doğasından değil, modelin gerçeği eksik temsil etmesinden kaynaklanır. Eğer artıklarda sistematik bir yapı varsa, bu, modelin açıklayamadığı ve hata terimlerinin içine “sızan” bir bilgi olduğu anlamına gelir.

Belirtiler: Artıklarda sistematik bir desen (trend, dalgalanma) veya gruplara göre benzer hata yapıları gözlemlenir.

Çözüm: Bu, bir “deneme-yanılma” sürecidir. Modelin açıklama gücünü artırmak ve artıklardaki deseni ortadan kaldırmak için:

  1. Yeni Açıklayıcı Değişkenler Eklemek: “Modelde hangi önemli faktörü unutmuş olabilirim?” sorusunu sormak.
  2. Doğrusal Olmayan Terimler Eklemek: Değişkenlerin karelerini (), küplerini () ekleyerek doğrusal olmayan ilişkileri yakalamaya çalışmak.
  3. Etkileşim (Interaction) Terimleri Eklemek: Değişkenlerin birlikte özel bir etki yaratıp yaratmadığını (x1 * x2) test etmek.

Bu üç çözüm stratejisi, bağımsızlık varsayımının ihlaliyle karşılaşıldığında başvurulacak temel araç setini oluşturur. Hangi yöntemin en uygun olduğu, problemin doğasına ve analizin amacına bağlıdır.

Regresyonda Sabit Varyans (Homoscedasticity) Varsayımının Kontrolü

Bağımsızlık varsayımından sonra, modelin güvenilirliği için kontrol edilmesi gereken bir diğer temel koşul, hata terimlerinin varyansının sabit olmasıdır. Bu, modelin tahmin hatalarının büyüklüğünün, tahmin edilen değerlerin seviyesine göre sistematik olarak değişmemesi gerektiği anlamına gelir.

Sabit Varyans Nedir ve Neden Önemlidir?

Regresyon Varsayımı: Teknik olarak, herhangi bir bağımsız değişken (X) değeri için hata terimlerinin (eᵢ) varyansı, σ² gibi sabit bir değere eşit olmalıdır. (Var(eᵢ|X) = σ²)

İhlal Durumu: Heteroscedasticity

  • Eğer bu varsayım sağlanmazsa, yani hata terimlerinin varyansı gözlemden gözleme değişiyorsa (Var(eᵢ|X) = σᵢ²), bu duruma heteroscedasticity (değişen varyans) denir.

Neden Önemli?

  • Heteroscedasticity, regresyon modelinin katsayı tahminlerini (Estimate) doğrudan etkilemez. Yani, katsayılar yanlı (biased) olmazlar ve ortalamada hala doğrudurlar.

  • Ancak, heteroscedasticity’nin en büyük ve en yıkıcı etkisi standart hataların hesaplanması üzerinedir. Standart hatalar sistematik olarak yanlış hesaplanır (genellikle olması gerekenden daha küçük tahmin edilirler).

Domino Etkisi: Yanlış hesaplanan standart hatalar, bir dizi önemli sonucu doğrudan geçersiz kılar:

  1. Güvenilmez Hipotez Testleri: t-testleri ve F-testleri standart hatalara dayandığı için, sonuçları (p-değerleri) tamamen güvenilmez hale gelir. Bu durum, aslında anlamsız olan bir değişkenin “istatistiksel olarak anlamlı” bulunmasına (Tip I hata) veya tam tersine, anlamlı bir değişkenin gözden kaçırılmasına (Tip II hata) yol açabilir.

  2. Hatalı Güven Aralıkları: Katsayılar için hesaplanan güven aralıkları da yanlış olur (genellikle yanıltıcı derecede dar olurlar).

Özetle, heteroscedasticity, modelde hangi değişkenlerin kalıp hangilerinin gitmesi gerektiğine karar verdiğimiz en temel süreci sabote eder.

Görsel Araçlarla Sabit Varyans Kontrolü

Heteroscedasticity’yi tespit etmenin en etkili ve yaygın yolu, doğrusallık kontrolünde de kullandığımız Residuals vs Fitted Values (Artıklar vs. Tahminler) grafiğini incelemektir.

Sol Grafik (Sabit Varyans - Homoscedasticity):

  • Görünüm: Bu, ideal durumdur. Artıklar (noktalar), sıfır çizgisi etrafında, yatay eksen boyunca ilerlerken dikey yayılımları değişmeyen, sabit genişlikte bir bant içinde tamamen rastgele saçılmıştır.

  • Yorum: Bu desen, tahmin edilen değerin küçük ya da büyük olmasından bağımsız olarak, modelin hata miktarının (varyansının) sabit kaldığını gösterir. Sabit varyans varsayımı sağlanmıştır.

Sağ Grafik (Değişen Varyans - Heteroscedasticity):

  • Görünüm: Bu, en tipik heteroscedasticity belirtisidir. Artıkların dikey yayılımı, tahmin edilen değerler (Fitted Value) arttıkça belirgin bir şekilde genişler. Grafikte sağa doğru açılan bir huni (funnel) veya megafon şekli görülür.

  • Yorum: Bu desen, modelin küçük değerleri (örneğin, düşük ev fiyatları) nispeten küçük hatalarla tahmin ederken, büyük değerleri (yüksek ev fiyatları) tahmin ederken çok daha büyük ve değişken hatalar yaptığını gösterir. Hatanın varyansı sabit değildir ve tahminin büyüklüğü ile birlikte artmaktadır. Sabit varyans varsayımı açıkça ihlal edilmiştir.

Bu görsel bulgular, formel istatistiksel testlerle doğrulanmalıdır.

Testlerle Sabit Varyans Kontrolü ve Çözüm Stratejileri

Görsel analizde Residuals vs Fitted grafiğindeki huni (fan) şekli ile heteroscedasticity şüphesi doğrulandıktan sonra, bu durumu objektif olarak teyit etmek için formel istatistiksel testlere başvurulur.

Nicel Yaklaşım: İstatistiksel Testler

Bu testlerin tamamında ortak hipotez yapısı şöyledir:

  • H₀ (Sıfır Hipotezi): Varyans sabittir (homoscedasticity vardır).

  • Karar Kuralı: Varsayımın sağlanması için H₀ hipotezini reddetmememiz gerekir. Yani, p-değeri > 0.05 olmalıdır.

1. Bartlett Testi:

  • Özellikleri: Varyansların eşitliğini test etmek için istatistiksel olarak güçlü bir testtir.

  • Zayıflığı: Testin geçerliliği, artıkların normal dağıldığı varsayımına dayanır. Hocanın da belirttiği gibi, heteroscedasticity genellikle artıkların normalliğini de bozar. Bu durum, Bartlett testinin sonuçlarının yanıltıcı olabileceği anlamına gelir. Eğer heteroscedasticity varsa, normallik de bozulmuş olabilir, bu da Bartlett testini güvenilmez kılar.

  • Ne Zaman Kullanılır? Sadece gruplar arasında varyans karşılaştırması yapıyorsanız ve her gruptaki artıkların yaklaşık olarak normal dağıldığından eminseniz tercih edilebilir.

2. Levene Testi:

  • Özellikleri: Bartlett testine göre en büyük avantajı, normallik varsayımına karşı dayanıklı (robust) olmasıdır. Yani, artıklar normal dağılmasa bile güvenilir sonuçlar üretir.

  • Ne Zaman Kullanılır? Heteroscedasticity’den şüpheleniyorsanız (ki bu durum genellikle normalliği de bozar) veya veride aykırı değerler varsa, Levene testi daha güvenli ve standart bir tercihtir.

  • R’da Uygulama (car paketi): leveneTest(res ~ grup, data = df)

Sabit Varyans Varsayımı Sağlanmazsa Ne Yapılır?

Testler p-değeri < 0.05 sonucunu vererek heteroscedasticity problemini doğruladığında, iki ana çözüm stratejisine başvurulur.

Çözüm 1: Dönüşüm Uygulamak (İlk ve En Basit Tercih)

  • Temel Fikir: Bağımlı değişkene (Y) varyans stabilize edici bir dönüşüm uygulamak, genellikle büyük değerlerin neden olduğu artan varyansı “baskılar”.

Yaygın Dönüşümler:

  • log(y) (Logaritmik Dönüşüm): Özellikle finansal ve ekonomik verilerde en yaygın ve etkili yöntemdir. Büyük değerleri küçültürken küçük değerleri daha az etkileyerek aradaki farkı kapatır.

  • sqrt(y) (Karekök Dönüşümü)

  • Box-Cox veya Yeo-Johnson Dönüşümleri: Veriye en uygun dönüşümü sistematik olarak bulan daha gelişmiş yöntemlerdir.

Değerlendirme: Bu yöntemlerin uygulanması kolaydır ve genellikle ilk denenmesi gereken adımlardır. Ancak, her zaman etkili olmayabilirler. Dönüşüm uygulandıktan sonra varsayım kontrolleri mutlaka tekrarlanmalıdır.

Çözüm 2: Ağırlıklandırılmış En Küçük Kareler - Weighted Least Squares (WLS)

Dönüşümler işe yaramadığında veya istenmediğinde, regresyonun tahmin yönteminin kendisini değiştiren daha temel bir çözüme geçilir.

Temel Fikir: Standart OLS regresyonu her gözleme eşit önem verir. WLS ise, bu varsayımı değiştirir ve her gözleme, hatasının varyansıyla ters orantılı bir ağırlık (w) atar.

  • Büyük varyanslı gözlemler (tahmini zor, gürültülü olanlar), modele daha az etki etmeleri için daha küçük bir ağırlık alır.

  • Küçük varyanslı gözlemler (tahmini kolay, güvenilir olanlar), modele daha fazla etki etmeleri için daha büyük bir ağırlık alır.

Teknik Arka Plan: WLS, köşegenlerinde her bir gözlemin hata varyansının (σᵢ²) bulunduğu hata terimi varyans matrisini, bir ağırlık matrisi (W) ile çarparak köşegenleri eşit hale getirmeye çalışır. Ağırlıklar genellikle wᵢ = 1 / σᵢ² olarak tanımlanır. Pratikte σᵢ² bilinmediği için, genellikle modelin tahmin edilen değerlerinin karesi (1 / fitted(model)^2) gibi bir vekil (proxy) kullanılır.

R’da Uygulama: lm() fonksiyonunun weights argümanı kullanılarak kolayca uygulanabilir.

```r
# Ağırlıkları tanımla (yaygın bir yöntem)
w <- 1 / fitted(model)^2

# WLS modelini kur
model_wls <- lm(y ~ x1 + x2, data = df, weights = w)
```

Bu yöntem, heteroscedasticity problemini temelden çözerek güvenilir standart hatalar ve hipotez testleri elde etmemizi sağlar.

Uygulamalı Örnek: Heteroscedasticity Probleminin Teşhisi ve WLS ile Çözümü

Bu örnekte, denetlenen işçi sayısının (X), bir kuruluştaki gözetmen (yönetici) sayısını (Y) nasıl etkilediğini inceleyen bir model üzerinden sabit varyans varsayımının ihlalini ve bu sorunun Ağırlıklandırılmış En Küçük Kareler (WLS) yöntemiyle nasıl çözüldüğünü adım adım analiz edeceğiz.

Adım 1: Standart OLS Regresyonu ve Sorunun Teşhisi

İlk olarak, standart bir OLS (Ordinary Least Squares) regresyon modeli kurarak varsayımları kontrol ediyoruz.

# Standart OLS modeli kuruluyor
model <- lm(Y ~ X, data = employee)
summary(model)

summary(model) Çıktısının İncelenmesi:

  • İlk Uyarı Sinyali: Modelin Residuals (Artıklar) bölümünde, Median değerinin -5.579 olduğu görülür. Bu değerin sıfırdan bu kadar uzak olması, artıkların dağılımında bir asimetri veya başka bir temel sorun olabileceğinin ilk ve en önemli erken uyarı işaretidir.

  • Katsayılar ve Genel Anlamlılık: Model, X değişkeninin istatistiksel olarak çok anlamlı olduğunu (p-value = 1.35e-09) ve modelin bir bütün olarak da anlamlı olduğunu (F-statistic p-value = 1.35e-09) göstermektedir. Adjusted R-squared değeri de %76.69 ile oldukça yüksektir. Ancak, varsayımlar sağlanmadıkça bu p-değerlerine güvenemeyiz.

İstatistiksel Test ile Heteroscedasticity Teşhisi: Sabit varyansı test etmek için, X (işçi sayısı) değişkeni 3 gruba ayrılmış ve bu gruplar arasında artıkların varyansının homojen olup olmadığı Bartlett testi ile kontrol edilmiştir.

# Bartlett testi uygulanıyor
bartlett.test(res ~ X_group, data = employee)
  • Test Sonucu: p-value = 0.0007208. Bu değer, 0.05’ten çok daha küçük olduğu için, “varyanslar homojendir” şeklindeki sıfır hipotezini (H₀) güçlü bir şekilde reddederiz. Sonuç: Modelde istatistiksel olarak anlamlı bir heteroscedasticity problemi vardır.

Görsel Teşhis (Diagnostic Plots):

  • Scale-Location Grafiği: Bu grafik, heteroscedasticity’nin en net görsel kanıtını sunar. Kırmızı trend çizgisinin sürekli artan bir yapı göstermesi, tahmin edilen değerler büyüdükçe artıkların varyansının da sistematik olarak arttığını doğrular.

  • Residuals vs Fitted Grafiği: Hafif aşağı yönlü bir eğrisellik (konveks yapı) ve sağa doğru artan bir saçılım, hem doğrusallık hem de sabit varyans problemlerine işaret eder.

  • Q-Q Residuals Grafiği: Uç kuyruklarda (özellikle sağ üstte) gözlemlenen sapmalar, heteroscedasticity’nin neden olduğu ağır kuyruklu ve asimetrik artık dağılımının bir sonucudur.

Adım 2: Çözüm Yönteminin Uygulanması - WLS Regresyonu

Heteroscedasticity problemi net bir şekilde tespit edildiğine göre, çözümü için Ağırlıklandırılmış En Küçük Kareler (WLS) regresyonunu uyguluyoruz. Ağırlık olarak, varyansın X ile arttığı gözleminden yola çıkarak 1/X² kullanıyoruz. Bu, X değeri büyük olan (ve dolayısıyla varyansı yüksek olan) gözlemlere daha az ağırlık verilmesini sağlar.

# WLS modeli kuruluyor
model2 <- lm(Y ~ X, data = employee, weights = 1/X^2)
summary(model2)

Adım 3: Çözümün Değerlendirilmesi ve Karşılaştırma

Yeni kurulan model2’nin sonuçlarını ve varsayım kontrollerini inceleyerek WLS’nin problemi çözüp çözmediğini değerlendiririz.

summary(model2) Çıktısının İncelenmesi:

  • İlk İyileşme Sinyali: Residuals bölümünde, Median değeri -0.004998’e düşmüştür. Bu, artıkların dağılımının çok daha simetrik hale geldiğini gösteren harika bir iyileşmedir.

  • Model Performansı: Adjusted R-squared değeri %76.69’dan %87.37’ye yükselmiştir. Bu, WLS modelinin verideki değişkenliği daha iyi açıkladığını gösterir.

  • Katsayı Değişimi: X’in katsayısı 0.105’ten 0.120’ye değişmiştir. Bu, heteroscedasticity düzeltildiğinde katsayı tahminlerinin de bir miktar değişebileceğini gösterir.

İstatistiksel Testin Tekrarlanması:

# WLS modeli için Bartlett testi
# ...
bartlett.test(res2 ~ X_group, data = employee)
  • Test Sonucu: p-value = 0.2149. Bu yeni p-değeri, 0.05’ten büyük olduğu için artık H₀ hipotezini reddedemeyiz. Sonuç: WLS, heteroscedasticity problemini istatistiksel olarak başarıyla çözmüştür.

OLS vs. WLS Karşılaştırması (Son Grafik):

  • Mavi Doğru (OLS): Standart OLS modeli, tüm noktalara eşit önem verdiği için, varyansı yüksek olan (sağdaki) noktalardan da etkilenir ve bu bölgedeki belirsizliği tam yansıtamaz. Güven aralığı (mavi gölgeli alan) tüm X değerleri için sabittir, ki bu yanlıştır.

  • Kırmızı Doğru (WLS): WLS modeli, varyansı düşük olan (soldaki, birbirine yakın) noktalara daha fazla önem verir ve bu noktalara OLS’den daha yakındır. Daha da önemlisi, WLS’nin güven aralığı (kırmızı/pembe gölgeli alan), verinin gerçek yapısını yansıtır: X değeri arttıkça, tahmindeki belirsizlik de artar ve güven aralığı bir huni gibi genişler. Bu, WLS’nin sadece daha doğru katsayılar değil, aynı zamanda daha dürüst ve güvenilir belirsizlik tahminleri ürettiğini gösterir.

Etkili Gözlemler (Influential Points) ve Aykırı Gözlemler (Outliers)

Bir regresyon modelinin amacı, verideki genel eğilimi ve ilişkiyi yakalamaktır. Ancak bazen veri setindeki tek bir veya birkaç gözlem, bu genel eğilimi orantısız bir şekilde etkileyerek modelin tamamını domine edebilir. Bu tür “problemli” noktaları tespit etmek ve anlamak, modelin güvenilirliği ve genellenebilirliği için hayati öneme sahiptir.

Aykırı Gözlemler (Outliers)

Tanım: Bir gözlemin gözlenen Y değeri, modelin o gözlem için tahmin ettiği Y değerinden çok farklıysa, bu gözlem bir aykırı değerdir (outlier).

Temel Fikir: Problem, Y ekseni (dikey eksen) üzerindedir. Aykırı değer, modelin genel trendine uymaz ve regresyon doğrusundan dikey olarak oldukça uzaktadır.

Özellikleri:

  • Modelin tahminine uymayan noktalardır.

  • Tanım gereği, büyük artık (residual) değerlerine sahiptirler.

Önemli Not: Her aykırı değer, model için bir tehdit oluşturmaz. Bir nokta aykırı olabilir (modelin tahmininden uzak olabilir) ancak modelin eğimini ve kesişimini tek başına önemli ölçüde değiştirmeyebilir.

Etkili Gözlemler (Influential Points)

Tanım: Bir gözlemin veri setinden çıkarılması, regresyon modelinin en az bir katsayısını (eğim veya kesişim noktası) ciddi biçimde değiştiriyorsa, bu gözlem etkili bir gözlemdir (influential point).

Temel Fikir: Bu, bir gözlemin model üzerinde “söz sahibi” olması, onu kendi tarafına doğru “çekmesi” durumudur. Modelin genel sonucunu tek başına domine eder.

Sonuçları: Bu tür gözlemler doğru tespit edilip ele alınmazsa:

  • Katsayılar Yanıltıcı Olur: Modelin eğimi ve yönü (pozitifken negatife dönmek gibi) tamamen değişebilir.

  • Anlamlılık Sonuçları Değişir: Aslında anlamlı olan bir ilişki anlamsız görünebilir veya tam tersi olabilir.

  • Modelin Genellenebilirliği Bozulur: Model, verideki genel eğilimi değil, o tek bir etkili noktanın yarattığı özel durumu öğrenir. Bu da modelin yeni verilere uygulanabilirliğini yok eder.

Görsel Örneklerin Analizi

Grafik 1 (Sol Çift): Aykırı Değer, Düşük Etki

  • Kırmızı nokta, Y ekseninde genel trendin oldukça üzerindedir; dolayısıyla bir aykırı değerdir. Ancak, X değeri veri bulutunun merkezine yakındır.

  • Bu noktanın varlığı, regresyon doğrusunun eğimini (b) biraz artırır (5.04’ten 5.12’ye) ve kesişim noktasını (a) biraz düşürür (-2.96’dan -3.70’e). Ancak bu değişiklikler dramatik değildir. İlişkinin yönü (pozitif) ve genel yapısı korunur. Bu, etkili olmayan bir aykırı değere iyi bir örnektir.

Grafik 2 (Orta Çift): Aykırı Değer Değil, Yüksek Etkili Olabilir (Kaldıraç Noktası)

  • Kırmızı nokta, X ekseninde diğer gözlemlerden çok uzaktadır (X=14). Bu tür noktalara yüksek kaldıraç (high leverage) noktaları denir.

  • Ancak bu nokta, mevcut regresyon doğrusunun uzantısına oldukça yakın bir konumdadır. Yani, Y ekseninde bir aykırılık göstermez (artığı küçüktür).

  • Sonuç olarak, bu noktanın modele etkisi çok azdır. Katsayılar neredeyse hiç değişmez. Bu, yüksek kaldıraca sahip ancak etkili olmayan bir noktaya örnektir.

Grafik 3 (Sağ Çift): Hem Aykırı Hem de Yüksek Kaldıraçlı → YÜKSEK ETKİLİ GÖZLEM

  • Bu, en tehlikeli durumdur. Kırmızı nokta, hem X ekseninde diğerlerinden uzaktır (yüksek kaldıraçlıdır) hem de Y ekseninde genel trendin çok dışındadır (aykırı değerdir).

  • Bu tek bir noktanın varlığı, regresyon doğrusunu kendisine doğru ciddi şekilde “çeker”. Modelin eğimi neredeyse yarı yarıya düşer (5.12’den 3.32’ye).

  • Bu durum, X ile Y arasındaki ilişkinin gerçekte olduğundan çok daha zayıf görünmesine neden olur. İşte bu, modelin tüm sonuçlarını altüst eden yüksek derecede etkili bir gözlemdir (highly influential point).

Özetle, analizlerimizde asıl avlamamız gerekenler, üçüncü grafikteki gibi hem aykırı hem de yüksek kaldıraçlı olan ve modelin tüm yapısını bozan etkili gözlemlerdir. Her aykırı değerin tehlikeli olmadığını bilmek, bu noktaları doğru bir şekilde teşhis etmek için atılacak ilk adımdır.

Etkili Gözlemlerin Anatomisi: Aykırı Değerler vs. Yüksek Kaldıraçlı Gözlemler

Bir önceki bölümde, bazı gözlemlerin modeli orantısız şekilde etkileyebileceğini gördük. Bu “problemli” gözlemleri doğru teşhis edebilmek için, iki temel kavramı birbirinden ayırt etmemiz gerekir: Aykırı değerler (Outliers) ve Yüksek Kaldıraçlı Gözlemler (High Leverage Observations).

Yüksek Kaldıraçlı Gözlemler (High Leverage Observations)

Tanım: Bir gözlemin, açıklayıcı değişkenler (X) bakımından veri setindeki diğer gözlemlerden çok farklı veya uç bir değere/kombinasyona sahip olması durumudur.

Temel Fikir: Problem X uzayındadır. Yani, bu gözlem yatay eksende diğerlerinden uzaktadır.

Örnek: Bir modelde yaş değişkeni kullanılıyorsa ve tüm gözlemler 20-40 yaş aralığındayken, tek bir gözlemin 85 yaşında olması, bu gözlemi yüksek kaldıraçlı yapar.

Kritik Not: Yüksek kaldıraçlı bir gözlem, tek başına aykırı olmak zorunda değildir. Bu gözlemin Y değeri, modelin genel trendine mükemmel bir şekilde uyabilir. Ancak, X uzayında yalnız olduğu için, regresyon doğrusunun eğimi üzerinde potansiyel olarak büyük bir “söz hakkına” veya “kaldıraç gücüne” sahiptir.

Gözlem Türlerinin Sınıflandırılması

Bir gözlem bu iki özelliğe farklı kombinasyonlarda sahip olabilir:

  1. Sadece Aykırı (Outlier) Olabilir: X değeri ortalamaya yakındır, ancak Y değeri modelin tahmininden çok uzaktır. (Bir önceki görseldeki 1. grafik)

  2. Sadece Yüksek Kaldıraçlı (High Leverage) Olabilir: X değeri uçtadır, ancak Y değeri modelin trendine uyar. (Bir önceki görseldeki 2. grafik)

  3. İkisi Birden Olabilir (Hem Aykırı Hem Yüksek Kaldıraçlı): Hem X değeri uçtadır, hem de Y değeri bu uç noktadaki trende uymaz. (Bir önceki görseldeki 3. grafik)

Hem Aykırı Hem Yüksek Kaldıraçlı Gözlemler: En Tehlikeli Durum

Bu üçüncü durum, regresyon analizindeki en tehlikeli senaryoyu oluşturur.

Neden Tehlikeli? Bir gözlem hem yüksek kaldıraçlı (X uzayında yalnız) hem de aykırı (Y uzayında trende uymuyor) olduğunda, regresyon doğrusunu kendisine doğru sürükleme potansiyeli en üst düzeye çıkar.

Etkisi: Bu “modeli sürükleyen” gözlemler, tek başlarına modelin eğimini, yönünü ve katsayılarını ciddi biçimde değiştirerek tamamen yanıltıcı sonuçlara yol açabilirler.

Neden Tespit Etmeliyiz? Asıl Soru: “Etki”

Bir gözlemin sadece aykırı veya yüksek kaldıraçlı olması, onun model için zararlı olduğu anlamına gelmez. Birçok gözlem bu özelliklere sahip olabilir ama modele anlamlı bir etkileri olmayabilir.

Bu yüzden, analizdeki asıl kritik soru şudur:

Bu gözlem, model üzerinde “aşırı bir etkiye” sahip mi?

Bizim aradığımız ve teşhis etmemiz gerekenler, bu soruya “evet” yanıtını veren etkili gözlemlerdir (influential points). Bir gözlemin etkili olup olmadığını anlamak için, onun “Aykırılık” ve “Kaldıraç” özelliklerini bir arada değerlendiren özel metriklere başvurmamız gerekir. Yüksek kaldıraç, bir gözlemin etkili olması için bir ön koşul değildir, ancak potansiyel bir risk taşıdığını gösteren önemli bir uyarı işaretidir.

Etkili Gözlemlerin Sayısal Tespiti: DFFITS ve Cook’s Distance

Bir gözlemin sadece “aykırı” veya “yüksek kaldıraçlı” olup olmadığına bakmak yerine, asıl sormamız gereken sorunun “Bu gözlem model üzerinde aşırı bir etkiye sahip mi?” olduğunu belirlemiştik. İşte bu etkiyi ölçmek için tasarlanmış, bir gözlemin modelden çıkarıldığında sonuçları ne kadar değiştirdiğini temel alan iki temel metrik vardır.

1. DFFITS (Difference in Fits)

Temel Fikir: DFFITS, her bir gözlem için ayrı ayrı hesaplanır ve şu soruyu yanıtlar: “Eğer bu tek gözlemi veri setinden çıkarsaydım, o gözlemin kendi tahmin edilen değeri (ŷᵢ) ne kadar değişirdi?”

Anlamı: Bir gözlemin modele dahil edilip edilmemesinin, modelin kendi tahminleri üzerindeki etkisini ölçer. Büyük bir DFFITS değeri, o gözlemin varlığının, modelin tahminlerini (özellikle kendi tahminini) önemli ölçüde etkilediğini, yani modelin o gözleme “fazla odaklandığını” gösterir.

Karar Kuralı (Yaygın Pratik): Bir gözlemin mutlak DFFITS değeri için genellikle bir eşik değeri hesaplanır. Eğer bir gözlemin |DFFITS| değeri bu eşiği aşarsa, etkili bir gözlem olabileceğinden şüphelenilir.

Eşik Değeri: 2 * √(p / n)

  • p: Modeldeki parametre sayısı (sabit terim dahil).

  • n: Toplam gözlem (örneklem) sayısı.

2. Cook’s Distance (Cook Uzaklığı)

Temel Fikir: Cook’s Distance, bir gözlemin etkisini ölçmek için kullanılan en kapsamlı ve en popüler metriklerden biridir. Şu soruyu yanıtlar: “Eğer bu tek gözlemi veri setinden çıkarsaydım, modelin TÜM katsayıları (β₀, β₁, ...) ne kadar değişirdi?”

Anlamı: DFFITS’in aksine, sadece tek bir tahmindeki değişime değil, modelin genel yapısı (tüm katsayılar) üzerindeki toplam etkiye odaklanır.

En Kapsamlı Ölçüt Olmasının Nedeni: Cook’s Distance, formülasyonunda bir gözlemin hem artık büyüklüğünü (aykırılığını) hem de kaldıraç bilgisini aynı anda hesaba katar. Bu nedenle, bir gözlemin etkili olup olmadığını değerlendirmede tek başına çok güçlü bir ölçüttür.

Karar Kriterleri (Yaygın Kurallar):

  • Cook’s D > 1: Bu durum, o gözlemin çok büyük ihtimalle etkili olduğuna dair güçlü bir işarettir ve mutlaka incelenmelidir. Bu, “kırmızı alarm” seviyesidir.

  • Cook’s D > 0.5: Gözlemin şüpheli olduğu ve daha detaylı incelenmesi gerektiği anlamına gelir. Bu, “sarı alarm” seviyesidir.

  • Diğer Değerlere Göre Fark: Bazen mutlak bir eşik değerinden ziyade, bir gözlemin Cook’s D değerinin diğer gözlemlerinkinden bariz bir şekilde daha büyük olması, onun potansiyel olarak etkili olduğunu düşünmek için yeterlidir.

Özetle, bir gözlemin etkisini değerlendirirken bu iki metrik bize farklı ama tamamlayıcı bilgiler sunar. DFFITS bir gözlemin tahminler üzerindeki etkisini ölçerken, Cook’s Distance modelin genel yapısı üzerindeki toplam etkiyi ölçer. Pratikte, özellikle Cook’s Distance değeri, etkili gözlemleri tespit etmek için en sık başvurulan standart yöntemdir. Bu metrikleri aşan gözlemler, veri giriş hatası mı, yoksa veri setinin doğal ama aşırı bir parçası mı olduklarını anlamak için dikkatlice incelenmelidir.

Uygulamalı Örnek: employee Veri Setinde Etkili Gözlemlerin Tespiti

Teorik olarak tanımladığımız DFFITS ve Cook’s Distance metriklerini, heteroscedasticity problemi tespit ettiğimiz employee veri seti ve bu veri setiyle kurduğumuz standart OLS modeli üzerinde uygulayarak etkili gözlemleri nasıl teşhis edeceğimizi görelim.

1. Etki Ölçütlerinin Hesaplanması

R’da, bir lm model nesnesi üzerinden bu metrikleri hesaplamak oldukça basittir.

# 'model'in bir önceki adımdan gelen lm(Y ~ X, data = employee) nesnesi olduğunu varsayıyoruz.

# Influence (Etki) Ölçütlerini Hesapla
cook_vals <- cooks.distance(model)
dffits_vals <- dffits(model)

# İlk birkaç gözlemin değerlerine bakalım
head(round(cook_vals, 3))
#> 1      2      3      4      5      6 
#> 0.030  0.010  0.004  0.007  0.012  0.000 

head(round(dffits_vals, 3))
#>      1       2       3       4       5       6 
#> -0.241  -0.141  -0.090  -0.114  -0.152  0.027

Bu çıktılar her bir gözlemin sayısal etki değerlerini gösterir, ancak bu değerleri yorumlamanın en kolay yolu onları görselleştirmektir.

2. Cook’s Distance Grafiğinin Yorumlanması

Grafik: Her bir gözlemin (Index) Cook’s Distance değeri dikey çubuklarla çizilir. Yorumlamayı kolaylaştırmak için kritik eşik değerleri olan 0.5 (mavi kesikli çizgi) ve 1 (kırmızı kesikli çizgi) grafiğe eklenir.

Yorum:

  • Grafiğe bakıldığında, gözlemlerin büyük çoğunluğunun Cook’s D değeri sıfıra çok yakındır.

  • Ancak, grafiğin sağ tarafında, diğerlerinden belirgin şekilde daha yüksek değerlere sahip birkaç gözlem dikkat çekmektedir.

  • Hiçbir gözlem, “yüksek etkili” olarak kabul edilen kırmızı çizgiyi (D > 1) aşmamaktadır.

  • Benzer şekilde, hiçbir gözlem “şüpheli” olarak kabul edilen mavi çizgiyi (D > 0.5) de aşmamaktadır.

  • Sonuç: Bu grafiğe göre, model üzerinde aşırı derecede etkili veya şüpheli kabul edilen bir gözlem bulunmamaktadır. Yine de, 25-27. gözlemlerin diğerlerine göre daha yüksek etkiye sahip olduğu not edilebilir.

3. DFFITS Grafiğinin Yorumlanması

Grafik: Her bir gözlemin DFFITS değeri çizilir ve pratik karar kuralı olan 2 * √(p / n) eşik değeri kırmızı kesikli çizgi ile gösterilir.

Yorum:

  • Grafiğe bakıldığında, birkaç gözlemin (özellikle sağ taraftakilerin) diğerlerinden daha büyük mutlak DFFITS değerlerine sahip olduğu görülmektedir.

  • Ancak, hiçbir gözlem kırmızı eşik çizgisini aşmamaktadır.

  • Sonuç: DFFITS ölçütüne göre de, model üzerinde orantısız bir etkiye sahip, “etkili gözlem adayı” olarak nitelendirilebilecek bir nokta tespit edilmemiştir.

Nihai Karar ve Sonraki Adımlar

Bu employee veri seti örneğinde, hem Cook’s Distance hem de DFFITS metrikleri, modelin sonuçlarını tek başına dramatik bir şekilde değiştiren aşırı etkili bir gözlem olmadığını göstermiştir.

Eğer Etkili Bir Gözlem Tespit Edilseydi Ne Yapılmalıydı?

  1. Gözlemi İncele: İlk adım, o gözlemin veri setindeki değerlerini kontrol etmektir. Belki de bu değer, bir veri giriş hatası (yazım yanlışı) sonucu oluşmuştur ve kolayca düzeltilebilir.

  2. Gözlemin Doğasını Anla: Eğer veri doğru girilmişse, bu gözlemin neden bu kadar farklı olduğunu anlamaya çalışmak gerekir. Bu, meşru ama nadir bir durumu mu temsil ediyor (örneğin, bir şirketin CEO’sunun maaşı)? Yoksa ölçüm hatası gibi bir sorundan mı kaynaklanıyor?

  3. Çıkarma Kararı (Dikkatli Olun!):

  • Bir gözlemi veri setinden çıkarmak, en son çare olmalıdır. Özellikle küçük veri setlerinde, her bir gözlem değerlidir.

  • Eğer bir gözlemin bariz bir şekilde bir hata (imkansız bir değer, ölçüm arızası vb.) olduğu kesinse, o zaman veri setinden çıkarılıp model yeniden kurulabilir.

  • Ancak, eğer gözlem gerçek ama aşırı bir durumu temsil ediyorsa, onu çıkarmak modelin gerçek dünyayı temsil etme yeteneğini zayıflatabilir. Bu gibi durumlarda, o gözlemi veri setinde tutmak ama etkisini azaltmak için Robüst Regresyon gibi alternatif modelleme teknikleri kullanmak daha doğru bir yaklaşım olabilir.

  • Unutmayın: Mümkün olduğunca veri atmamaya çalışılır, ancak bazı durumlarda modelin sağlığı için bu gerekli olabilir.

Çoklu Doğrusal Bağlantı (Multicollinearity) Problemi

Çoklu doğrusal bağlantı, bir regresyon modelindeki en temel varsayımlardan birinin ihlalidir: açıklayıcı değişkenlerin (X) birbirinden bağımsız olması. Bu problem, iki veya daha fazla açıklayıcı değişken arasında yüksek derecede bir korelasyon olduğunda ortaya çıkar.

Temel Fikir: Sorun, bağımlı değişken (Y) ile olan ilişkide değil, açıklayıcı değişkenlerin (X) kendi aralarındaki ilişkidedir. Örneğin, bir kişinin kilosunu tahmin etmeye çalışırken modele hem “sol bacak uzunluğunu” hem de “sağ bacak uzunluğunu” dahil etmek gibi. Bu iki değişken neredeyse aynı bilgiyi taşıdığı için aralarında mükemmel bir korelasyon olacaktır.

Çoklu Doğrusal Bağlantının Semptomları ve Etkileri

Bu problemin en yanıltıcı yönü, modelin genel performansını ilk bakışta etkilemiyor gibi görünmesidir.

Tahmin Gücü Etkilenmez: Hocanın da vurguladığı gibi, eğer tek amacınız tahmin yapmaksa, çoklu doğrusal bağlantı genellikle büyük bir sorun teşkil etmez. Model, bir bütün olarak hala iyi tahminler üretebilir.

Asıl Problem: Yorumlama ve Anlamlılık: Sorun, modelin katsayılarını yorumlamaya ve hangi değişkenin ne kadar önemli olduğunu anlamaya çalıştığımızda başlar.

  • Standart Hataların Büyümesi: Çoklu doğrusal bağlantının en temel matematiksel sonucu, model katsayılarının standart hatalarını şişirmesidir.

  • Güvenilmez Hipotez Testleri: Büyüyen standart hatalar, t-istatistiklerinin küçülmesine ve p-değerlerinin büyümesine neden olur. Bu durum, gerçekte bağımlı değişkenle güçlü bir ilişkisi olan bir değişkenin, istatistiksel olarak anlamsız (p > 0.05) görünmesine yol açabilir. Model bir bütün olarak çok anlamlı (yüksek F-istatistiği, yüksek R-kare) görünürken, içindeki değişkenlerin hiçbiri tek başına anlamlı çıkmayabilir.

Örnek Üzerinden Problemin İncelenmesi

Yukaıdaki data seti ile verilen örnek, bu durumu mükemmel bir şekilde göstermektedir:

  1. Senaryo: Aynı minik veri seti, iki farklı istatistikçiye veriliyor ve iki farklı model denklemi ortaya çıkıyor:
  • Model 1: Ŷ = -87 + X₁ + 12X₂ (Bu modelde X₂ çok daha önemli görünüyor)

  • Model 2: Ŷ = -7 + 9X₁ + 2X₂ (Bu modelde ise X₁ çok daha önemli görünüyor)

  1. Soru: Hangi Model Doğru?
  • İki model, değişkenlerin önemi hakkında tamamen zıt sonuçlar veriyor. Bu durum, model katsayılarının istikrarsız (unstable) olduğunun ve verideki küçük değişikliklere aşırı hassas tepki verdiğinin bir işaretidir. Bu istikrarsızlık, çoklu doğrusal bağlantının en tipik semptomudur.
  1. Tahminlerin Karşılaştırılması:

  • İşin ilginç yanı, bu iki tamamen farklı görünen modelin, orijinal veri seti için yaptığı tahminlere baktığımızda, sonuçların tıpatıp aynı olduğunu görüyoruz.

  • Dahası, her iki modelin tahminleri, gözlemlenen gerçek Y değerleriyle de birebir aynıdır. Bu, her iki modelin de hata payının sıfır olduğu ve veriye mükemmel uyum sağladığı anlamına gelir.

“Hmm!!! Burada Bir Problem Var.”

Bu mükemmel uyum, aslında bir başarı değil, ciddi bir problemin habercisidir:

  • Mükemmel Uyum Sorunu: Gerçek dünyada, sosyal bilimlerde veya ekonomide sıfır hatalı bir model neredeyse imkansızdır. Bu durum, verinin kendisinde bir doğrusal bağımlılık olduğunu gösterir. Örnekteki X₁ ve X₂ değişkenleri arasında büyük olasılıkla X₂ ≈ a + b*X₁ gibi bir ilişki vardır.

  • Sonsuz Sayıda “Doğru” Model: Değişkenler arasında mükemmel bir doğrusal ilişki olduğunda, bu ilişkiyi sağlayan sonsuz sayıda farklı katsayı kombinasyonu bulunabilir. İki istatistikçinin bulduğu modeller, bu sonsuz çözüm kümesinden sadece iki tanesidir. Her ikisi de matematiksel olarak “doğrudur” ancak hiçbiri yorumlanabilir veya güvenilir değildir.

Sonuç olarak, bu örnek, çoklu doğrusal bağlantının bir modelin tahmin yeteneğini bozmadan, onun yorumlanabilirliğini ve katsayılarının güvenilirliğini nasıl tamamen yok ettiğini göstermektedir. Bu nedenle, bu problemin teşhis edilmesi ve çözülmesi kritik öneme sahiptir.

Çoklu Doğrusal Bağlantının Model Üzerindeki Etkileri

Çoklu doğrusal bağlantı (multicollinearity), yani açıklayıcı değişkenler (X) arasında yüksek korelasyon olması durumu, bir regresyon modelinin güvenilirliğini ve yorumlanabilirliğini birkaç temel yönden baltalar.

1. Katsayıların İstikrarsızlığı ve Mantıksızlığı

Çoklu doğrusal bağlantının en belirgin semptomlarından biri, modeldeki küçük değişikliklere karşı katsayıların aşırı hassas olmasıdır.

Etki: Modele yeni bir değişken eklendiğinde veya modelden bir değişken çıkarıldığında, diğer değişkenlerin tahmin edilen katsayıları büyük ölçüde ve beklenmedik şekillerde değişir.

Örnek (Vücuttaki Yağ Oranı): Vücuttaki yağ oranını ölçen Triceps Kalınlığı (X₁) ve Uyluk Çevresi (X₂) gibi iki değişken düşünelim. Bu iki değişkenin birbiriyle yüksek korelasyonlu olması (Corr = 0.924) beklenir.

  • X₁ tek başınayken katsayısı 0.8571’dir.

  • X₂ tek başınayken katsayısı 0.8565’tir.

  • İkisi modele birlikte dahil edildiğinde X₁’in katsayısı 0.224’e düşerken, X₂’nin katsayısı 0.6594 olur.

  • Modele Orta Kol Çevresi (X₃) gibi ilişkili üçüncü bir değişken eklendiğinde ise sonuçlar tamamen mantıksızlaşır: X₁’in katsayısı 4.334’e fırlar, X₂’nin katsayısı ise negatif (-2.857) olur. Bu, uyluk çevresi artarken vücut yağ oranının azaldığı gibi fiziksel olarak imkansız bir sonuçtur.

Sonuç: Yüksek korelasyon, modelin her bir değişkenin Y üzerindeki bireysel katkısını ayırt etmesini imkansız hale getirir, bu da istikrarsız ve mantık dışı katsayılara yol açar.

2. Yorumlamanın İmkansızlaşması

Çoklu doğrusal bağlantı, regresyon katsayılarının standart yorumunu temelden geçersiz kılar.

Standart Yorum: “Diğer tüm X değişkenleri sabit tutulurken, ilgili değişkendeki bir birimlik artışın Y üzerindeki ortalama etkisi.”

Problem: Eğer X₁ ve X₂ birbiriyle yüksek derecede ilişkiliyse, birini artırdığınızda diğeri de doğal olarak artar veya azalır. Dolayısıyla, “birini sabit tutup diğerini değiştirmek” pratikte mümkün değildir. Bu temel varsayım çöktüğü için, katsayıların bireysel etkilerini yorumlamak anlamsızlaşır.

3. Standart Hataların Şişmesi (Inflated Variances)

Bu, çoklu doğrusal bağlantının en önemli ve en tehlikeli teknik sonucudur.

Etki: Birbiriyle yüksek korelasyonlu değişkenler modele eklendikçe, bu değişkenlerin katsayılarına ait standart hatalar (s(b)) dramatik bir şekilde büyür.

Örnek: Yağ oranı örneğinde X₁’in standart hatası tek başınayken 0.128 iken, X₂ ve X₃ ile birlikte modele girdiğinde 3.016’ya fırlar. Bu duruma varyans şişmesi (variance inflation) denir.

Sonuç: Standart hataların büyümesi, katsayı tahminlerini daha belirsiz ve güvenilmez hale getirir.

4. Anlamlı İlişkilerin Anlamsız Görünmesi (Çelişkili Test Sonuçları)

Standart hataların şişmesi, hipotez testlerini doğrudan etkileyerek yanıltıcı sonuçlara yol açar.

Mekanizma: Bir katsayının anlamlılığını test eden t-istatistiği, t = b / s(b) formülüyle hesaplanır. Standart hata (s(b)) paydada yer alır. Çoklu doğrusal bağlantı nedeniyle s(b) şiştiğinde, t-istatistiği küçülür, bu da p-değerinin büyümesine yol açar.

Paradoks: Bu durum, şu kafa karıştırıcı senaryoya yol açar:

  • Modelin bir bütün olarak anlamlılığını test eden F-testi, modelin Y’yi açıklamada son derece başarılı olduğunu gösterebilir (p-değeri küçük, R-kare yüksek).

  • Ancak, her bir değişkenin bireysel anlamlılığını test eden t-testleri, modeldeki değişkenlerin hiçbirinin istatistiksel olarak anlamlı olmadığını gösterebilir (tüm p-değerleri > 0.05).

Bu bir çelişki mi? HAYIR! Bu durum, regresyon katsayılarının nasıl yorumlandığıyla ilgilidir.

  • F-testi şunu söyler: “Bu değişkenler birlikte ele alındığında, Y’yi açıklamada anlamlı bir katkı sağlıyorlar.”

  • Bireysel t-testi (örneğin X₁ için) ise şunu söyler: “Diğer değişkenler (X₂) zaten modeldeyken, X₁’in modele eklenmesinin ekstra (marjinal) bir katkısı var mı?”

Açıklama: X₁ ve X₂ aynı bilgiyi (örtüşen bilgiyi) taşıdığı için, biri modeldeyken diğerinin ekleyeceği yeni ve benzersiz bir bilgi kalmaz. Bu nedenle, bireysel t-testleri her ikisinin de “ekstra katkısının” anlamsız olduğunu söylerken, F-testi onların “ortak katkısının” çok anlamlı olduğunu doğru bir şekilde raporlar.

Çoklu Doğrusal Bağlantı Problemi Nasıl Anlaşılır?

Çoklu doğrusal bağlantı (multicollinearity), bir modelin yorumlanabilirliğini ciddi şekilde etkileyebileceği için, varlığını teşhis etmek kritik öneme sahiptir. Bu teşhis süreci üç ana adımdan oluşur: Görsel yardımcılar, model çıktısındaki semptomlar ve en kesin yöntem olan Varyans Şişirme Faktörü (VIF).

1. Görsel Yardımcılar: Korelasyon Matrisi

Problemi tespit etmenin ilk ve en sezgisel yolu, keşifsel veri analizi aşamasında açıklayıcı değişkenlerin (X) kendi aralarındaki ilişkiyi incelemektir.

Yöntem: GGally gibi bir paket kullanarak bir serpme grafiği matrisi (pairs plot) oluşturmak. Bu grafik, hem değişkenlerin ikili serpme grafiklerini hem de aralarındaki korelasyon katsayılarını tek bir yerde gösterir.

Örnek (mtcars Veri Seti): mtcars veri setindeki disp (motor hacmi), hp (beygir gücü), drat (arka aks oranı) ve wt (ağırlık) gibi değişkenler arasındaki korelasyonlar incelendiğinde, kırmızı çerçeve içindeki alanda yüksek değerler dikkat çeker:

  • disp ve wt arası korelasyon: 0.888

  • disp ve hp arası korelasyon: 0.791

  • mpg (hedef değişken) ve wt arası korelasyon: -0.868

Yorum: 0.7’den büyük (veya -0.7’den küçük) mutlak korelasyon değerleri, genellikle çoklu doğrusal bağlantı için bir uyarı işareti olarak kabul edilir. Bu grafikteki yüksek korelasyonlar, bu değişkenler arasında potansiyel bir problem olduğuna dair güçlü bir ilk ipucu verir.

2. Model Çıktısındaki Göstergeler (Semptomlar)

Bazen çoklu doğrusal bağlantı, ikiden fazla değişken arasındaki karmaşık ilişkilerden kaynaklanır ve basit korelasyon matrisinde gözden kaçabilir. Bu durumda, modelin özet çıktısındaki bazı “anormal” durumlar problemin habercisi olabilir:

  • Katsayıların İstikrarsızlığı: Modele yeni bir X değişkeni eklendiğinde veya çıkarıldığında, diğer X’lerin katsayılarında ve hatta işaretlerinde (pozitif/negatif) büyük ve beklenmedik değişimler görülmesi.

  • Tutarsız Test Sonuçları (Paradoks): Modelin bir bütün olarak çok anlamlı çıkması (yüksek R-kare, düşük F-testi p-değeri), ancak bireysel değişkenlerin t-testlerinin anlamsız (p > 0.05) çıkması.

  • Mantık Dışı Katsayı İşaretleri: Teorik olarak pozitif bir etki beklenirken (örn: beygir gücü ve ağırlık), modeldeki katsayının negatif çıkması.

Örnek summary(model) çıktısında, Adjusted R-squared = 0.8199 ve F-statistic p-value = 6.892e-10 ile modelin genel olarak çok anlamlı olduğu, ancak disp, hp ve drat gibi değişkenlerin bireysel olarak anlamsız (p > 0.05) olduğu görülmektedir. Bu, çoklu doğrusal bağlantının klasik bir semptomudur.

3. Varyans Şişirme Faktörü (VIF) - En Kesin Yöntem

Görsel ve semptomatik ipuçlarını doğrulamak için kullanılan en standart ve en güvenilir nicel ölçüt VIF’tir.

Temel Fikir: VIF, her bir açıklayıcı değişken için ayrı ayrı hesaplanır. Bir değişkenin VIF değeri, o değişkenin diğer açıklayıcı değişkenler tarafından ne kadar iyi açıklandığını ölçer.

Hesaplama:

  1. Her bir Xᵢ değişkeni alınır ve diğer tüm X değişkenleri kullanılarak bir regresyon modeli kurulur (Xᵢ ~ X₁, X₂, ...).

  2. Bu modelin R-kare değeri (Rᵢ²) hesaplanır.

  3. VIFᵢ = 1 / (1 - Rᵢ²) formülü ile VIF değeri bulunur.

Yorumlama: Eğer bir Xᵢ değişkeni diğer X’ler tarafından mükemmel bir şekilde açıklanıyorsa (Rᵢ² → 1), (1 - Rᵢ²) sıfıra yaklaşır ve VIF değeri sonsuza gider. Bu, o değişkenin modele “yeni” bilgi katmadığını gösterir.

VIF Eşik Değerleri:

  • VIF > 10: Genellikle ciddi bir çoklu doğrusal bağlantı sorunu olduğuna işaret eden katı bir kuraldır.

  • VIF > 5: Bazı durumlarda endişe kaynağı olarak kabul edilen daha esnek bir kuraldır.

  • Ortalama VIF > 1: Modeldeki tüm VIF değerlerinin ortalamasının 1’den önemli ölçüde büyük olması da genel bir problemin göstergesi olabilir.

Örnek (mtcars):

> vif(fit)
     disp        hp        wt      drat      qsec 
9.110869  5.201833  7.012686  2.322343  3.191939 
> sum(vif(fit))/4 > 1
[1] TRUE

Yorum: Bu çıktıda, hiçbir değişkenin VIF değeri katı eşik olan 10’u aşmamaktadır. Ancak, disp (9.11), wt (7.01) ve hp (5.20) değişkenlerinin VIF değerleri 5’i aşarak potansiyel bir soruna işaret etmektedir. Ayrıca, tüm VIF’lerin ortalamasının 1’den büyük olması da bu şüpheyi destekler. Bu nedenle, bu modelde müdahale edilmesi gereken bir çoklu doğrusal bağlantı problemi olduğu sonucuna varılabilir.

Çoklu Doğrusal Bağlantı Probleminden Kurtulmanın Yolları

Çoklu doğrusal bağlantı (multicollinearity) tespit edildiğinde, modelin güvenilirliğini ve yorumlanabilirliğini artırmak için birkaç farklı stratejiye başvurulabilir.

1. Açıklayıcı Değişkenlerin Standartlaştırılması

Temel Fikir: Bu, genellikle ilk denenen ve en basit adımdır. Açıklayıcı değişkenlerin (X) farklı ölçeklerde olması, bazen çoklu doğrusal bağlantı problemini şiddetlendirebilir. Değişkenleri standartlaştırarak (örneğin, ortalamalarını 0, standart sapmalarını 1 yaparak) hepsini aynı ölçeğe getirmek, bazen sorunu hafifletebilir.

Değerlendirme: Uygulaması çok kolaydır, ancak hocanın da belirttiği gibi, bu yöntem genellikle temel bir çoklu doğrusal bağlantı problemini tek başına çözmez. Özellikle yüksek korelasyon yapısal ise (değişkenler mantıken ilişkiliyse), standartlaştırma sadece sayısal bir düzenlemedir ve altta yatan sorunu ortadan kaldırmaz.

2. Değişken Çıkarma (Variable Selection)

Bu, en yaygın, en basit ve en etkili çözüm yollarından biridir.

Temel Fikir: Eğer iki veya daha fazla değişken yüksek derecede korelasyonlu ise, bu, onların modele benzer veya örtüşen bilgiler getirdiği anlamına gelir. Bu durumda, bu değişkenlerden bir veya birkaçını modelden çıkarmak, bilgi kaybına yol açmadan çoklu doğrusal bağlantıyı ortadan kaldırabilir.

Stratejik Karar: Hangi Değişken Çıkarılmalı?

  1. Öncelikle, birbiriyle yüksek korelasyona sahip (|r| > 0.7 veya 0.8) değişken çiftleri belirlenir.

  2. Bu çiftteki her bir değişkenin, bağımlı değişken (Y) ile olan korelasyonuna bakılır.

  3. Y ile korelasyonu daha düşük olan değişken, modelden çıkarılır. Çünkü Y’yi daha iyi açıklayan değişkeni modelde tutmak mantıklıdır.

Avantajları ve Dezavantajları:

  • Avantaj: Problemi kesin olarak çözer ve model daha basit, yorumlanabilir hale gelir.

  • Dezavantaj: Eğer çıkarılan değişkenin Y üzerinde, diğer değişkenin kapsamadığı benzersiz bir etkisi varsa, bir miktar bilgi kaybı yaşanabilir ve modelin açıklama gücü (R-kare) bir miktar düşebilir.

3. Temel Bileşenler Analizi (Principal Component Analysis - PCA)

Bu, değişken çıkarmak yerine, ilişkili değişkenleri birleştiren daha ileri bir istatistiksel tekniktir.

Temel Fikir: PCA, birbiriyle yüksek korelasyonlu bir grup açıklayıcı değişkenden (X₁, X₂, X₃), bu değişkenlerin doğrusal bir kombinasyonu olan ve birbiriyle ilişkisiz (ortogonal) yeni değişkenler (bileşenler) türetir. Daha sonra, orijinal değişkenler yerine bu yeni ve ilişkisiz bileşenler regresyon modelinde kullanılır.

Avantajları ve Dezavantajları:

  • Avantaj: Çoklu doğrusal bağlantı problemini tamamen ortadan kaldırır ve orijinal değişkenlerdeki bilginin çoğunu korur.

  • Dezavantaj: En büyük zorluk yorumlanabilirliktir. Oluşturulan yeni bileşenler, orijinal değişkenlerin bir karışımı olduğu için onlara somut ve anlamlı bir isim vermek (örneğin, “genel vücut büyüklüğü faktörü” gibi) zor olabilir. Bu da model katsayılarının pratik yorumunu karmaşıklaştırır.

4. Ridge Regresyonu (veya Lasso Regresyonu)

Bu, standart OLS regresyonunun mantığını değiştiren, daha gelişmiş bir “cezalı” (penalized) modelleme tekniğidir.

Temel Fikir: Standart OLS regresyonu, hata kareleri toplamını minimize etmeye çalışır. Çoklu doğrusal bağlantı olduğunda, bu durum katsayıların aşırı büyük ve istikrarsız olmasına yol açar. Ridge regresyonu, OLS’nin minimizasyon denklemine bir ceza terimi (λΣβⱼ²) ekler. Bu terim, modelin katsayılarının (β) çok büyümesini “cezalandırır”.

Amaç:

  • Regresyon katsayılarının aşırı büyümesini ve istikrarsızlığını engellemek.

  • Katsayıları sıfıra doğru “çekerek” (shrinkage), modeli daha kararlı (stable) ve güvenilir hale getirmek.

Örnek:

OLS modeli gerçekle ilgisiz (-8.8 ve 11.1) katsayılar üretirken ve VIF değerleri 9000’leri bulurken; Ridge regresyonu, gerçek değerler olan 1’e çok daha yakın (3.2 ve 1.1) ve daha makul katsayılar üretmiştir. Bu, Ridge’in çoklu doğrusal bağlantı problemini nasıl etkin bir şekilde elimine ettiğini gösterir.

Değerlendirme: Ridge ve Lasso gibi yöntemler, özellikle çok sayıda açıklayıcı değişkenin olduğu ve bunlar arasında karmaşık korelasyonların bulunduğu durumlarda son derece güçlüdür. Ancak, bir “ceza parametresi”nin (λ) ayarlanmasını gerektirdikleri için daha komplike analizlerdir.

Model Uyum Problemleri: Underfitting ve Overfitting

Bir istatistiksel model veya makine öğrenmesi algoritması kurarken temel amaç, verideki altta yatan gerçek ilişkiyi yakalamak ve bu bilgiyi kullanarak gelecekteki yeni veriler için doğru tahminler yapmaktır. Bu süreçte, modelin karmaşıklığı ile genelleme performansı arasında hassas bir denge kurulmalıdır. Bu dengenin kurulamadığı durumlarda iki temel problem ortaya çıkar: Yetersiz Uyum (Underfitting) ve Aşırı Uyum (Overfitting).

Bias-Variance Tradeoff (Yanlılık-Varyans Dengesi)

Bu iki problemi anlamanın anahtarı, Bias-Variance Tradeoff olarak bilinen temel konsepti kavramaktır. Bir modelin toplam hatası, temel olarak iki bileşenden oluşur:

  • Bias (Yanlılık): Modelin varsayımlarının ne kadar basit veya katı olduğundan kaynaklanan hatadır. Yüksek bias’a sahip bir model, verideki gerçek ve karmaşık ilişkiyi yakalayamaz; “önyargılı” davranır. Basit modeller genellikle yüksek bias’a sahiptir.

  • Variance (Varyans): Modelin, eğitim verisindeki küçük değişikliklere ne kadar hassas olduğunu ölçer. Yüksek varyansa sahip bir model, eğitim verisindeki rastgele gürültüyü bile “ezberler” ve bu nedenle farklı eğitim setlerine göre çok farklı sonuçlar üretir. Karmaşık modeller genellikle yüksek varyansa sahiptir.

Amaç, hem bias’ı hem de varyansı makul düzeyde tutarak, modelin karmaşıklığını optimize etmek ve böylece yeni veriler üzerinde en iyi genelleme performansını (en düşük toplam hatayı) sağlamaktır.

Underfitting (Yetersiz Uyum)

Tanım: Modelin, verideki temel yapıyı ve ilişkiyi yakalayamayacak kadar fazla basit olması durumudur. Model, hem eğitim verisini hem de test verisini kötü açıklar.

Belirtiler:

  • Hem Eğitim Hatası hem de Test Hatası yüksektir. Model, elindeki veriyi bile doğru dürüst öğrenememiştir.

  • Artıklar (residuals) incelendiğinde, modelin yakalayamadığı sistematik desenler (eğrisellik, U-şekli vb.) görülür.

Nedenleri:

  • Modele çok az açıklayıcı değişken dahil edilmesi.

  • Verideki ilişki karmaşıkken (doğrusal değilken), aşırı basit bir lineer model kullanılması.

Basit Çözüm Önerileri: Modelin karmaşıklığını artırmak gerekir.

  • Modele daha fazla ve anlamlı açıklayıcı değişkenler eklemek.

  • Doğrusal olmayan ilişkileri yakalamak için polinom terimler () veya etkileşim terimleri (x1*x2) eklemek.

Overfitting (Aşırı Uyum)

Tanım: Modelin, verideki altta yatan ilişkiyi öğrenmek yerine, eğitim verisindeki rastgele gürültü ve tesadüfi dalgalanmalar dahil olmak üzere her detayı “ezberlemesi” durumudur. Model fazla karmaşıktır.

Belirtiler:

  • Eğitim hatası çok düşüktür (model elindeki veriyi mükemmel açıklar).

  • Ancak, daha önce hiç görmediği test verisi üzerinde hata oranı çok yüksektir. Model, öğrendiklerini yeni durumlara genelleyemez.

Nedenleri:

  • Modele gereğinden çok fazla açıklayıcı değişken dahil edilmesi (özellikle gözlem sayısına kıyasla).

  • Verideki basit bir ilişki için çok yüksek dereceli polinomlar gibi aşırı karmaşık modeller kullanmak.

Basit Çözüm Önerileri: Modelin karmaşıklığını azaltmak gerekir.

  • Modeli Sadeleştirmek: İstatistiksel olarak anlamsız veya daha az önemli olan değişkenleri modelden çıkarmak (değişken seçimi).

  • Regularizasyon (Cezalandırma): Ridge ve Lasso gibi yöntemler kullanarak, modelin katsayılarının aşırı büyümesini cezalandırmak ve modeli daha basit bir çözüme zorlamak.

  • Daha Fazla Veri Toplamak: Eğer mümkünse, daha fazla veri toplamak, modelin gerçek ilişkiyi gürültüden daha iyi ayırt etmesine yardımcı olabilir.

Özetle, iyi bir model kurmak, bu iki uç arasında optimum dengeyi bulma sanatıdır. Model ne veriyi anlayamayacak kadar basit (underfitting) olmalı, ne de veriyi ezberleyecek kadar karmaşık (overfitting) olmalıdır. Eğitim ve test seti performanslarını karşılaştırmak, modelimizin bu dengenin neresinde olduğunu anlamak için en temel yöntemdir.

Regresyonda Değişken Seçimi: Problem, Amaç ve Yöntemler

Modern veri setlerinde genellikle çok sayıda potansiyel açıklayıcı değişken (X) bulunur. Bu durum, model kurarken kaçınılmaz olarak bazı temel soruları ve problemleri beraberinde getirir.

Problem

Amaç

Değişken seçimi sürecinin temel amacı, bu problemleri çözerek aşağıdaki hedeflere ulaşmaktır:

Bu amaca ulaşmak için kullanılan en yaygın algoritmik yaklaşımlar şunlardır:

1. Forward Selection (İleri Seçim)

Algoritma: “Sıfırdan inşa etme” yaklaşımıdır.

  1. Modele sadece sabit terimle (intercept) başlanır (boş model).

  2. Her adımda, mevcut modele eklendiğinde modelin performansını (genellikle AIC/BIC veya R-kare gibi bir kritere göre) en çok iyileştiren tek bir değişken modele eklenir.

  3. Bu süreç, modele yeni bir değişken eklemenin istatistiksel olarak anlamlı bir katkı sağlamadığı noktaya kadar devam eder (DURMA KRİTERİ: örneğin, eklenecek değişkenin p-değeri > 0.05 ise veya AIC/BIC değeri artmaya başlarsa durulur).

Avantajları: Özellikle çok sayıda değişken (p) olduğunda hesaplama açısından verimlidir. Anlaşılması ve uygulanması kolaydır.

Dezavantajları: Bir kez modele eklenen bir değişken, sonraki adımlarda anlamsızlaşsa bile asla çıkarılamaz. Bu katı yapı, optimal çözüm setini bulmayı garanti etmez.

2. Backward Elimination (Geri Eleme)

Algoritma: “Fazlalıkları budama” yaklaşımıdır.

  1. Modele tüm potansiyel değişkenler dahil edilerek başlanır (tam model).

  2. Her adımda, modelden çıkarıldığında performansı en az düşüren (genellikle en yüksek p-değerine sahip, en anlamsız) tek bir değişken modelden çıkarılır.

  3. Bu süreç, modelde kalan tüm değişkenlerin istatistiksel olarak anlamlı olduğu bir noktaya gelene kadar devam eder (DURMA KRİTERİ: örneğin, modeldeki tüm değişkenlerin p-değerleri < 0.05 ise durulur).

Avantajları: Tüm değişkenlerle başladığı için, değişkenler arasındaki potansiyel etkileşimleri ve çoklu doğrusal bağlantıyı görme şansı daha yüksektir.

Dezavantajları: Değişken sayısının gözlem sayısından fazla olduğu (p > n) durumlarda kullanılamaz. Çok sayıda değişken varsa hesaplama maliyeti yüksek olabilir. Bir kez çıkarılan değişken geri eklenemez.

3. Stepwise Selection (Adım Adım Seçim)

Algoritma: İleri Seçim ve Geri Eleme yöntemlerinin en iyi yönlerini birleştiren hibrit ve en esnek yaklaşımdır.

  1. Genellikle İleri Seçim gibi boş modelden başlar.

  2. Her adımda, modele en çok katkı sağlayan değişken eklenir (forward step).

  3. Ancak, yeni değişken eklendikten sonra, modeldeki mevcut değişkenlerden herhangi birinin anlamsızlaşıp anlamsızlaşmadığı kontrol edilir. Eğer anlamsızlaşan bir değişken varsa, o değişken çıkarılır (backward step).

  4. Bu iki yönlü (ekleme-çıkarma) süreç, modelin AIC/BIC gibi bir bilgi kriterini minimize ettiği optimum noktada durur.

Avantajları: En esnek yöntemdir. Bir değişkeni ekleyip, daha sonra başka bir değişkenin eklenmesiyle anlamsızlaştığında onu çıkarma yeteneği sayesinde daha iyi modeller bulma potansiyeli yüksektir.

Dezavantajları: İki yönlü hareket ettiği için hesaplama süresi daha uzun olabilir ve farklı başlangıç noktaları farklı nihai modellere yol açabilir.

Önemli Pratik Notlar

Bu algoritmik yöntemler birer rehberdir, katı kurallar değildir.

Kapsamlı Regresyon Analizi: California Konut Fiyatları Örneği

Bu analizde, California konut fiyatları veri seti kullanılarak bir lineer regresyon modeli oluşturulacak, değişken seçimi yapılacak ve model varsayımları kontrol edilecektir.

# Veri setini yükle
df <- read_csv("house_price.csv")
## Rows: 20640 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): ocean_proximity
## dbl (9): longitude, latitude, housing_median_age, total_rooms, total_bedroom...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Veri setinin yapısına hızlı bir bakış (glimpse)
glimpse(df)
## Rows: 20,640
## Columns: 10
## $ longitude          <dbl> -122.23, -122.22, -122.24, -122.25, -122.25, -122.2…
## $ latitude           <dbl> 37.88, 37.86, 37.85, 37.85, 37.85, 37.85, 37.84, 37…
## $ housing_median_age <dbl> 41, 21, 52, 52, 52, 52, 52, 52, 42, 52, 52, 52, 52,…
## $ total_rooms        <dbl> 880, 7099, 1467, 1274, 1627, 919, 2535, 3104, 2555,…
## $ total_bedrooms     <dbl> 129, 1106, 190, 235, 280, 213, 489, 687, 665, 707, …
## $ population         <dbl> 322, 2401, 496, 558, 565, 413, 1094, 1157, 1206, 15…
## $ households         <dbl> 126, 1138, 177, 219, 259, 193, 514, 647, 595, 714, …
## $ median_income      <dbl> 8.3252, 8.3014, 7.2574, 5.6431, 3.8462, 4.0368, 3.6…
## $ ocean_proximity    <chr> "NEAR BAY", "NEAR BAY", "NEAR BAY", "NEAR BAY", "NE…
## $ median_house_value <dbl> 452600, 358500, 352100, 341300, 342200, 269700, 299…
# 'ocean_proximity' değişkenini kategorik (factor) olarak dönüştür
df <- df %>% mutate(ocean_proximity = as.factor(ocean_proximity))

glimpse(df)
## Rows: 20,640
## Columns: 10
## $ longitude          <dbl> -122.23, -122.22, -122.24, -122.25, -122.25, -122.2…
## $ latitude           <dbl> 37.88, 37.86, 37.85, 37.85, 37.85, 37.85, 37.84, 37…
## $ housing_median_age <dbl> 41, 21, 52, 52, 52, 52, 52, 52, 42, 52, 52, 52, 52,…
## $ total_rooms        <dbl> 880, 7099, 1467, 1274, 1627, 919, 2535, 3104, 2555,…
## $ total_bedrooms     <dbl> 129, 1106, 190, 235, 280, 213, 489, 687, 665, 707, …
## $ population         <dbl> 322, 2401, 496, 558, 565, 413, 1094, 1157, 1206, 15…
## $ households         <dbl> 126, 1138, 177, 219, 259, 193, 514, 647, 595, 714, …
## $ median_income      <dbl> 8.3252, 8.3014, 7.2574, 5.6431, 3.8462, 4.0368, 3.6…
## $ ocean_proximity    <fct> NEAR BAY, NEAR BAY, NEAR BAY, NEAR BAY, NEAR BAY, N…
## $ median_house_value <dbl> 452600, 358500, 352100, 341300, 342200, 269700, 299…
# Veri setinin özet istatistiklerini incele
summary(df)
##    longitude         latitude     housing_median_age  total_rooms   
##  Min.   :-124.3   Min.   :32.54   Min.   : 1.00      Min.   :    2  
##  1st Qu.:-121.8   1st Qu.:33.93   1st Qu.:18.00      1st Qu.: 1448  
##  Median :-118.5   Median :34.26   Median :29.00      Median : 2127  
##  Mean   :-119.6   Mean   :35.63   Mean   :28.64      Mean   : 2636  
##  3rd Qu.:-118.0   3rd Qu.:37.71   3rd Qu.:37.00      3rd Qu.: 3148  
##  Max.   :-114.3   Max.   :41.95   Max.   :52.00      Max.   :39320  
##                                                                     
##  total_bedrooms     population      households     median_income    
##  Min.   :   1.0   Min.   :    3   Min.   :   1.0   Min.   : 0.4999  
##  1st Qu.: 296.0   1st Qu.:  787   1st Qu.: 280.0   1st Qu.: 2.5634  
##  Median : 435.0   Median : 1166   Median : 409.0   Median : 3.5348  
##  Mean   : 537.9   Mean   : 1425   Mean   : 499.5   Mean   : 3.8707  
##  3rd Qu.: 647.0   3rd Qu.: 1725   3rd Qu.: 605.0   3rd Qu.: 4.7432  
##  Max.   :6445.0   Max.   :35682   Max.   :6082.0   Max.   :15.0001  
##  NA's   :207                                                        
##    ocean_proximity median_house_value
##  <1H OCEAN :9136   Min.   : 14999    
##  INLAND    :6551   1st Qu.:119600    
##  ISLAND    :   5   Median :179700    
##  NEAR BAY  :2290   Mean   :206856    
##  NEAR OCEAN:2658   3rd Qu.:264725    
##                    Max.   :500001    
## 
# =============================================
# Eksik Değer Doldurma (MEDYAN ile)
# =============================================
df$total_bedrooms[is.na(df$total_bedrooms)] <- median(df$total_bedrooms, na.rm = TRUE)
# =============================================
# Price Üzerine EDA ve Normallik Testi
# =============================================
ggplot(df, aes(x = median_house_value)) +
  geom_histogram(aes(y = ..density..), bins = 50, 
                 fill = "skyblue", color = "black") +
  geom_density(color = "red") +
  theme_minimal() +
  labs(title = "Median House Value Dağılımı")
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

EDA: Hedef Değişkenin Dağılımının İncelenmesi (median_house_value)

Bir regresyon modeli kurmadan önce, Keşifsel Veri Analizi’nin (EDA) en kritik adımlarından biri, tahmin etmeye çalıştığımız hedef değişkenin (median_house_value) dağılımını incelemektir. Bu inceleme, potansiyel varsayım ihlallerini öngörmemize ve gerekli veri ön işleme adımlarını belirlememize yardımcı olur.

Görsel Analiz: Histogram ve Yoğunluk Grafiği

Grafik, California’daki medyan konut fiyatlarının dağılımını bir histogram ve üzerine çizilmiş bir yoğunluk eğrisi (KDE) ile göstermektedir. Bu grafikten üç temel gözlem yapılabilir:

1. Belirgin Sağa Çarpıklık (Positive/Right Skewness):

2. Uç Değerde Anormal Yığılma (Capping - Sınırlama):

Regresyon Modellemesi Üzerindeki Etkileri ve Beklentiler

Normallik Sorunu: Belirgin sağa çarpıklık, normallik varsayımının ihlal edileceğini neredeyse garanti eder. Standart çözüm, bu çarpıklığı düzeltmek için hedef değişkene logaritmik veya Yeo-Johnson gibi bir dönüşüm uygulamaktır.

Dönüşümün Potansiyel Sınırlılığı:

Bu ön analiz, ham verilerle bir model kurmanın varsayım ihlallerine yol açacağını ve standart dönüşümlerin bile bu spesifik veri setindeki yapısal bir problem (capping) nedeniyle sınırlı bir etkiye sahip olabileceğini göstermektedir. Yine de, çarpıklığı mümkün olduğunca azaltmak adına bir dönüşüm uygulamak, hiçbir şey yapmamaktan daha iyi bir stratejidir.

# =============================================
# Shapiro-Wilk Testi (Price)
# =============================================
cat("\n--- Shapiro-Wilk Test (Price) ---\n")
## 
## --- Shapiro-Wilk Test (Price) ---
set.seed(42)
sw_price <- shapiro.test(sample(df$median_house_value, 5000))

cat("W istatistiği :", round(sw_price$statistic, 5), "\n")
## W istatistiği : 0.90995
cat("p-değeri      :", format.pval(sw_price$p.value, digits = 5), "\n")
## p-değeri      : < 2.22e-16

Normallik varsayımının sağlanmadığını görmüş olduk. Şimdi bu durumda daha önce bahsedilen bestNormalize paketini deneyelim.Ve tekrar shapiro testine tabii tutalım.

# =============================================
# Best Normalize Uygulama (Log Yerine)
# =============================================
cat("\n--- Best Normalize (En Uygun Dönüşüm) ---\n")
## 
## --- Best Normalize (En Uygun Dönüşüm) ---
# En iyi dönüşüm yöntemini otomatik seçer (Yeo-Johnson, Box-Cox vb.)
bn_fit <- bestNormalize(df$median_house_value)
print(bn_fit)
## Best Normalizing transformation with 20640 Observations
##  Estimated Normality Statistics (Pearson P / df, lower => more normal):
##  - arcsinh(x): 5.8729
##  - Box-Cox: 7.1947
##  - Center+scale: 17.3171
##  - Double Reversed Log_b(x+a): 50.2297
##  - Log_b(x+a): 5.8729
##  - orderNorm (ORQ): 3.313
##  - sqrt(x + a): 7.0714
##  - Yeo-Johnson: 7.1943
## Estimation method: Out-of-sample via CV with 10 folds and 5 repeats
##  
## Based off these, bestNormalize chose:
## orderNorm Transformation with 20640 nonmissing obs and ties
##  - 3842 unique values 
##  - Original quantiles:
##     0%    25%    50%    75%   100% 
##  14999 119600 179700 264725 500001
cat("\n--- Seçilen En İyi Dönüşüm Yöntemi ---\n")
## 
## --- Seçilen En İyi Dönüşüm Yöntemi ---
print(bn_fit$chosen_transform)
## orderNorm Transformation with 20640 nonmissing obs and ties
##  - 3842 unique values 
##  - Original quantiles:
##     0%    25%    50%    75%   100% 
##  14999 119600 179700 264725 500001
# Dönüştürülmüş yeni hedef değişken
df$norm_price <- bn_fit$x.t

# Dönüştürülmüş değişken için Shapiro-Wilk testi
cat("\n--- Shapiro-Wilk Test (Normalized Price) ---\n")
## 
## --- Shapiro-Wilk Test (Normalized Price) ---
sw_norm <- shapiro.test(sample(df$norm_price, 5000))
print(sw_norm)
## 
##  Shapiro-Wilk normality test
## 
## data:  sample(df$norm_price, 5000)
## W = 0.99359, p-value = 3.416e-14

Normallik varsayımının sağlanmadığını yine görürüz. Çünkü grafikteki o sağ taraftaki uç değerler normalliği aşırı bozmaktadır.

Sayısal değişkenlerin serpme grafiğine bakalım.

# =============================================
# Matrix Scatter Plot (Sürekli Değişkenler)
# =============================================
cont_vars <- c("housing_median_age", "total_rooms", "total_bedrooms", 
               "population", "households", "norm_price")

cat("\n--- Sürekli Değişkenler Matrix Scatter Plot ---\n")
## 
## --- Sürekli Değişkenler Matrix Scatter Plot ---
# 1000 satırlık rastgele örneklem ile (performans için)
set.seed(42)   # Tekrarlanabilirlik için
ggpairs(df[sample(nrow(df), 1000), cont_vars]) + 
  theme_minimal()

Analiz ve Bulgular

Bu grafiği iki temel amaç için inceleriz:

  1. Açıklayıcı Değişkenler ile Hedef Değişken (norm_price) Arasındaki İlişki:

Gözlem: Matrisin en alt satırındaki serpme grafiklerine veya en sağ sütunundaki korelasyon katsayılarına baktığımızda, hocanın da belirttiği gibi, tekil değişkenlerin dönüştürülmüş ev fiyatı (norm_price) ile olan ilişkilerinin çok güçlü olmadığı görülmektedir.

Sayısal Değerler: Örneğin, total_rooms ile korelasyon 0.178, households ile 0.109 gibi düşük değerlerdir. population ile olan korelasyon ise neredeyse sıfırdır.

Yorum: Bu durum, ev fiyatını tek bir değişkenin tek başına çok iyi açıklayamayacağını, muhtemelen birden fazla değişkenin bir araya gelerek daha anlamlı bir model oluşturacağını düşündürmektedir.

  1. Açıklayıcı Değişkenlerin Kendi Aralarındaki İlişki (Çoklu Doğrusal Bağlantı Teşhisi):

Gözlem: Grafiğin iç kısımları incelendiğinde, bazı değişkenler arasında son derece güçlü ve neredeyse mükemmel doğrusal ilişkiler olduğu açıkça görülmektedir. Bu, çoklu doğrusal bağlantı için bariz bir kırmızı alarmdır.

En Belirgin İlişkiler:

total_bedrooms ve households: Aralarındaki serpme grafiği, neredeyse düz bir çizgi oluşturmaktadır. Korelasyon katsayısı 0.985’tir. Bu, bir bölgedeki toplam yatak odası sayısının, hane sayısıyla neredeyse birebir ilişkili olduğu anlamına gelir ki bu mantıklıdır.

total_rooms ve households: Korelasyon 0.917.

population ve households: Korelasyon 0.923.

total_rooms ve total_bedrooms: Korelasyon 0.916.

Yorum: total_rooms, total_bedrooms, population ve households değişkenleri, aslında aynı temel bilgiyi (“bölgenin büyüklüğü” veya “konut yoğunluğu”) farklı şekillerde ölçen, birbiriyle yüksek derecede bağımlı değişkenlerdir. Bu dört değişkenin aynı anda bir lineer regresyon modeline dahil edilmesi, kesinlikle ciddi bir çoklu doğrusal bağlantı (multicollinearity) problemine yol açacaktır.

Bu keşifsel analiz, modelleme aşamasına geçmeden önce bize kritik bir öngörü sunmaktadır:

Kurulacak olan ilk modelde yüksek VIF (Varyans Şişirme Faktörü) değerleri görmeyi ve model katsayılarının istikrarsız, standart hatalarının ise şişmiş olmasını beklemeliyiz.

Bu problemi çözmek için, modelleme sürecinde bir değişken seçimi adımının (örneğin, bu dört ilişkili değişkenden sadece bir veya ikisini tutmak gibi) kesinlikle gerekli olacağı anlaşılmaktadır.

Bu aşamada daha fazla analiz yapmayıp hocamız modellemeye geçmek istemiştir.

# =============================================
# Train-Test Bölme (%80 - %20)
# =============================================
set.seed(42) # Her çalıştırdığımızda aynı veri setini yakalamak için set.seed içine bir rakam yazılır burada 42 tercih edildi.

# Stratified sampling (norm_price üzerinden dengeli bölme)
train_index <- createDataPartition(df$norm_price, p = 0.8, list = FALSE)

train_data <- df[train_index, ]
test_data  <- df[-train_index, ]

cat("Train seti satır sayısı:", nrow(train_data), "\n")
## Train seti satır sayısı: 16513
cat("Test  seti satır sayısı:", nrow(test_data), "\n")
## Test  seti satır sayısı: 4127
# =============================================
# Standardizasyon (Data Leakage Engellemek için)
# =============================================
# Hedef değişkenleri ve ham fiyatı çıkartıyoruz
train_x <- train_data %>% 
  select(-median_house_value, -norm_price)

test_x <- test_data %>% 
  select(-median_house_value, -norm_price)

# Sadece Train seti üzerinden scaler fit ediliyor (çok önemli!)
scaler <- preProcess(train_x, method = c("center", "scale"))

# Transform işlemi
train_scaled_x <- predict(scaler, train_x)
test_scaled_x  <- predict(scaler, test_x)

cat("Standardizasyon tamamlandı.\n")
## Standardizasyon tamamlandı.
cat("Train_scaled_x boyut:", dim(train_scaled_x), "\n")
## Train_scaled_x boyut: 16513 9
cat("Test_scaled_x  boyut:", dim(test_scaled_x), "\n")
## Test_scaled_x  boyut: 4127 9
# =============================================
# Eğitim ve Test Setlerini Birleştirme
# =============================================
train_final <- cbind(train_scaled_x, norm_price = train_data$norm_price)
test_final  <- cbind(test_scaled_x,  norm_price = test_data$norm_price)

cat("Final train seti boyut:", dim(train_final), "\n")
## Final train seti boyut: 16513 10
cat("Final test  seti boyut:", dim(test_final), "\n")
## Final test  seti boyut: 4127 10
# =============================================
# Regresyon Modeli
# =============================================
cat("\n--- Full Model (Tüm Değişkenler) ---\n")
## 
## --- Full Model (Tüm Değişkenler) ---
model_full <- lm(norm_price ~ ., data = train_final)
summary(model_full)
## 
## Call:
## lm(formula = norm_price ~ ., data = train_final)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2484 -0.3409 -0.0228  0.3221  3.5886 
## 
## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                0.169855   0.007681  22.112  < 2e-16 ***
## longitude                 -0.544061   0.018685 -29.117  < 2e-16 ***
## latitude                  -0.564446   0.019669 -28.698  < 2e-16 ***
## housing_median_age         0.062996   0.005068  12.431  < 2e-16 ***
## total_rooms               -0.035128   0.015649  -2.245  0.02480 *  
## total_bedrooms             0.230686   0.023867   9.666  < 2e-16 ***
## population                -0.375487   0.011500 -32.652  < 2e-16 ***
## households                 0.237124   0.024508   9.675  < 2e-16 ***
## median_income              0.566002   0.005839  96.933  < 2e-16 ***
## ocean_proximityINLAND     -0.515340   0.015971 -32.267  < 2e-16 ***
## ocean_proximityISLAND      1.000177   0.253088   3.952 7.79e-05 ***
## ocean_proximityNEAR BAY   -0.079512   0.017574  -4.524 6.10e-06 ***
## ocean_proximityNEAR OCEAN -0.045245   0.014374  -3.148  0.00165 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5651 on 16500 degrees of freedom
## Multiple R-squared:  0.6718, Adjusted R-squared:  0.6716 
## F-statistic:  2814 on 12 and 16500 DF,  p-value: < 2.2e-16

Yorum:

Keşifsel analiz ve veri ön işleme adımlarından sonra, modelleme sürecine tüm potansiyel açıklayıcı değişkenleri içeren bir “tam model” (full model) kurarak başlıyoruz. Bu model, değişken seçimi için bir başlangıç noktası oluşturacak ve ilk varsayım kontrolleri için temel teşkil edecektir.

Model, dönüştürülmüş hedef değişkenimiz olan norm_price’ı, hazırlanan train_final veri setindeki diğer tüm değişkenleri (.) kullanarak tahmin etmeye çalışır.

Modelin özet çıktısı (summary), bize modelin performansı ve katsayıları hakkında detaylı bilgi verir.

Modelin Genel Anlamlılığı:

Katsayıların Anlamlılığı:

Analist Notu: İlk Bakışta Nereye Odaklanmalı?¹

Bir model özeti çıktısıyla karşılaşıldığında, analize yeni başlayanların yaptığı en yaygın hata, doğrudan katsayılara ve p-değerlerine odaklanmaktır. Ancak, bir modelin sağlığını anlamak için ilk bakılması gereken yerlerden biri Residuals (Artıklar) bölümüdür.

Bu örnekte, Median değerinin (-0.0228) sıfıra çok yakın olması, artıkların dağılımının büyük olasılıkla simetrik olduğuna dair çok olumlu bir ilk işarettir. Min ve Max değerlerinin de birbirine göre makul bir aralıkta olması, aşırı büyük ve tek bir gözlemden kaynaklanan bir sorun olmadığını düşündürür. Katsayıları detaylı incelemeden önce artıkların bu temel özetine bakmak, modelin genel varsayımları karşılama potansiyeli hakkında hızlı bir ön fikir verir.

¹ Hocamızın notu: Bu, pratik analizlerde hızlı bir “sağlamlık kontrolü” olarak sıkça başvurulan bir yöntemdir.

# =============================================
# Backward Stepwise
# =============================================
cat("\n--- Backward Stepwise Regression Başlıyor ---\n")
## 
## --- Backward Stepwise Regression Başlıyor ---
model_step <- step(model_full, direction = "backward")
## Start:  AIC=-18837.1
## norm_price ~ longitude + latitude + housing_median_age + total_rooms + 
##     total_bedrooms + population + households + median_income + 
##     ocean_proximity
## 
##                      Df Sum of Sq    RSS    AIC
## <none>                            5268.9 -18837
## - total_rooms         1      1.61 5270.6 -18834
## - total_bedrooms      1     29.83 5298.8 -18746
## - households          1     29.89 5298.8 -18746
## - housing_median_age  1     49.34 5318.3 -18685
## - latitude            1    262.99 5531.9 -18035
## - longitude           1    270.73 5539.7 -18012
## - ocean_proximity     4    337.82 5606.8 -17819
## - population          1    340.46 5609.4 -17805
## - median_income       1   3000.42 8269.4 -11396
cat("\n--- Final Model Özeti ---\n")
## 
## --- Final Model Özeti ---
summary(model_step)
## 
## Call:
## lm(formula = norm_price ~ longitude + latitude + housing_median_age + 
##     total_rooms + total_bedrooms + population + households + 
##     median_income + ocean_proximity, data = train_final)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2484 -0.3409 -0.0228  0.3221  3.5886 
## 
## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                0.169855   0.007681  22.112  < 2e-16 ***
## longitude                 -0.544061   0.018685 -29.117  < 2e-16 ***
## latitude                  -0.564446   0.019669 -28.698  < 2e-16 ***
## housing_median_age         0.062996   0.005068  12.431  < 2e-16 ***
## total_rooms               -0.035128   0.015649  -2.245  0.02480 *  
## total_bedrooms             0.230686   0.023867   9.666  < 2e-16 ***
## population                -0.375487   0.011500 -32.652  < 2e-16 ***
## households                 0.237124   0.024508   9.675  < 2e-16 ***
## median_income              0.566002   0.005839  96.933  < 2e-16 ***
## ocean_proximityINLAND     -0.515340   0.015971 -32.267  < 2e-16 ***
## ocean_proximityISLAND      1.000177   0.253088   3.952 7.79e-05 ***
## ocean_proximityNEAR BAY   -0.079512   0.017574  -4.524 6.10e-06 ***
## ocean_proximityNEAR OCEAN -0.045245   0.014374  -3.148  0.00165 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5651 on 16500 degrees of freedom
## Multiple R-squared:  0.6718, Adjusted R-squared:  0.6716 
## F-statistic:  2814 on 12 and 16500 DF,  p-value: < 2.2e-16
# =============================================
# Çoklu Doğrusalık (VIF) Analizi
# =============================================
cat("\n--- Variance Inflation Factor (VIF) ---\n")
## 
## --- Variance Inflation Factor (VIF) ---
vif_results <- vif(model_step)
print(vif_results)
##                         GVIF Df GVIF^(1/(2*Df))
## longitude          18.053633  1        4.248957
## latitude           20.003406  1        4.472517
## housing_median_age  1.328011  1        1.152393
## total_rooms        12.663019  1        3.558514
## total_bedrooms     29.454120  1        5.427165
## population          6.837931  1        2.614944
## households         31.057431  1        5.572919
## median_income       1.763002  1        1.327781
## ocean_proximity     4.087728  4        1.192436

Varsayım Kontrolü: Çoklu Doğrusal Bağlantı (Multicollinearity) Analizi

Değişken seçimi sürecine başlamadan önce, keşifsel analizde şüphelendiğimiz çoklu doğrusal bağlantı problemini, en güvenilir nicel ölçüt olan Varyans Şişirme Faktörü (VIF) ile teyit etmek kritik öneme sahiptir. Bu analiz, car paketinin vif() fonksiyonu kullanılarak tam model (full_model) üzerinde gerçekleştirilir.

GVIF ve Kategorik Değişkenlerin Yorumlanması

Çıktıda standart VIF yerine GVIF (Generalized Variance Inflation Factor) değerlerinin raporlandığını görüyoruz. Bu, modelde ocean_proximity gibi kategorik bir değişken (faktör) olduğunda kullanılır.

Yüksek VIF Değerleri: Keşifsel analizde öngördüğümüz gibi, birbiriyle yüksek korelasyonlu değişkenlerin VIF değerleri oldukça yüksektir:

Diğer Önemli VIF’ler:

Hocamızın Değerlendirmesi: Hocamız, bu değerleri incelerken, katı bir “10’dan büyük” kuralı yerine daha esnek bir yaklaşımla, sadece birkaç değişkenin 5 eşiğini “biraz” aştığını ve bu durumun “çok da yüksek bir bağlantı problemi” olmayabileceğini ima etmektedir. Bu, deneyimli bir analistin, VIF değerlerini mutlak kurallar yerine bir rehber olarak kullandığını gösteren bir yaklaşımdır.

# =============================================
# Tanısal (Diagnostic) Testler
# =============================================
cat("\n--- HATA TERİMLERİ ANALİZİ ---\n")
## 
## --- HATA TERİMLERİ ANALİZİ ---
residuals <- residuals(model_step)

# A. Normallik Testi
cat("\n1. Shapiro-Wilk Test (Residuals):\n")
## 
## 1. Shapiro-Wilk Test (Residuals):
print(shapiro.test(sample(residuals, 5000)))
## 
##  Shapiro-Wilk normality test
## 
## data:  sample(residuals, 5000)
## W = 0.97863, p-value < 2.2e-16
# B. Durbin-Watson Testi
cat("\n2. Durbin-Watson Test:\n")
## 
## 2. Durbin-Watson Test:
print(dwtest(model_step))
## 
##  Durbin-Watson test
## 
## data:  model_step
## DW = 0.97425, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
# C. Leverage Grafiği
cat("\n3. Leverage (Kaldıraç) Grafiği:\n")
## 
## 3. Leverage (Kaldıraç) Grafiği:
leverage_values <- hatvalues(model_step)
plot(leverage_values, main = "Leverage (Kaldıraç) Grafiği", 
     type = "h", col = "blue", ylab = "Leverage", xlab = "Index")
abline(h = 2 * mean(leverage_values), col = "red", lty = 2)

# D. Diagnostic Plots (2x2)
cat("\n4. Diagnostic Plots (Residuals, Q-Q, Scale-Location, Leverage):\n")
## 
## 4. Diagnostic Plots (Residuals, Q-Q, Scale-Location, Leverage):
par(mfrow = c(2, 2))
plot(model_step)

par(mfrow = c(1, 1))

Model Değerlendirmesi: Nihai Modelin Varsayım Kontrolleri

Değişken seçimi algoritması (ols_step_backward_adj_r2) ile oluşturduğumuz ve istatistiksel olarak anlamlı değişkenler içerdiğini düşündüğümüz model_step’in, temel regresyon varsayımlarını karşılayıp karşılamadığını kontrol etme zamanı geldi. Bu adım, modelin gerçekten güvenilir olup olmadığını anlamak için kritik öneme sahiptir.

a. Artıkların Normallik Kontrolü

Test: Shapiro-Wilk Testi

Çıktı: p-value < 2.2e-16

Yorum: P-değeri, 0.05’ten çok daha küçük olduğu için, “artıklar normal dağılır” şeklindeki sıfır hipotezini (H₀) güçlü bir şekilde reddederiz.

Görsel Teyit (Q-Q Residuals Grafiği): Q-Q grafiği bu sonucu doğrulamaktadır. Noktalar, özellikle grafiğin her iki kuyruğunda da (sol alt ve sağ üst), teorik çizgiden sistematik olarak sapmaktadır. Bu, artıkların dağılımının kalın kuyruklu (heavy-tailed) olduğunu, yani beklenenden daha fazla aşırı değere (hem pozitif hem de negatif) sahip olduğunu gösterir.

Sonuç: Hedef değişkene başlangıçta bir dönüşüm uygulamış olmamıza rağmen, normallik varsayımı sağlanmamaktadır.

b. Artıkların Bağımsızlık Kontrolü (Otokorelasyon)

Test: Durbin-Watson Testi

Çıktı: DW = 0.97425, p-value < 2.2e-16

Yorum:

Sonuç: Modelde istatistiksel olarak çok anlamlı pozitif serisel korelasyon bulunmaktadır. Bu, en kritik varsayımlardan birinin ihlal edildiği anlamına gelir. Hocanın da belirttiği gibi, bu veride zaman boyutu olmasa da, bu durumun nedeni coğrafi mekansallık (yakın evlerin benzer özellikler göstermesi) veya modelden çıkarılmış önemli bir değişkenin yarattığı sistematik bir yapı olabilir.

c. Diğer Varsayımların Görsel Kontrolü (Diagnostic Plots)

Doğrusallık ve Sabit Varyans (Residuals vs Fitted ve Scale-Location Grafikleri):

Sonuç: Bu desen, sabit varyans (homoscedasticity) varsayımının açıkça ihlal edildiğinin güçlü bir görsel kanıtıdır. Model, pahalı evleri tahmin ederken çok daha büyük hatalar yapmaktadır.

Etkili Gözlemler (Residuals vs Leverage Grafiği ve Ayrı Kaldıraç Grafiği):

Genel Değerlendirme: Sorunlu Bir Model

Tüm bu bulgular bir araya getirildiğinde, değişken seçimi algoritmasının ürettiği modelin, istatistiksel olarak anlamlı katsayılara sahip olmasına rağmen, güvenilir olmadığı sonucuna varılır.

Sonuç olarak, bu veri setiyle karşı karşıyayız ve modelimiz hala “sorunlu”. Hocamızın da işaret ettiği gibi, bu durum büyük olasılıkla modelin eksik kurulmasından (misspecification) kaynaklanmaktadır. Gözlemler arasındaki mekansal ilişki veya değişkenler arasındaki doğrusal olmayan ilişkiler (etkileşimler, polinom terimler) model tarafından yakalanamamıştır. Bu yakalanamayan sistematik bilgi, artıkların içine sızarak tüm varsayımların aynı anda ihlal edilmesine neden olmaktadır. Bu modeli bu haliyle kullanmak, yanıltıcı sonuçlara yol açacaktır.

Ancak hocamız dersimizin ilerlemesi bağlamında bu varsayımlar sağlanmış olsaydı model metrikleri nasıl bulunur ve yorumlanırdı diyerek anlatıma devam etmiştir.

# =============================================
# 11. Performans Metrikleri (MSE ve R2)
# =============================================

# Train Metrikleri
train_preds <- predict(model_step, train_final)
train_mse   <- mean((train_final$norm_price - train_preds)^2)
train_r2    <- summary(model_step)$r.squared

# Test Metrikleri
test_preds <- predict(model_step, test_final)
test_mse   <- mean((test_final$norm_price - test_preds)^2)
test_r2    <- cor(test_final$norm_price, test_preds)^2

# Sonuçları Görüntüleme
cat("\n--- Model Performansı ---\n")
## 
## --- Model Performansı ---
cat(sprintf("Train MSE : %.4f\n", train_mse))
## Train MSE : 0.3191
cat(sprintf("Train R²  : %.4f\n", train_r2))
## Train R²  : 0.6718
cat(sprintf("Test  MSE : %.4f\n", test_mse))
## Test  MSE : 0.3335
cat(sprintf("Test  R²  : %.4f\n", test_r2))
## Test  R²  : 0.6611

Model Performansının Değerlendirilmesi: Genelleme ve Aşırı Uyum Kontrolü

Modelin istatistiksel varsayımlarında ciddi sorunlar tespit etmiş olsak da, analiz sürecinin bir parçası olarak, kurduğumuz model_step’in genelleme performansını ölçmek önemlidir. Bu adım, modelin eğitim verisini ezberleyip ezberlemediğini, yani aşırı uyum (overfitting) problemi yaşayıp yaşamadığını anlamamızı sağlar.

Bunun için, modelin hem kendisini eğitmek için kullanılan eğitim (train) verisi üzerindeki performansını, hem de daha önce hiç görmediği test verisi üzerindeki performansını karşılaştırırız.

Performans Metriklerinin Hesaplanması ve Yorumlanması

# --- Model Performansı ---
# Train MSE : 0.3191
# Train R²  : 0.6718
# Test  MSE : 0.3335
# Test  R²  : 0.6611

Bu iki satırlık çıktı, modelin genelleme yeteneği hakkında bize net bir resim sunar:

Açıklama Gücü (R-kare):

  • Model, eğitim verisindeki değişkenliğin %67.18’ini açıklamaktadır.

  • Model, test verisindeki değişkenliğin ise %66.11’ini açıklamaktadır.

  • Hocamızın da belirttiği gibi, %67’lik bir R-kare değeri “çok iyi” olarak kabul edilmeyebilir (genellikle %70-%80’in üzeri hedeflenir), ancak bu, modelin yine de kayda değer bir açıklama gücüne sahip olduğunu gösterir.

Aşırı Uyum (Overfitting) Kontrolü:

  • Buradaki en kritik bulgu, Eğitim R-karesi (0.6718) ile Test R-karesi (0.6611) arasındaki farkın çok küçük olmasıdır. Eğitim setindeki performans, test setinde ciddi bir düşüş yaşamamıştır.

  • Benzer şekilde, Test MSE (0.3335), Eğitim MSE (0.3191) değerinden sadece çok az bir miktar daha yüksektir. Bu, beklenen ve normal bir durumdur.

  • Sonuç: Bu iki gözlem bir araya geldiğinde, modelin bir aşırı uyum (overfitting) problemi yaşamadığı sonucuna varılır. Model, eğitim verisini ezberlememiş, öğrendiği ilişkileri yeni verilere makul bir tutarlılıkla genelleyebilmiştir.

Genel Nihai Değerlendirme

Bu son adımdaki bulguları, bir önceki adımdaki varsayım kontrolleriyle birleştirdiğimizde, modelin tam bir “sağlık raporunu” çıkarabiliriz:

Pozitif Yönler:

  • Model, aşırı uyum problemi yaşamamaktadır ve genelleme yeteneği tutarlıdır.

  • Açıklama gücü (%67 civarı R-kare) orta düzeyde olsa da kabul edilebilir bir seviyededir.

Negatif Yönler (Daha Önemli):

  • Model, normallik, bağımsızlık (otokorelasyon) ve sabit varyans (heteroscedasticity) gibi en temel istatistiksel varsayımları ciddi şekilde ihlal etmektedir.

Nihai Karar: Modelin genelleme performansı tutarlı olsa da, temel varsayımları bu kadar ciddi şekilde ihlal etmesi, katsayılarının, p-değerlerinin ve güven aralıklarının güvenilmez olduğu anlamına gelir. Bu nedenle, bu model bu haliyle kullanıma uygun değildir. Bir sonraki adım, varsayım ihlallerinin kök nedenlerini (örneğin, eksik değişkenler, mekansal etkiler, doğrusal olmayan ilişkiler) ele alacak şekilde modeli temelden iyileştirmek olmalıdır.

Nihai Değerlendirme ve İleriye Yönelik Stratejiler

Yaptığımız kapsamlı analiz sonucunda, basit bir geriye doğru değişken seçimi (Backward Stepwise Selection) ile elde edilen modelin, genelleme performansı tutarlı olsa da, temel istatistiksel varsayımları (normallik, bağımsızlık, sabit varyans) ciddi şekilde ihlal ettiğini tespit ettik. Bu durum, modelin mevcut haliyle güvenilir olmadığını ve iyileştirilmesi gerektiğini göstermektedir.

Hocamızın da vurguladığı gibi, bu varsayım ihlalleri, büyük olasılıkla modelin eksik kurulmasından (misspecification) kaynaklanmaktadır. İşte bu noktadan sonra izlenebilecek ileri düzey çözüm stratejileri:

1. Doğrusal Olmayan İlişkilerin Modellenmesi

Problem: Varsayım kontrollerinde gözlemlediğimiz sistematik desenler (eğrisellik, U-şekli), değişkenler arasında modelin yakalayamadığı doğrusal olmayan ilişkiler olabileceğine işaret etmektedir.

Çözüm Önerileri:

  • Polinom Terimler: Özellikle önemli olduğu düşünülen değişkenlerin (median_income gibi) karesini (I(median_income^2)) modele eklemek, doğrusal olmayan etkileri yakalayabilir.

  • Etkileşim Terimleri (Interaction Terms): İki değişkenin bir araya geldiğinde yarattığı sinerjik etkiyi modellemek. Örneğin, “okyanusa yakın” (ocean_proximityNEAR OCEAN) olmak ile “bina yaşı” (housing_median_age) arasında bir etkileşim olabilir. Yaşlı ve okyanusa yakın bir evin değeri, bu iki etkinin basit toplamından daha farklı olabilir. Bu, ocean_proximityNEAR_OCEAN * housing_median_age gibi bir terimle modellenebilir.

2. Gizli Mekansal Bağımlılıkların Ele Alınması

Problem: Durbin-Watson testinde tespit ettiğimiz güçlü pozitif otokorelasyon (DW ≈ 0.97), bu veride zaman boyutu olmamasına rağmen, gözlemlerin birbirinden bağımsız olmadığını göstermektedir. Bu durumun en olası nedeni, coğrafi (mekansal) bağımlılıktır. Birbirine yakın konumdaki evlerin fiyatları ve özellikleri, uzak olanlara göre birbirine daha çok benzer.

Çözüm Önerileri:

  • Mekansal Değişkenler: Modele, bu gizli mekansal yapıyı açıklayabilecek yeni değişkenler eklemek. longitude ve latitude zaten modelde mevcut, ancak bu yeterli olmayabilir. Hocanın örneğindeki gibi, “Boğaz Bölgesi” veya “popüler sahil şeridi” gibi, belirli bir coğrafi bölgeyi temsil eden yeni bir kategorik (dummy) değişken oluşturmak, modelin bu özel bölgelerdeki farklı fiyat dinamiklerini anlamasına yardımcı olabilir.

  • Mekansal Regresyon Modelleri: Daha ileri bir yaklaşım olarak, mekansal otokorelasyonu doğrudan modelleyen Mekansal Gecikme (Spatial Lag) veya Mekansal Hata (Spatial Error) gibi özel regresyon modelleri kullanmak.

3. Etkili Gözlemlerin Yönetimi

  • Problem: Kaldıraç (leverage) grafiklerinde, model üzerinde orantısız etkiye sahip olabilecek yüksek kaldıraçlı noktalar tespit ettik.

  • Değerlendirme (Hocamızın Uyarısı): Bu noktaları hemen “hata” olarak görüp modelden çıkarmak, özellikle bu veri setinde, yanlış bir yaklaşım olur. California gibi bir yerde, aşırı pahalı bir sahil malikanesi (İstanbul’daki bir boğaz yalısı gibi) bir veri hatası değil, gerçekliğin meşru bir parçasıdır.

Çözüm Önerileri:

  • Bu noktaları çıkarmak yerine, onların neden aykırı olduğunu anlamaya ve modellemeye çalışmak gerekir. Yukarıda bahsedilen “popüler sahil şeridi” gibi yeni bir değişken eklemek, bu yüksek fiyatlı evlerin neden farklı olduğunu modele “öğreterek” onların aykırılık etkisini azaltabilir.

Genel Sonuç:

Bu proje, bir regresyon analizinin sadece bir lm() fonksiyonunu çalıştırmaktan ibaret olmadığını; aksine, keşif, modelleme, teşhis ve iyileştirme adımlarından oluşan döngüsel bir süreç olduğunu göstermektedir. Başlangıç modelimizdeki varsayım ihlalleri, bir başarısızlık değil, verinin altında yatan karmaşık yapıyı (doğrusal olmama, mekansal bağımlılık) daha iyi anlamamız için bize yol gösteren önemli ipuçlarıdır.

Sonuç: İyi Bir Regresyon Analizinin İlkeleri ve Kontrol Listesi

Başarılı bir regresyon analizi, sadece bir model kurup katsayıları raporlamaktan çok daha fazlasını içerir. Bu, veriyi anlamak, modelin varsayımlarını titizlikle kontrol etmek ve elde edilen sonuçları doğru bir şekilde yorumlamak üzerine kurulu bütüncül bir süreçtir.

Pratik Öneriler ve İpuçları

Model Değerlendirme:

  • AIC/BIC: Farklı karmaşıklıktaki modelleri karşılaştırırken, Akaike Bilgi Kriteri (AIC) veya Bayesci Bilgi Kriteri (BIC) gibi bilgi kriterlerine bakın. Daha düşük değer, genellikle daha iyi bir modeli işaret eder. Ancak, aradaki fark çok küçükse, daha basit olan model (daha az değişken içeren) tercih edilmelidir (Ockham’ın Usturası prensibi).

  • Adjusted R²: Çoklu regresyon modellerinde, performansı değerlendirirken her zaman Düzeltilmiş R-kare’yi kullanın. Bu metrik, modele anlamsız değişkenler eklendiğinde R-kare’nin yapay olarak artmasını engelleyerek model karmaşıklığını cezalandırır.

  • Cross-validation (Çapraz Doğrulama): Eğitim-Test ayrımı, modelin genelleme performansını test etmek için iyi bir yöntemdir.

  • Residual Plot Kontrolü: Tüm sayısal sonuçlardan önce, artık grafiklerini (diagnostic plots) mutlaka görsel olarak inceleyin. Genellikle modeldeki temel sorunları en hızlı ve en sezgisel şekilde bu grafikler ortaya çıkarır.

Dikkat Edilmesi Gerekenler:

  • Değişken Seçimi ≠ Nedensellik: Regresyon analizi ve değişken seçimi, değişkenler arasındaki ilişkiyi ve açıklayıcılığı ölçer, nedenselliği (causation) kanıtlamaz. Bir değişkenin anlamlı çıkması, onun Y’ye “sebep olduğu” anlamına gelmez.

  • Domain Bilgisi (Alan Uzmanlığı): İstatistiksel sonuçlar, her zaman alan bilgisiyle birlikte yorumlanmalıdır. Bir değişken istatistiksel olarak anlamsız çıksa bile, eğer bir alan uzmanı o değişkenin teorik olarak “olmazsa olmaz” olduğunu belirtiyorsa, genellikle modelde tutulur.

  • Farklı Kriterleri Dene: Model seçimi yaparken sadece tek bir kritere (örn: p-değeri) bağlı kalmayın. AIC, BIC, Cp gibi farklı kriterleri de deneyerek sonuçların tutarlılığını kontrol edin.

Regresyon Analizi - Genel Özet ve Kontrol Listesi

İyi bir analiz projesi için izlenmesi gereken adımlar şunlardır:

  1. Regresyon Varsayımlarını Kontrol Et:
  • Doğrusallık: Artıklar vs. Tahminler grafiği (rastgele saçılım).

  • Bağımsızlık: Artıklar Sıra grafiği (anlamlı bir sıra varsa) ve Durbin-Watson testi.

  • Normallik: Q-Q grafiği ve Shapiro-Wilk testi.

  • Sabit Varyans (Homoscedasticity): Artıklar vs. Tahminler grafiği (huni şekli olmamalı) ve Breusch-Pagan / Levene testleri.

  1. Aykırı ve Etkili Gözlemleri İncele:
  • Aykırı olmak ≠ etkili olmak ilkesini unutma. Asıl tehlikeli olanlar etkili gözlemlerdir.

  • Cook’s Distance ve DFFITS gibi metriklerle etkili noktaları tespit et.

  • Bir gözlemi çıkarmadan önce nedenini anla. Gözlemleri keyfi olarak atmaktan kaçın.

  1. Çoklu Doğrusal Bağlantıyı Değerlendir:
  • Korelasyon matrisi ile ilk ipuçlarını yakala.

  • VIF (Varyans Şişirme Faktörü) ile problemi kesin olarak teşhis et.

  • Olası çözümler: Değişken çıkarma, PCA veya Ridge/Lasso regresyonu.

  1. Model Uyumunu Değerlendir:
  • Underfitting (Yetersiz Uyum): Model çok basitse, hem eğitim hem de test performansı kötüdür. Çözüm: Modeli daha karmaşık hale getir (yeni değişkenler, polinom terimler ekle).

  • Overfitting (Aşırı Uyum): Model çok karmaşıksa, eğitim performansı çok iyi, test performansı ise kötüdür. Çözüm: Modeli sadeleştir (değişken çıkar, regularizasyon kullan).

  • Bias-Variance Tradeoff dengesini her zaman akılda tut.

Nihai Amaç ve Felsefe

İyi bir regresyon analizi, sadece katsayıları tahmin etmek değil; modeli, veriyi ve varsayımları birlikte anlamaktır.

Nihai amaç, istatistiksel varsayımları makul ölçüde sağlayan, aykırı ve etkili gözlemleri kontrol edilmiş, çoklu doğrusal bağlantı probleminden arındırılmış ve yeni verilerde iyi bir performans gösteren, yorumlanabilir ve güvenilir bir model kurmaktır. Çıkan sonuçlarda bir “soru işareti” kalmaması, analizin en önemli hedefidir.