Kurulan modeldeki katsayıların rastgele bir sayıdan ibaret mi yoksa istatistiksel olarak gerçek bir doğrusal ilişkiyi mi yansıttığını test etme sürecidir.
\(H_0\) (Sıfır Hipotezi): \(\beta_1 = 0\) (X ile Y arasında ilişki yoktur).
\(H_1\) (Alternatif Hipotez): \(\beta_1 \neq 0\) (İlişki vardır).
Hataların normal dağıldığı, bağımsız dağılım gösterdiği ve sabit varyanslı(Homoscedasticity) olduğu varsayımı altında istatiksel anlamlılık testi yapılır. Bu varsayımlar sağlanmadığında, modelinizden elde ettiğiniz p-değerleri ve güven aralıkları yanıltıcı olabilir.
Karar: Bilgisayarın hesapladığı p-değeri, baştan belirlenen \(\alpha\) anlamlılık düzeyinden (genelde 0.05) küçükse \(H_0\) reddedilir; yani model istatistiksel olarak anlamlıdır. Test reddedilemiyorsa doğrusal bir ilişki bulunmamıştır. (Ancak karesel ya da logaritmik, doğrusal olmayan bir ilişki gizleniyor olabilir, keşifsel analizlere bakılmalıdır).
Basit doğrusal regresyon modelinde sabit terim \(\beta_0\), regresyon doğrusunun y-eksenini kestiği noktayı temsil eder. Bu parametrenin istatistiksel olarak anlamlı olup olmadığı test edilir.
\(H_0: \beta_0 = 0\) (sabit terim sıfırdır; regresyon doğrusu orijinden geçer)
\(H_1: \beta_0 \neq 0\) (sabit terim sıfırdan farklıdır)
Test istatistiği:
\[t = \frac{\hat{\beta}_0}{se(\hat{\beta}_0)}, \quad se(\hat{\beta}_0) = \sqrt{MS_{Res} \left( \frac{1}{n} + \frac{\bar{x}^2}{S_{xx}} \right)}\]
Karar kuralı:
Eğer \(|t| > t_{\alpha/2, \, n-2}\) ise (veya p-değeri < \(\alpha\)) → \(H_0\) reddedilir; sabit terim istatistiksel olarak anlamlıdır.
Eğer \(|t| \leq t_{\alpha/2, \, n-2}\) ise → \(H_0\) reddedilemez.
Pratik Yaklaşım:
Sabit terim (\(\beta_0\)) genellikle modelin yorumlama açısından en az önemli parçasıdır. Eğim parametresi (\(\beta_1\)) çok daha kritik olduğundan, \(\beta_0\) istatistiksel olarak anlamsız çıksa bile modelde tutulması yaygın bir uygulamadır. Çünkü sabit terimin çıkarılması, modelin yapısını bozabilir ve tahmin performansını olumsuz etkileyebilir.
Bu test de diğer parametre testlerinde olduğu gibi serbestlik derecesi \(n-2\) ile yapılır. Bilgisayar programları genellikle p-değerini doğrudan sunar.
Tahminlerin tek bir nokta (nokta atışı) yerine bir aralık ile ifade edilmesi hata payını da kapsadığı için daha güvenlidir.
Ortalama Yanıt İçin Güven Aralığı (Confidence Interval): Verilen bir \(x\) değeri için (örneğin: günde 5 saat çalışan tüm öğrencilerin genel ortalaması) hesaplanan aralıktır.
Yeni Gözlem İçin Tahmin Aralığı (Prediction Interval): Gelecekte sisteme girecek tek ve spesifik bir bireyin (örneğin: günde 5 saat çalışan Ahmet’in) sonucunu tahmin eder. Tahmin aralığında sadece modelin belirsizliği değil, bireyin kendi rastgele varyansı da formüle eklendiği için her zaman Güven Aralığına kıyasla daha geniş bir bant sunar.
Regresyon modelinde yeni bir gözlem \(y_0\) için iki farklı aralık hesaplanır:
Güven Aralığı (Confidence Interval): Ortalama yanıtın (\(E(y_0 \mid x_0)\)) tahmini için kullanılır.
Tahmin Aralığı (Prediction Interval): Yeni bir bireysel gözlemin (\(y_0\)) tahmini için kullanılır.
Bu iki aralığın varyans formülleri arasındaki temel fark şudur:
Güven Aralığı varyansı:
\[\operatorname{Var}(\hat{y}_0) = \sigma^2 \left( \frac{1}{n} + \frac{(x_0 - \bar{x})^2}{S_{xx}} \right)\]
Tahmin Aralığı varyansı:
\[\operatorname{Var}(y_0 - \hat{y}_0) = \sigma^2 \left( 1 + \frac{1}{n} + \frac{(x_0 - \bar{x})^2}{S_{xx}} \right)\]
“1” teriminin nedeni:
Tahmin aralığında eklenen 1, yeni bireysel gözlemin kendi rastgele hatasını (\(\varepsilon_0\)) temsil eder.
Yeni gözlem \(y_0 = \beta_0 + \beta_1 x_0 + \varepsilon_0\) şeklinde yazılır ve \(\varepsilon_0 \sim N(0, \sigma^2)\) varsayılır.
Bu rastgele hata, modelin zaten içerdiği belirsizliğe (modelin belirsizliği) eklenir.
Güven aralığı yalnızca modelin tahminindeki belirsizliği (\(\hat{y}_0\)) hesaba katar.
Tahmin aralığı ise hem modelin belirsizliğini hem de yeni gözlemin kendi rastgele varyansını (\(\sigma^2\)) içerir.
Bu yüzden varyans formülüne +1 eklenir ve tahmin aralığı her zaman güven aralığından daha geniş çıkar.
Bu ayrım, regresyon modelini kullanırken “ortalama tahmini” ile “bireysel tahmini” ayırt etmek açısından kritik öneme sahiptir.
Özetle; İki Farklı Aralık
-Güven Aralığı (Confidence Interval): Ortalama yanıt (\(E(y_0 \mid x_0)\)) için hesaplanır. Daha dar bir aralık verir (sadece modelin belirsizliğini içerir).
-Tahmin Aralığı (Prediction Interval): Yeni bir bireysel gözlem (\(y_0\)) için hesaplanır. Daha geniş bir aralık verir (model belirsizliği + bireysel varyans).
Grafikte
Koyu yeşil bant → %95 Güven Aralığı (Confidence Band)
Açık yeşil bant → %95 Tahmin Aralığı (Prediction Band)
Tahmin aralığı, güven aralığından her zaman daha geniştir çünkü yeni bir gözlemin rastgele sapmasını da hesaba katar. Bu ayrım, regresyon modelini kullanırken “ortalama tahmini” ile “bireysel tahmini” ayırt etmek açısından kritik öneme sahiptir.
Regresyon modelinin başarısını değerlendirmek için kullanılan en temel ve en önemli performans metriği belirlik katsayısıdır (R² – Coefficient of Determination).
R², bağımlı değişkendeki (y) toplam değişimin (varyasyonun) ne kadarının bağımsız değişken(ler) (x) tarafından açıklandığını gösterir. Başka bir deyişle, modelimizin “uyum iyiliği”ni (goodness of fit) sayısal olarak ifade eder. Matematiksel olarak korelasyon katsayısının karesine (r²) eşittir.
R²’nin Temel Özellikleri
R² her zaman 0 ile 1 arasında bir değer alır.
R² = 1: Model, verideki tüm değişimleri mükemmel bir şekilde açıklamaktadır. Tüm veri noktaları regresyon doğrusu üzerindedir (gerçek hayatta neredeyse imkânsızdır).
R² = 0: Model, bağımlı değişken hakkında hiçbir bilgi vermemektedir; bağımsız değişken ile bağımlı değişken arasında doğrusal bir ilişki tespit edilememiştir.
Python gibi bazı yazılımlarda model çok kötü ise R² negatif değerler alabilir; bu durumda modelin çöpe atılması gerektiği anlaşılır.
Matematiksel Temel
Verideki toplam değişkenlik üç bileşene ayrılır:
TSS (Toplam Kareler Toplamı): Verideki toplam değişkenlik
SSR (Regresyon Kareler Toplamı): Modelin açıkladığı değişkenlik
SSE (Hata / Artık Kareler Toplamı): Modelin açıklayamadığı (hata) kısmı
Bu bileşenler arasındaki ilişki şöyledir: TSS = SSR + SSE
Bu durumda R² şu iki formülle hesaplanır:
\[R^2 = \frac{SSR}{TSS} = 1 - \frac{SSE}{TSS}\]
Pratik Yorum
R² = 0.85 ise: Bağımlı değişkendeki toplam değişimin %85’i kurulan regresyon modeli tarafından açıklanabilirken, kalan %15’lik kısım model dışında kalan diğer faktörlerden veya rastgele hatalardan kaynaklanmaktadır.
Disiplinlere Göre Beklenen Değerler
Mühendislik ve doğal bilimlerde: Genellikle %80’in üzerinde R² değeri arzu edilir.
Sosyal bilimlerde: %30–%40’lık bir R² bile oldukça kabul edilebilir olabilir; çünkü insan davranışlarında çok fazla belirsizlik ve kontrol edilemeyen faktör vardır.
Kullanım Alanları
Farklı modelleri karşılaştırmak,
Tahminlerin güvenilirliğini değerlendirmek,
Hata analizini yapmak,
Yeni değişken ekleyip modelin açıklayıcılık gücünün artıp artmadığını kontrol etmek.
Özetle;
R², modelin açıklayıcılık gücünü ve veriye ne kadar iyi uyduğunu gösteren kritik bir metriktir. Ancak R² tek başına yeterli değildir; istatistiksel anlamlılık, model varsayımları ve overfitting kontrolü gibi diğer kriterlerle birlikte değerlendirilmelidir.
Regresyon modelinde R² = 1 değeri teorik olarak mümkündür ve modelin verideki tüm değişimleri mükemmel bir şekilde açıkladığını gösterir. Ancak gerçek hayatta bu durum neredeyse hiçbir zaman iyi bir haber değildir. Hocanın da vurguladığı gibi, R² = 1 gördüğünüzde “Ne kadar güzel bir model buldum!” demek yerine “Nerede hata yaptım?” diye sormanız gerekir. Bu, modelde ciddi bir sorun olduğunu gösteren güçlü bir uyarı işaretidir.
1. Veri Sızıntısı (Data Leakage)
Veri sızıntısı, modelin tahmin etmesi gereken hedef değişkene (bağımlı değişkene) dair gelecekten veya doğrudan cevap içeren bilgiyi farkında olmadan öğrenmesidir. Bu, regresyon modellerinde en sık karşılaşılan ve en tehlikeli hatalardan biridir.
Model bu “yasak” bilgiyi görünce, diğer bağımsız değişkenleri öğrenmek yerine doğrudan cevabı ezberler ve R² = 1 gibi mükemmel (ama tamamen yanıltıcı) bir sonuç üretir.
Gerçek hayattan somut örnekler:
Diyabet tahmini yaparken hastanın “Diyabet mi?” (Evet/Hayır) sütununu bağımsız değişken olarak modele koymak. Model zaten cevabı bildiği için diğer tüm tıbbi değişkenleri (kan şekeri, kilo, yaş vb.) öğrenmeye gerek duymaz ve R² = 1 çıkar.
Ameliyat olup olmayacağını tahmin ederken “Ameliyat Tarihi” veya “Ameliyat Oldu mu?” sütununu modele koymak. Model, hastanın ameliyat olup olmadığını doğrudan bu sütundan “görür” ve diğer klinik belirtileri öğrenmez.
Bir sonraki ayki satış miktarını tahmin ederken, “Bu ayki satış miktarı”nı bağımsız değişken olarak kullanmak. Gelecekteki satış zaten bu ayki satışla çok yüksek oranda ilişkili olduğundan model yine R² = 1’e çok yakın bir değer verir.
Maaş tahmini yaparken “Net Maaş”ı tahmin etmek için “Brüt Maaş + Kesintiler” gibi bilgileri modele koymak.
Özetle;
Veri sızıntısı durumunda model gerçek bir ilişki öğrenmez, sadece “cevabı” ezberler. Bu yüzden R² = 1 gibi mükemmel görünen bir sonuç aslında büyük bir sorun işaretidir. Modeli gerçek dünyada kullanmak istediğinizde tamamen başarısız olur.
Bu tür hataları önlemenin en iyi yolu, model kurmadan önce bağımlı değişkenle yüksek oranda ilişkili olabilecek tüm sütunları dikkatle incelemek ve eğitim/test veri ayrımını titizlikle yapmaktır.
2. Yetersiz Gözlem Sayısı ve Serbestlik Derecesi
Gözlem sayısı (n) çok az olduğunda veya parametre sayısı gözlem sayısına çok yaklaştığında model mekanik olarak mükemmel uyum sağlar.
Klasik örnek: n = 2 problemi → Sadece iki nokta ile her zaman mükemmel bir doğru çizilebilir.
3. Matematiksel Özdeşlikler ve Birim Farkları
Bağımlı değişken ile bağımsız değişken(ler) arasında doğrudan matematiksel bir ilişki (özdeşlik) varsa model mükemmel uyum gösterir ve R² = 1 olur. Bu durumda model aslında “öğrenme” yapmamakta, sadece bilinen bir matematiksel formülü tekrar etmektedir.
Daha net ve sık karşılaşılan örnekler:
Net Maaş tahmini yaparken “Brüt Maaş” değişkenini modele koymak Net maaş = Brüt maaş − (vergi + kesintiler). Brüt maaşı bağımsız değişken olarak koyduğunuzda model net maaşı “öğrenmez”, sadece basit bir çıkarma işlemi yapar.
Yaş tahmini yaparken “Doğum Yılı” değişkenini koymak
Yaş = 2025 − Doğum Yılı (veya mevcut yıl). Doğum yılını modele bağımsız değişken olarak eklediğinizde R² = 1 çıkar. Model hiçbir şey öğrenmemiştir, sadece basit bir çıkarma işlemi yapmaktadır.
VKİ = Kilo / (Boy²). Boy ve kiloyu modele koyduğunuzda model VKİ’yi “hesaplar”, öğrenmez. Bu yüzden R² = 1 olur.
Bir ankette “Toplam Skor = Fiziksel Sağlık Skoru + Mental Sağlık Skoru + Sosyal Skor” ise toplam skoru bağımlı değişken yapıp alt skorlardan herhangi birini (veya hepsini) bağımsız değişken olarak koyarsanız R² = 1 çıkar. Model sadece toplama işlemi yapmaktadır.
Celsius sıcaklığı tahmini yaparken Fahrenheit sıcaklığını bağımsız değişken olarak koymak (veya tam tersi). Çünkü °C = (°F − 32) × 5/9 formülüyle doğrudan dönüşüm vardır.
4. Aşırı Öğrenme (Overfitting)
Model, verideki gerçek ilişkiyi öğrenmek yerine rastgele gürültüyü (noise) ve istisnaları ezberler.
Eğitim setinde R² = 1 iken test setinde performansın dramatik şekilde düşmesi tipik overfitting belirtisidir.
5. Bağımsız Değişkenler Arasında Mükemmel Çoklu Bağlantı (Perfect Multicollinearity)
Bağımsız değişkenlerden biri diğerlerinin tam bir lineer kombinasyonu ise modelde matematiksel sorunlar ortaya çıkar ve R² çok yüksek (hatta 1) değerler alabilir.
Özet
R² = 1 değeri gerçek hayatta nadiren iyi bir şeydir. Genellikle yukarıdaki problemlerden birinin varlığına işaret eder. Bu nedenle yüksek R² değerleri elde edildiğinde:
Veri sızıntısı kontrol edilmeli,
Eğitim-test seti ayrımı yapılmalı,
Değişkenler arasındaki matematiksel ilişkiler incelenmeli,
Overfitting olup olmadığı test seti performansı ile doğrulanmalıdır.
Kısacası, mükemmel bir R², modelin “çok iyi” olduğunu değil, genellikle bir şeylerin yanlış olduğunu gösterir.
Bu uyarıları dikkate almak, gerçek anlamda güçlü ve güvenilir modeller kurmanın temel şartlarından biridir.
Basit doğrusal regresyonda tek bir bağımsız değişken (X) ile bağımlı değişken (Y) arasındaki ilişki incelenir. Ancak gerçek hayattaki karmaşık sistemlerde bir sonucu tek bir faktörle açıklamak genellikle yetersiz kalır.
Bağımlı değişkeni etkileyen birden fazla faktör bir arada çalışır ve bu faktörler kendi aralarında da etkileşime girebilir.
Bu nedenle analize birden fazla bağımsız değişken dahil edildiğinde model Çoklu Doğrusal Regresyon olarak adlandırılır. Bu yaklaşım, bağımlı değişkendeki değişimin daha büyük bir kısmını açıklamamıza ve modelin açıklayıcılık gücünü (R²) önemli ölçüde artırmamıza olanak tanır.
Neden Çoklu Regresyon Kullanılır?
Tek değişkenli bir modelde birçok açıklanamayan varyasyon (hata terimi) kalır. Birden fazla bağımsız değişken ekleyerek modelin gerçeğe daha yakın olmasını sağlarız.
Örnek Alanlar ve Uygulamalar:
-Ekonomi ve İşletme:Bir tüketicinin harcama miktarını (Y) yalnızca geliriyle (X₁) açıklamak yetersizdir. Faiz oranları (X₂), enflasyon beklentisi (X₃) ve sosyal statü gibi birden fazla ekonomik ve sosyo-demografik değişken bir arada incelenmelidir.
-Mühendislik:Bir roket motorunda kullanılan yakıtın bağlanma dayanıklılığını (Y) sadece yakıtın yaşıyla (X₁) açıklamak mümkün değildir. Üretim sırasındaki sıcaklık (X₂) ve nem (X₃) gibi teknik parametreler de modele dahil edilmelidir.
-Tıp ve Sağlık:Bir hastanın kan şekeri seviyesini (Y) yalnızca kullandığı insülin dozuyla (X₁) tahmin etmek eksik kalır. Vücut kitle indeksi (X₂), yaş (X₃), cinsiyet ve günlük egzersiz süresi gibi birden fazla faktörün birlikte etkisi incelenmelidir.
-Çevre Bilimleri:Bir göldeki kirlilik seviyesini (Y) sadece atık miktarıyla (X₁) açıklamak yetersizdir. Suyun akıntı hızı (X₂) ve mevsimsel sıcaklık değişimleri (X₃) gibi çevresel faktörler de modele katılmalıdır.
Basit doğrusal regresyon analizinde bağımlı değişken y ile tek bir bağımsız değişken x kullanılarak model kurulurken, çoklu regresyon analizinde sistemin çok boyutluluğunu yansıtmak amacıyla birden fazla bağımsız değişken kullanılır.
Bu durumda bağımsız değişkenler x₁, x₂, …, xₖ şeklinde gösterilir. Burada k, modeldeki bağımsız değişken sayısını temsil eder.
Genel Matematiksel Model
Çoklu doğrusal regresyon modelinin temel denklemi şu şekildedir:
\[y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + \varepsilon\]
Notasyonların Anlamı:
\(y\) → Bağımlı değişken (tahmin edilmek istenen hedef değişken)
\(x_1, x_2, \dots, x_k\) → Bağımsız değişkenler (k tane)
\(\beta_0\) → Sabit terim (intercept)
\(\beta_1, \beta_2, \dots, \beta_k\) → Her bir bağımsız değişkenin y üzerindeki etkisini gösteren regresyon katsayıları
\(\varepsilon\) → Hata terimi (rastgele hata)
Bu notasyon, basit regresyondan çoklu regresyona geçişte modelin yapısını net bir şekilde ifade etmemizi sağlar. Artık tek bir x yerine birden fazla x ile bağımlı değişkenin nasıl etkilendiğini aynı anda inceleyebiliriz.
Çoklu Doğrusal Regresyon Örneği: Kardiyovasküler Risk Tahmini:
Bu veri seti, Çoklu Doğrusal Regresyon (Multiple Linear Regression) modelinin klasik ve çok iyi bir uygulamasıdır.
Modelin Amacı: Bir kişinin Kardiyovasküler Risk Skoru’nu (%) tahmin etmek istiyoruz. Risk skoru, gelecekteki kalp-damar hastalığı olasılığını gösteren sayısal bir çıktımızdır.
Tablo : Çoklu Doğrusal Regresyon Modelinde Kullanılan Değişkenler
| Tür | Değişken | Açıklama | Rolü |
|---|---|---|---|
| Bağımlı (Y) | Kardiyovasküler Risk Skoru (%) | Tahmin edilecek hedef değişken | Çıktı |
| Bağımsız (X₁) | Yaş | Yaş (yıl) | X |
| Bağımsız (X₂) | Vücut Kitle İndeksi (VKİ) | VKİ (kg/m²) | X |
| Bağımsız (X₃) | Sistolic Kan Basıncı | mmHg cinsinden kan basıncı | X |
| Bağımsız (X₄) | Toplam Kolesterol | mg/dL cinsinden kolesterol seviyesi | X |
| Bağımsız (X₅) | Sigara Kullanımı | 0 = Hayır, 1 = Evet | X |
| Bağımsız (X₆) | Fiziksel Aktivite | Haftalık saat | X |
Not: Bu veri seti, çoklu doğrusal regresyon modelinin tipik bir uygulamasıdır. Bağımlı değişken (Kardiyovasküler Risk Skoru) birden fazla bağımsız değişken ile açıklanmaktadır.
Model Formülü:
Matematiksel olarak model şu şekilde yazılır:
\[\hat{Y} = \beta_0 + \beta_1 \cdot \text{Yaş} + \beta_2 \cdot \text{VKİ} + \beta_3 \cdot \text{Kan Basıncı} + \beta_4 \cdot \text{Kolesterol} + \beta_5 \cdot \text{Sigara} + \beta_6 \cdot \text{Fiziksel Aktivite} + \epsilon\]
Burada:
\(\hat{Y}\): Tahmin edilen Kardiyovasküler Risk Skoru
\(\beta_0\): Sabit terim (intercept)
\(\beta_1, \beta_2, \dots, \beta_6\): Her bir bağımsız değişkenin risk skoru üzerindeki etkisi (katsayılar)
\(\epsilon\): Hata terimi
Neden Çoklu Regresyon Kullanıyoruz?
Eğer sadece tek bir değişken (örneğin sadece Yaş) kullansaydık, model çok basit kalır ve risk skorundaki varyasyonun büyük kısmı açıklanamazdı.
Birden fazla risk faktörünü (yaş, VKİ, kan basıncı, kolesterol, sigara, fiziksel aktivite) aynı anda modele dahil ederek:
Modelin açıklayıcılık gücünü (R²) artırıyoruz.
Gerçek hayattaki karmaşık etkileşimleri daha iyi yakalıyoruz.
Daha doğru ve gerçekçi risk tahminleri yapabiliyoruz.
Özetle:
Çoklu doğrusal regresyon, karmaşık gerçek dünya problemlerini daha gerçekçi bir şekilde modellememizi sağlar. Tek değişkenli modellerde açıklanamayan varyasyon çok yüksekken, birden fazla ilgili bağımsız değişken ekleyerek modelin açıklayıcılık gücünü (R²) artırır ve daha güvenilir tahminler elde etmemize yardımcı olur. Bu yaklaşım, ekonomi, mühendislik, tıp, çevre bilimleri gibi hemen hemen tüm disiplinlerde yaygın olarak kullanılır.
En küçük kareler (Ordinary Least Squares - OLS) yöntemi, regresyon modelindeki parametreleri (β₀, β₁, …, βₖ) tahmin etmenin en yaygın ve temel yöntemidir. Hocamızın da belirttiği gibi, doğrudan hata terimlerinin toplamı her zaman sıfır olduğu için bu yolu kullanamayız. Bunun yerine hata kareleri toplamını minimize ederek en iyi parametre tahminlerini buluruz.
Temel Kavramlar
Hata terimi şöyle tanımlanır:
\[\varepsilon_i = y_i - \beta_0 - \beta_1 x_{i1} - \beta_2 x_{i2} - \cdots - \beta_k x_{ik}\]
Her bir gözlem için hata karesi:
\[\varepsilon_i^2 = (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_k x_{ik})^2\]
Tüm gözlemler için hata kareleri toplamı (S) ise şu şekildedir:
\[S(\beta_0, \beta_1, \dots, \beta_k) = \sum_{i=1}^{n} \varepsilon_i^2 = \sum_{i=1}^{n} \left( y_i - \beta_0 - \sum_{j=1}^{k} \beta_j x_{ij} \right)^2\]
Amaç: Bu S fonksiyonunu minimize ederek β parametrelerini bulmaktır.
Çözüm Yöntemi
Modelde k + 1 tane bilinmeyen parametre vardır (β₀, β₁, …, βₖ).
S fonksiyonunun her bir βⱼ’ye göre kısmi türevini alıp sıfıra eşitlemekle normal denklemler elde edilir.
Bu türev işlemlerinin sonucunda bir denklem sistemi oluşur.
Bu sistemin çözümüyle en iyi tahmin ediciler β̂₀, β̂₁, …, β̂ₖ bulunur.
Hocamızın da vurguladığı gibi, bu işlemler matris formunda daha pratik ve net bir şekilde gösterilebilir. Çünkü her denklemde β’ler iç içe geçtiği için tek tek yazmak oldukça karmaşık hâle gelir.
Özetle:
En küçük kareler yöntemi, hata kareleri toplamını minimize ederek modelin veriye en iyi şekilde uymasını sağlayan β katsayılarını bulur. Bu yöntem, çoklu doğrusal regresyonun temelini oluşturur ve parametre tahminlerinin istatistiksel olarak en verimli yoludur.
En küçük kareler (OLS) yöntemiyle parametre tahminini matris notasyonu kullanarak ifade etmek, çoklu regresyon analizinde en temiz ve en pratik yaklaşımdır. Basit doğrusal regresyondan tek farkı, matrislerin boyutlarının değişmiş olmasıdır.
Genel Model (Matris Formunda)
\[\mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\]
\(\mathbf{y}\): \(n \times 1\) boyutlu bağımlı değişken vektörü
\(\mathbf{X}\): \(n \times (k+1)\) boyutlu tasarım matrisi (ilk sütun 1’lerden oluşur, kalan sütunlar $ x_1, x_2, , x_k $)
\(\boldsymbol{\beta}\): \((k+1) \times 1\) boyutlu parametre vektörü ($ _0, _1, , _k $)
\(\boldsymbol{\varepsilon}\): \(n \times 1\) boyutlu hata vektörü
En Küçük Kareler Tahmin Edicisi
Hata kareleri toplamını minimize etmek için normal denklemlerin matris hali şöyledir:
\[\hat{\boldsymbol{\beta}} = (\mathbf{X}'\mathbf{X})^{-1} \mathbf{X}'\mathbf{y}\]
Bu formül, \(\boldsymbol{\beta}\) vektörünün (yani \(\hat{\beta}_0, \hat{\beta}_1, \dots, \hat{\beta}_k\)) en iyi tahmin değerlerini verir.
Tahmin Edilen Değerler (Fitted Values)
Parametre tahminlerini yerine koyduğumuzda tahmin edilen \(\hat{\mathbf{y}}\) vektörü şu şekilde elde edilir:
\[\hat{\mathbf{y}} = \mathbf{X}\hat{\boldsymbol{\beta}} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{y} = \mathbf{H}\mathbf{y}\]
Burada \(\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\) matrisine şapka matrisi (hat matrix) denir.
Bu matris, gözlenen \(\mathbf{y}\) değerlerini doğrudan tahmin edilen \(\hat{\mathbf{y}}\) değerlerine dönüştürür.
Özetle:
Matris notasyonu, çoklu regresyonda parametre tahminini ve tahmin edilen değerleri çok daha kompakt ve genel bir şekilde ifade etmemizi sağlar. Hocanın da belirttiği gibi, temel mantık basit regresyondakiyle aynıdır; sadece matrislerin boyutu artmıştır. Bu gösterim, özellikle büyük veri setlerinde ve programlama dillerinde (R, Python vb.) regresyon katsayılarını hesaplamak için standart hâle gelmiştir.
En küçük kareler yöntemiyle elde edilen parametre tahmin edicileri \(\hat{\boldsymbol{\beta}}\), çoklu doğrusal regresyon modelinde en önemli ve en sık kullanılan tahmincilerdir. Bu tahmin ediciler, istatistiksel olarak çok güçlü bazı özelliklere sahiptir.
1. Temel İstatistiksel Özellikler
Yansızlık (Unbiasedness)\[E(\hat{\boldsymbol{\beta}}) = \boldsymbol{\beta}\]Yani, \(\hat{\beta}_0, \hat{\beta}_1, \dots, \hat{\beta}_k\) tahmin edicilerinin beklenen değeri, gerçek parametre değerlerine eşittir. Ortalama olarak doğru değeri verir.
Kovaryans Matrisi\[\text{Cov}(\hat{\boldsymbol{\beta}}) = \sigma^2 (\mathbf{X}'\mathbf{X})^{-1}\]Bu matris, tahmin edicilerin varyanslarını ve aralarındaki kovaryansları gösterir.
Her bir katsayının varyansı\[\text{Var}(\hat{\beta}_j) = \sigma^2 C_{jj}\](burada \(C_{jj}\), \((\mathbf{X}'\mathbf{X})^{-1}\) matrisinin \(j\)-inci diyagonal elemanıdır)
Katsayılar arası kovaryans\[\text{Cov}(\hat{\beta}_i, \hat{\beta}_j) = \sigma^2 C_{ij}\]
2. Hata Varyansının Tahmini (\(\sigma^2\))
Hata varyansı da aynı yöntemle tahmin edilir:
\[\hat{\sigma}^2 = \frac{SS_{\text{Res}}}{n - k - 1} = MS_{\text{Res}}\]
Burada:
\(SS_{\text{Res}}\) = Artık kareler toplamı (Residual Sum of Squares)
\(n\) = Gözlem sayısı
\(k\) = Bağımsız değişken sayısı
\(n - k - 1\) = Serbestlik derecesi (modelin kalan serbestlik derecesini gösterir)
3. Uygulama İçin Gerekli Temel Varsayımlar
OLS tahmin edicilerinin yukarıdaki güzel istatistiksel özelliklere sahip olabilmesi için şu varsayımların sağlanması gerekir:
Model hataları normal dağılım göstermelidir.
Hatalar birbirinden bağımsız olmalıdır.
Hataların varyansı sabit olmalıdır (homoskedastisite).
Bağımsız değişkenler (X’ler) birbirinden bağımsız olmalıdır. Aksi takdirde çoklu bağlantı (multicollinearity) problemi ortaya çıkar ve tahminler güvenilmez hâle gelir.
Özetle:
En küçük kareler yöntemiyle elde edilen \(\hat{\boldsymbol{\beta}}\) tahmin edicileri, model varsayımları sağlandığında yansız, en verimli ve en küçük varyansa sahip tahmincilerdir. Bu özellikler, regresyon analizinin teorik temelini oluşturur ve güven aralıkları, hipotez testleri gibi sonraki adımlar için vazgeçilmezdir.
Katsayılar (\(\hat{\beta}_0, \hat{\beta}_1, \dots, \hat{\beta}_k\)) en küçük kareler yöntemiyle hesaplandıktan sonra, bu katsayıların istatistiksel olarak anlamlı olup olmadığını test etmemiz gerekir. Bu testler, modelin gerçekten işe yarayıp yaramadığını ve hangi bağımsız değişkenlerin bağımlı değişken üzerinde anlamlı bir etkiye sahip olduğunu belirler.
1. Genel Model Anlamlılık Testi (F-Testi / ANOVA)
Öncelikle modelin bütün olarak anlamlı olup olmadığını kontrol ederiz. Bu test, regresyonun genel açıklayıcılık gücünü değerlendirir.
Null Hipotez (\(H_0\)):
\[\beta_1 = \beta_2 = \dots = \beta_k = 0\](Hiçbir bağımsız değişken bağımlı değişken üzerinde anlamlı bir etkiye sahip değildir; model işe yaramaz.)
Alternatif Hipotez (\(H_1\)):
En az bir $ _j $ (Model anlamlıdır; en az bir değişken bağımlı değişkeni doğrusal olarak etkilemektedir.)
Bu test F-istatistiği ile (genellikle ANOVA tablosu üzerinden) gerçekleştirilir.
Elde edilen p-değeri, seçilen anlamlılık düzeyinden (\(\alpha =0.05\)) küçükse \(H_0\) reddedilir ve “model genel olarak anlamlıdır” sonucuna varılır.
2. Bireysel Katsayıların Anlamlılık Testi (t-Testi)
Genel model anlamlıysa, her bir bağımsız değişkenin tek tek etkisini test etmek için t-testleri yapılır. Her bir \(\beta_j\) için:
\(H_0: \beta_j = 0\)
\(H_1: \beta_j \neq 0\)
Yine p-değeri ile karar verilir.
Önemli Uyarı
Eğer genel F-testi anlamlı değilse (p > 0.05), model genel olarak işe yaramamaktadır.
Bu durumda tek tek katsayı testlerine geçmek anlamsızdır. Modeldeki tüm katsayılar matematiksel bir gürültüden ibarettir ve model tahmin yapmak için kullanılamaz.
Özetle:
Regresyon parametrelerinin anlamlılık testi iki aşamalıdır:
Önce F-testi ile modelin genel olarak anlamlı olup olmadığına bakılır.
Model anlamlıysa t-testleri ile her bir katsayının anlamlılığı tek tek incelenir.
Bu testler, regresyon modelinin istatistiksel olarak güvenilir olup olmadığını ve hangi değişkenlerin gerçekten önemli olduğunu belirlemede kritik rol oynar.
Regresyon modelinde birden fazla bağımsız değişken olduğunda klasik belirlik katsayısı (R²) yetersiz kalır. Çünkü modele her yeni değişken eklendiğinde (bu değişken tamamen etkisiz ya da rastgele olsa bile) R² değeri ya artar ya da aynı kalır. Bu durum, modelin aşırı karmaşıklaşmasına (overfitting) yol açabilir ve gerçek açıklayıcılık gücünü yanıltıcı biçimde şişirir.
Bu sorunu aşmak için üç temel model seçim kriteri kullanılır:
1. Düzeltilmiş R² (Adjusted R²)
Klasik R²’yi parametre sayısına göre cezalandıran düzeltilmiş versiyonudur. Formülü:
\[R^2_{\text{adj}} = 1 - \left[ (1 - R^2) \times \frac{n-1}{n - k - 1} \right]\]
\(n\): Gözlem sayısı \(k\): Bağımsız değişken sayısı
Avantajları:
Değişken sayısını dikkate alır.
Gereksiz (etkisiz) değişkenler eklendiğinde değeri düşer.
Farklı modelleri adil bir şekilde karşılaştırmamıza olanak tanır.
Özellik: Her zaman klasik R²’den küçük veya eşittir (\(R^2_{\text{adj}} \leq R^2\)).
2. AIC (Akaike Information Criterion)
Modelin tahmin hatasını (hata varyansı) ve karmaşıklığını (parametre sayısı) dengeleyen bir bilgi kriteridir.
Formülü:
\[\text{AIC} = n \times \ln\left(\frac{\text{SSE}}{n}\right) + 2k\]
Daha düşük AIC değeri → daha iyi model
Bilgi teorisine dayalıdır.
3. BIC (Bayesian Information Criterion)
AIC’ye benzer ancak örneklem büyüklüğünü de dikkate alır ve daha ağır bir ceza uygular.
Formülü:
\[\text{BIC} = n \times \ln\left(\frac{\text{SSE}}{n}\right) + k \times \ln(n)\]
Daha düşük BIC değeri → daha iyi model
AIC’den daha sert ceza uygular (özellikle büyük veri setlerinde).
Model Seçim Kuralı
Birden fazla model arasında seçim yaparken şu genel yaklaşım kullanılır:
Bu kriterler birlikte kullanıldığında:
Modelin açıklayıcılık gücünü korurken,
Gereksiz değişkenleri cezalandırarak,
Daha sade ve genellenebilir modeller elde etmemizi sağlar.
Özetle: Klasik R²’ye güvenmek yerine düzeltilmiş R², AIC ve BIC gibi kriterler, regresyon modellerini karşılaştırmak ve en uygun modeli seçmek için vazgeçilmez araçlardır.
İki Modelin Karşılaştırılması
Model A: Basit model
\(Y \sim X_1 + X_2 + X_3\) (\(k = 3\) bağımsız değişken)
Model B: Daha karmaşık model
\(Y \sim X_1 + X_2 + \dots + X_{10}\) (\(k = 10\) bağımsız değişken)
| Kriter | Model A (k=3) | Model B (k=10) | Yorum / Tercih |
|---|---|---|---|
| R² | 0.7500 | 0.7800 | Model B biraz daha iyi |
| Düzeltilmiş R² | 0.7422 | 0.7554 | Model B biraz daha iyi |
| AIC | 1205.3 | 1198.5 | Model B daha iyi |
| BIC | 1218.7 | 1231.2 | Model A daha iyi |
Sonuç ve Karar
Bu örnekte:
Model B biraz daha yüksek R² ve Adjusted R² değerine sahip olsa da,
BIC kriteri Model A’yı daha iyi bulmaktadır.
Genel Kural:
Yüksek Düzeltilmiş R² + Düşük AIC/BIC kombinasyonu aranır. Ancak BIC daha ağır ceza uyguladığı için daha sade ve yorumlanabilir modelleri destekler. Bu nedenle burada Model A (3 değişkenli model) tercih edilebilir Parsimony İlkesi (Yalınlık İlkesi).
Parsimony İlkesi (Yalınlık İlkesi):
Daha basit modeller (daha az değişkenli), benzer açıklayıcılık gücüne sahipse tercih edilmelidir. Çünkü karmaşık modeller aşırı uyum (overfitting) riski taşır ve genellenebilirliği azalır.
Çoklu regresyon analizinde birden fazla model kurduğumuzda, bu modelleri karşılaştırmak için modellerin iç içe (nested) olup olmadığına bakılır. Bu ayrım, hangi istatistiksel testin kullanılacağını belirler.
1. Nested (İç İçe) Modeller
Bir model, diğer modelin özel hali (alt kümesi) ise nested olarak adlandırılır.
Örnek:
Model 1: \(Y \sim X_1 + X_2\)
Model 2: \(Y \sim X_1 + X_2 + X_3 + X_4\)
Model 1, Model 2’nin içinde yer alır.
Kullanılan Test:
Likelihood Ratio Test (LRT)
F-testi (ANOVA)
Hipotezler:
\(H_0\): Küçük model yeterlidir (eklenen değişkenler gereksizdir)
\(H_1\): Büyük model daha iyidir (eklenen değişkenler anlamlıdır)
Karar Kuralı:
p-değeri < 0.05 ise \(H_0\) reddedilir ve büyük model tercih edilir.
2. Non-Nested (İç İçe Olmayan) Modeller
Modeller birbirini içermiyor ve tamamen farklı değişken setleri kullanıyorsa non-nested olarak adlandırılır.
Örnek:
Model A: \(Y \sim X_1 + X_2 + X_3\)
Model B: \(Y \sim X_4 + X_5 + X_6\)
Bu durumda LRT veya F-testi kullanılamaz. Bunun yerine şu yöntemler tercih edilir:
AIC ve BIC karşılaştırması
Cross-validation
Özet:
İç içe modellerde → LRT veya F-testi ile istatistiksel anlamlılık testi yapılabilir.
İç içe olmayan modellerde → AIC/BIC gibi bilgi kriterleri veya cross-validation kullanılır.
Bu ayrım, regresyon model karşılaştırmasında doğru yöntemin seçilmesi açısından kritik öneme sahiptir. Hocamızın da belirttiği gibi, genellikle iç içe modeller (değişken ekleme/çıkarma) yaklaşımı daha sık tercih edilir.
Bağımlı Değişken: Vücut Kitle İndeksi (BMI)
Model 1 (Küçük model): \(\text{BMI} \sim \text{Yaş} + \text{Kalori}\)
Model 2 (Büyük model):
\(\text{BMI} \sim \text{Yaş} + \text{Kalori} + \text{Egzersiz} + \text{Kilo} + \text{Boy}\)
Model 2, Model 1’in içine eklenen 3 yeni değişken içerdiği için nested yapıdadır.
R Çıktısından Ana Bulgular
ANOVA (F-testi) Tablosu:
F-istatistiği = 209.869 (çok yüksek)
p-değeri = < 2.2e-16 (çok anlamlı, ***)
Teknik Yorum ve Karar
Model 2’ye eklenen 3 değişken (Egzersiz, Kilo, Boy) sayesinde:
R² değeri %27.7’den %83.0’a yükselmiştir (%76.5’lik iyileşme).
Düzeltilmiş R² de anlamlı ölçüde artmıştır.
AIC ve BIC değerleri belirgin şekilde düşmüştür.
F-testi sonucu p-değeri < 0.001 olduğu için H₀ hipotezi reddedilir.
Yani “Küçük model yeterlidir” hipotezi çürütülmüş ve Model 2’nin istatistiksel olarak anlamlı katkı sağladığı kanıtlanmıştır.
Sonuç:
Bu örnekte Model 2 (büyük model) hem daha yüksek açıklayıcılık gücüne (R² ve Adj. R²) hem de daha düşük bilgi kriteri (AIC/BIC) değerlerine sahiptir. Bu nedenle Model 2 tercih edilmelidir.
Bu tür nested model karşılaştırmalarında Likelihood Ratio Test (LRT) / F-testi, hangi değişkenlerin modele anlamlı katkı sağladığını istatistiksel olarak test etmenin en güçlü ve standart yöntemidir.
Çoklu doğrusal regresyon modelinde bir bağımsız değişkenin (Xj) bağımlı değişken (Y) üzerindeki gerçek (net) etkisini görmek istediğimizde klasik scatter plot yetersiz kalır. Çünkü diğer değişkenlerin confounding etkisi (karıştırıcı etkisi) grafikteki ilişkiyi bozar. Bu sorunu çözmek için kısmi regresyon grafikleri (Partial Regression Plot veya Added Variable Plot) kullanılır.
Partial Regression Plot Nedir?
Bir değişkenin, diğer tüm değişkenlerin etkisi kontrol edildikten sonra bağımlı değişken üzerindeki net (marginal) katkısını gösterir.
Özellikle çoklu bağlantı (multicollinearity) sorunu olan modellerde çok faydalıdır.
“Added Variable Plot” olarak da bilinir.
Nasıl Hesaplanır? (Adım Adım)
İlgilendiğiniz değişkeni (Xj, örneğin Egzersiz) modelden çıkarın ve kalan değişkenlerle Y’yi regresyon yapın → Y’nin artıklarını (residuals) hesaplayın.
İlgilendiğiniz değişken Xj’yi diğer tüm değişkenlerle regresyon yapın → Xj’nin artıklarını hesaplayın.
Bu iki artık setini (residuals) birbirine karşı grafiğe dökün.
Elde edilen grafiğin eğimi, tam modeldeki ilgili katsayıya (βj) tam olarak eşittir.
Pratik Faydası
Her bir değişkenin gerçek katkısını tek tek görselleştirir.
Multicollinearity durumunda değişkenin etkisini netleştirir.
Modelde hangi değişkenin gerçekten önemli olduğunu anlamamızı sağlar.
Basit regresyon (diğer değişkenler kontrol edilmeden): Eğim ≈ -1.732 (zayıf negatif ilişki)
Partial regression (Yaş ve Kalori etkisi kontrol edildikten sonra): Eğim ≈ -1.964 (daha net ve güçlü negatif etki)
Yorum:
Egzersiz arttıkça BMI azalır.
Bu etki, Yaş ve Kalori gibi diğer değişkenler kontrol edildikten sonra daha belirgin hâle gelir.
Grafikteki aykırı noktalar, egzersizin etkisini orantısız değiştiren gözlemlerdir.
Tüm Değişkenler İçin Partial Regression Plotlar
Her bir bağımsız değişken için ayrı grafikler çizilir:
Yaş: β = +0.265 → Yaş arttıkça BMI artar (pozitif etki)
Kalori: β = +0.008 → Kalori arttıkça BMI artar (pozitif etki)
Egzersiz: β = -1.964 → Egzersiz arttıkça BMI azalır (negatif etki)
Bu grafikler, her değişkenin diğer tüm değişkenler kontrol edildikten sonraki saf (net) katkısını tek tek görmemizi sağlar.
Özetle:
Partial Regression Plot, çoklu regresyonda bir değişkenin gerçek marjinal etkisini görselleştirmek için güçlü bir araçtır. (Klasik scatter plot’un aksine confounding etkisini ortadan kaldırarak daha doğru ve güvenilir içgörü sağlar.) Diğer değişkenlerin etkisini ortadan kaldırarak, değişkenin bağımsız katkısını net bir şekilde ortaya koyar. Özellikle multicollinearity sorununda ve modeldeki her bir değişkenin önemini anlamak istediğimizde vazgeçilmezdir.
R’da car paketi ile avPlots() fonksiyonu kullanılarak tüm değişkenler için bu grafikler kolayca üretilebilir.
R’da bu grafikleri üretmek için iki temel yöntem vardır:
Yöntem 1: Otomatik Yöntem (car paketi)
library(car)
# Modeli oluştur
model <- lm(BMI ~ Yas + Kalori + Egzersiz, data = veri)
# Tüm değişkenler için kısmi regresyon grafikleri
avPlots(model)
Bu fonksiyon, modeldeki her bir bağımsız değişken için otomatik olarak Added Variable Plot (kısmi regresyon grafiği) üretir.
Yöntem 2: Manuel Hesaplama (Adım Adım)
# 1. Y'nin artıklarını hesapla (ilgilendiğimiz değişken hariç)
m1 <- lm(BMI ~ Yas + Kalori, data = veri) # Egzersiz hariç
resid_y <- residuals(m1)
# 2. İlgilendiğimiz değişkenin (Egzersiz) artıklarını hesapla
m2 <- lm(Egzersiz ~ Yas + Kalori, data = veri)
resid_x <- residuals(m2)
# 3. İki artık setini grafiğe dök
plot(resid_x, resid_y,
xlab = "Egzersiz Artıkları (diğer değişkenler kontrol edildikten sonra)",
ylab = "BMI Artıkları (diğer değişkenler kontrol edildikten sonra)",
main = "Partial Regression Plot: Egzersiz")
abline(lm(resid_y ~ resid_x), col = "red", lwd = 2)
Önemli Notlar
Grafikteki eğimin (slope) değeri, tam modeldeki ilgili katsayıya (βj) mutlaka eşit olmalıdır.
Bu grafik, özellikle çoklu bağlantı (multicollinearity) sorunu olan modellerde çok faydalıdır.
Aykırı noktalar, ilgili değişkenin etkisini orantısız etkileyen gözlemleri gösterir.
Eğer grafikteki eğim sıfıra yakın ise, o değişkenin modele anlamlı bir katkı sağlamadığı söylenebilir ve modelden çıkarılması düşünülebilir.
Özet:
Kısmi regresyon grafikleri (avPlots), çoklu regresyonda bir değişkenin diğer tüm değişkenler kontrol edildikten sonraki net etkisini görselleştirmenin en etkili yoludur. Hem otomatik (car::avPlots()) hem de manuel yöntemle üretilebilir ve model geliştirme sürecinde çok değerli içgörüler sağlar.
Çoklu regresyon modelinde bağımsız değişkenlerin farklı birim aralıklarında (örneğin yaş 0-100, gelir -1000 ile 1.000.000, VKİ 15-40 vb.) olması durumunda, regresyon katsayılarını (β) doğrudan karşılaştırmak yanıltıcı ve zor olur. Bir katsayının büyüklüğü, değişkenin birimine bağlı olarak yanlış yorumlanabilir.
Bu sorunu çözmek için değişkenleri ölçeklendirme (standardizasyon) işlemine tabi tutarız. En yaygın ve en temiz yöntem Birim Normal Ölçeklendirme (z-skoru) yöntemidir.
Bir değişkeni standartlaştırmak için şu formül kullanılır:
\[ \hat{x} = \frac{x - \bar{x}}{s_x} \]
\(\bar{x}\): Değişkenin ortalaması
\(s_x\): Değişkenin standart sapması
Alternatif robust bir yöntem (aykırı değerlere daha dayanıklı):
\[ \hat{x} = \frac{x - \text{medyan}(x)}{\text{IQR}(x)} \]
Tüm değişkenler ortalaması 0 ve standart sapması 1 olur.
Regresyon katsayıları (β) artık doğrudan karşılaştırılabilir hâle gelir.
Katsayının büyüklüğü, değişkenin standart sapma cinsinden etkisini gösterir.
Tasarım matrisi X’X, standartlaştırılmış verilerde korelasyon matrisine dönüşür. Bu, katsayıların yorumlanmasını ve multicollinearity teşhisini kolaylaştırır.
Önemli Not:
Standartlaştırma (z-skoru) veriyi normal dağılımlı yapmaz; yalnızca ortalama 0, varyans 1 olacak şekilde dönüştürür. Bu yüzden “normalizasyon” terimi bazen kullanılsa da teknik olarak “standartlaştırma” ifadesi daha doğrudur.
Bu yöntem, özellikle farklı ölçeklerdeki değişkenlerin (yaş, gelir, VKİ, egzersiz süresi vb.) aynı modelde kullanıldığı durumlarda regresyon katsayılarını anlamlı ve adil bir şekilde yorumlamak için vazgeçilmezdir.
Regresyon analizi gibi istatistiksel modeller, genellikle sayısal değişkenler arasındaki ilişkileri inceler. Ancak, gerçek dünya verileri her zaman sayısal değildir. Çoğu zaman, bir modelde açıklayıcı değişken olarak kullanmak istediğimiz bilgiler kategorik bir yapıdadır.
Kategorik Değişkenlere Örnekler:
Cinsiyet: Kadın, Erkek
Şehir: Ankara, İstanbul, İzmir
Eğitim Düzeyi: İlkokul, Lise, Üniversite
Bir özelliğin varlığı: Evet/Hayır, Var/Yok (Örn: Evin bahçesi var mı?)
Bu kategorik bilgileri doğrudan bir regresyon denklemine dahil edemeyiz. Örneğin, “Ankara” ile “İstanbul” kelimelerini matematiksel bir denklemde toplamak veya çarpmak anlamsızdır. İşte bu noktada, bu değişkenleri modelin anlayabileceği bir formata dönüştürme ihtiyacı doğar ve Kukla (Dummy) Değişkenler devreye girer.
Dummy Encoding, kategorik değişkenleri regresyon modeline dahil edebilmek için onları 0 ve 1 değerlerinden oluşan sayısal sütunlara dönüştürme işlemidir. Bu yöntem, bir kategorinin “varlığını” (1) veya “yokluğunu” (0) temsil eder.
Bunun temel olarak iki kritik nedeni vardır:
a) Matematiksel Zorunluluk
Regresyon denklemleri matematiksel operatörler (+, -, *, /) üzerine kuruludur. Kategorik değerler (metinler) bu denklemlerde doğrudan kullanılamaz. Kukla değişkenler, bu bilgiyi matematiksel olarak işlenebilir bir formata sokar.
b) Sıralama Yanılgısını Önlemek
Kategorilere rastgele sayılar atamak (örn: İlkokul=1, Lise=2, Üniversite=3) ciddi yorumlama hatalarına yol açar. Bu tür bir kodlama, modelin kategoriler arasında yapay bir sıralama ve oran olduğunu varsaymasına neden olur. Örneğin, model “Üniversite” (3) eğitim seviyesinin etkisinin “İlkokul” (1) seviyesinin tam olarak üç katı olduğunu varsayabilir ki bu tamamen yanlıştır.
0 ve 1 kullanımı bu yanılgıyı ortadan kaldırır. Bu kodlama, bir özelliğin sadece “var” veya “yok” olduğunu temsil eder, kategoriler arasında sayısal bir büyüklük ilişkisi kurmaz.
Kukla değişkenleri yorumlarken en kritik kavram Referans
Kategorisi’dir. Bir kategorik değişkeni n-1
kuralına göre (bir sonraki bölümde açıklanacak) kukla değişkenlere
ayırdığımızda, dışarıda bıraktığımız bir kategori olur. Bu kategori, tüm
karşılaştırmaların yapılacağı temel veya “referans” noktasıdır.
Referans kategorisi için oluşturulan tüm kukla değişkenler
0 değerini alır.
Örnek: Ev Fiyatları Modeli
Bir evin fiyatını metrekaresine ve bahçeli olup olmamasına göre modellemek istediğimizi varsayalım. “Bahçe Durumu” iki kategorili bir değişkendir: “Bahçeli” ve “Bahçeli Değil”.
Referans Kategorisi: “Bahçeli Değil” grubunu referans olarak seçelim.
Kukla Değişken (D1): D1 = 1 ise ev
“Bahçeli”, D1 = 0 ise ev “Bahçeli Değil”.
Varsayalım ki model sonucunda şu katsayıları bulduk:
\(\hat{\beta}_0\) (Sabit terim) = 500.000
\(\hat{\beta}_1\) (Metrekare etkisi) = 5.000
\(\hat{\beta}_2\) (Bahçe etkisi) = 150.000
Model denklemi:
Fiyat = 500.000 + 5.000 * Metrekare + 150.000 * D1
Yorumlama:
Bahçesiz Evler İçin (D1=0):
Bu durumda D1 sıfır olduğu için denklemin son terimi
yok olur.
Fiyat = 500.000 + 5.000 * Metrekare (D1=0 olduğu için)
Bu, referans grubumuzun (bahçesiz evlerin) fiyat denklemidir.
Bahçeli Evler İçin (D1=1):
Bu durumda D1 bir olduğu için denkleme \(\hat{\beta}_2\) katsayısı eklenir.
Fiyat = 500.000 + 5.000 * Metrekare + 150.000 (D1=1 olduğu için)
Fiyat = 650.000 + 5.000 * Metrekare
Net Analiz: Metrekare gibi diğer tüm değişkenler aynı kalmak şartıyla, bahçeli olması, bir evin fiyatını bahçesiz bir eve (referans grubuna) göre ortalama 150.000 TL artırmaktadır. Kukla değişkenin katsayısı her zaman referans grubuna kıyasla olan farkı gösterir.
Bu, kategorik değişkenlerle çalışırken yapılan en yaygın hatalardan biridir ve mükemmel çoklu doğrusal bağlantı (perfect multicollinearity) sorununa yol açar.
Kural: Eğer bir kategorik değişkenin n tane kategorisi varsa, modele her zaman n-1 tane kukla değişken eklemelisiniz.
Eğer n kategori için n tane kukla değişken oluşturursanız, bu kukla değişken sütunları arasında mükemmel bir doğrusal ilişki ortaya çıkar.
Örnek: Mevsimler (İlkbahar, Yaz, Sonbahar, Kış; n=4). Eğer 4 ayrı sütun (D_ilkbahar, D_yaz, D_sonbahar, D_kış) oluşturursanız, herhangi bir gözlem için bu sütunlardan sadece biri 1, diğerleri 0 olacaktır. Bu nedenle, bu sütunların toplamı her zaman 1’e eşit olur.
D_ilkbahar + D_yaz + D_sonbahar + D_kış = 1
Bu durum, bir değişkenin diğer değişkenler tarafından mükemmel bir şekilde tahmin edilebildiği anlamına gelir. Regresyon modelinin arkasındaki matematik (matris tersini alma işlemi) bu durumda çalışmaz ve model matematiksel olarak çözülemez.
Çözüm: Bir kategoriyi (örneğin Kış) dışarıda bırakıp onu “referans” olarak kullanmalısınız. Bu sayede modele sadece 3 kukla değişken eklenir ve çoklu doğrusal bağlantı sorunu ortadan kalkar.
n-1 kuralı, istatistiki hatalardan kaçınmak ve
katsayıları doğru yorumlayabilmek için kritik öneme sahiptir. Şimdi üç
kategorili bir değişken olan “Eğitim Durumu” (İlkokul, Lise, Üniversite)
üzerinden bu yapıyı detaylandıralım.
Adım 1: Referans Grubu Seçimi ve Kodlama Tablosu
Öncelikle bir kategoriyi referans (baz) grup olarak seçeriz. Bu seçim genellikle en yaygın kategori veya mantıksal bir başlangıç noktası olan kategori olur. Bu örnekte İlkokul mezunlarını referans alalım.
| Gerçek Eğitim Seviyesi | D1 (Lise) | D2 (Üniversite) |
|---|---|---|
| İlkokul (Referans) | 0 | 0 |
| Lise | 1 | 0 |
| Üniversite | 0 | 1 |
Adım 2: Model Denklemi ve Katsayıların Yorumlanması
Maaşı (Y) tahmin etmek için kişinin eğitim seviyesini ve iş deneyimini (X1) kullandığımız bir model kuralım:
\(Y = \beta_0 + \beta_1 X_1 + \beta_2 D_1 + \beta_3 D_2 + \epsilon\)
Varsayımsal olarak bulduğumuz katsayılar şu şekilde olsun:
\(\hat{\beta}_0\) (Sabit terim) = 20.000
\(\hat{\beta}_1\) (Deneyim yılı başına artış) = 2.000
\(\hat{\beta}_2\) (Lise farkı) = 5.000
\(\hat{\beta}_3\) (Üniversite farkı) = 12.000
Modelimiz:
Maaş = 20.000 + 2.000 * Deneyim + 5.000 * D1 + 12.000 * D2
\(\hat{\beta}_0 = 20.000\) TL: Bu, tüm kukla değişkenlerin (D1, D2) ve diğer sayısal değişkenlerin (Deneyim) sıfır olduğu durumdaki beklenen maaştır. Yani, 0 yıl deneyime sahip bir ilkokul mezununun (referans grubu) ortalama maaşıdır.
\(\hat{\beta}_1 = 2.000\) TL: Eğitim seviyesi sabit tutulduğunda, her bir ek deneyim yılının maaşı ortalama 2.000 TL artırması beklenir.
\(\hat{\beta}_2 = 5.000\) TL: Deneyim süresi aynı kalmak kaydıyla, bir lise mezununun maaşının, bir ilkokul mezununa (referans grubuna) göre ortalama 5.000 TL daha fazla olması beklenir.
\(\hat{\beta}_3 = 12.000\) TL: Deneyim süresi aynı kalmak kaydıyla, bir üniversite mezununun maaşının, bir ilkokul mezununa (referans grubuna) göre ortalama 12.000 TL daha fazla olması beklenir.
Katsayılar her zaman referans grubuyla yapılan kıyaslamayı gösterir. Peki, bir lise mezunu ile bir üniversite mezunu arasındaki maaş farkını nasıl buluruz?
Bu durumda ilgili katsayıların farkını almamız gerekir:
Üniversite vs. Lise Farkı = \(\hat{\beta}_3 - \hat{\beta}_2\)
Fark = 12.000 - 5.000 = 7.000 TL
Yorum: Diğer tüm değişkenler sabitken, bir üniversite mezununun maaşının bir lise mezununun maaşından ortalama 7.000 TL daha yüksek olması beklenir.
Basit regresyon modellerinde, bağımsız değişkenlerin bağımlı değişken (Y) üzerindeki etkilerinin birbirinden bağımsız ve toplanabilir (additive) olduğu varsayılır. Bu, bir değişkenin etkisinin diğer değişkenlerin seviyesinden etkilenmediği anlamına gelir. Ancak gerçek hayatta, değişkenler sıklıkla birbirlerinin etkisini güçlendirir veya zayıflatır.
Etkileşim (Interaction): En temel tanımıyla, bir şeyin etkisinin başka bir şeye bağlı olması durumunu ifade eder.
İstatistiksel anlamda etkileşim ise; bir bağımsız değişkenin (\(X_1\)), bağımlı değişken (Y) üzerindeki etkisinin (eğiminin), başka bir bağımsız değişkenin (\(X_2\)) seviyesine göre değişmesi durumudur.
Etkileşim Olmayan (Toplanabilir) Model: Eğer \(X_1\) bir birim arttığında Y her zaman 5 birim artıyorsa, bu artış \(X_2\)’nin değerinden (düşük veya yüksek olmasından) etkilenmiyorsa, modelde etkileşim yoktur.
Etkileşim Olan Model: Eğer \(X_1\) bir birim arttığında Y’deki artış, \(X_2\) yüksekken 10 birim, \(X_2\) düşükken ise sadece 2 birim oluyorsa, burada bir etkileşim vardır. \(X_1\)’in etkisi, \(X_2\)’nin seviyesine bağlıdır.
Gerçek Hayat Örneği: Bir ilacın (\(X_1\)) vücut üzerindeki etkisi (Y), kişinin aynı zamanda alkol tüketip tüketmemesine (\(X_2\)) göre dramatik şekilde değişebilir. Burada “ilaç * alkol” etkileşimi söz konusudur.
Etkileşimin varlığını veya yokluğunu anlamanın en iyi yollarından biri, veriyi görselleştirmektir. Maaşı (Y) etkileyen deneyim yılı (\(X_1\)) ve eğitim seviyesi (\(X_2\): Düşük ve Yüksek) arasındaki ilişkiyi inceleyelim.
Senaryo A: Etkileşim Yok (Paralel Doğrular)
Görsel Durum: Bu senaryoda iki grubun (Düşük ve Yüksek Eğitim) regresyon doğruları birbirine paralel ilerler.
Yorum: Deneyim yılı arttıkça maaş artar; ancak bu artışın hızı (doğrunun eğimi), eğitim seviyesinden bağımsızdır. Yani, her iki eğitim grubunda da bir yıllık ek kıdem, maaşı aynı miktarda artırır.
Sonuç: Yüksek eğitimli olmak daha yüksek bir başlangıç maaşı sağlayabilir (doğruların başlangıç noktaları farklı), ancak deneyimin getirisini değiştirmez. Bu durumda modele bir etkileşim terimi eklemeye gerek yoktur. Sadece ana etkilerle (deneyim ve eğitim) kurulan bir model yeterlidir.
Senaryo B: Etkileşim Var (Farklı Eğimler / Kesişen Doğrular)
Görsel Durum: Doğrular paralel değildir. Yüksek Eğitim grubuna ait doğru çok daha dik bir şekilde, yani daha hızlı yükselir. Hatta doğrular bir noktada kesişebilir.
Yorum: Deneyimin maaş üzerindeki etkisi, kişinin eğitim seviyesine bağlıdır. Yüksek eğitimli bir birey için her bir ek deneyim yılı, düşük eğitimli bir bireye göre çok daha büyük bir maaş artışı sağlar.
Sonuç: Bu durumda modele mutlaka bir etkileşim terimi eklenmelidir. Aksi takdirde, model deneyimin etkisini her iki grup için “ortalama” bir değer olarak hesaplar ve bu da her iki grubu da yanlış tahmin etmemize neden olur (yüksek eğitimlilerin maaş artışını olduğundan az, düşük eğitimlilerinkini ise olduğundan fazla tahmin eder).
Deneyim (\(X_1\)) ve Eğitim (\(X_2\): 0=Lise, 1=Üniversite) değişkenlerini kullanarak Maaşı (Y) tahmin eden bir model düşünelim.
Etkileşim terimi, iki değişkenin çarpılmasıyla modele eklenir:
\(Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_3 (X_1 * X_2) + \epsilon\)
\(\beta_1\): \(X_1\)’in ana etkisi
\(\beta_2\): \(X_2\)’nin ana etkisi
\(\beta_3\): \(X_1\) ve \(X_2\) arasındaki etkileşim etkisi
Varsayalım ki model sonucunda şu katsayıları bulduk:
\(\beta_1 = 1000\) (Deneyim)
\(\beta_2 = 2000\) (Eğitim)
\(\beta_3 = 500\) (Etkileşim)
Şimdi bu modeli farklı gruplar için yorumlayalım:
a) Referans Grubu için Yorum (Lise, \(X_2 = 0\))
Lise mezunları için \(X_2\) değişkeni 0 değerini alır. Bu değeri ana denklemde yerine koyalım:
\(Y = \beta_0 + \beta_1 X_1 + \beta_2 (0) + \beta_3 (X_1 * 0)\)
\(Y = \beta_0 + \beta_1 X_1\)
Maaş = \(\beta_0\) + 1000 * Deneyim
b) Üniversite Grubu için Yorum (\(X_2 = 1\))
Üniversite mezunları için \(X_2\) değişkeni 1 değerini alır.
\(Y = \beta_0 + \beta_1 X_1 + \beta_2 (1) + \beta_3 (X_1 * 1)\)
\(Y = (\beta_0 + \beta_2) + (\beta_1 + \beta_3) X_1\) (Terimleri yeniden düzenlersek)
Maaş = (\(\beta_0\) + 2000) + (1000 + 500) * Deneyim
Maaş = (\(\beta_0\) + 2000) + 1500 * Deneyim
Net Analiz
Etkileşim katsayısı (\(\beta_3 = 500\)), \(X_1\)’in eğiminin \(X_2\) bir seviyeden diğerine geçtiğinde ne kadar değiştiğini gösterir.
Bu modelde, üniversite mezunu olmak sadece başlangıç maaşını (sabit terimi) \(\beta_2\) kadar (2000 TL) artırmakla kalmaz; aynı zamanda her bir yıllık deneyimin maaşa kattığı değeri de (eğimi) \(\beta_3\) kadar (500 TL) artırır.
Bu, deneyimin getirisinin üniversite mezunları için daha yüksek olduğu anlamına gelir.
Etkileşimli modeller kurarken asla unutulmaması gereken bir kural vardır:
Kural: Eğer modelinizde bir etkileşim terimi (\(X_1 * X_2\)) istatistiksel olarak anlamlıysa, bu etkileşimi oluşturan değişkenlerin ana etkileri (\(\beta_1\) ve \(\beta_2\) katsayıları) anlamsız çıksa bile modelden çıkarılmamalıdır.
Neden? Çünkü etkileşim varlığında, ana etkiler artık “diğer değişken sıfır iken bu değişkenin etkisi” olarak yorumlanır. Onlar, daha karmaşık olan etkileşimli etkinin temel bileşenleridir. Bir ana etkiyi modelden çıkarmak, etkileşimin yorumunu bozar ve modelin yanlış tanımlanmasına yol açar.
Kısacası, etkileşim varsa, ana bileşenler modelin ayrılmaz bir parçası olarak kalmak zorundadır.
Lineer regresyonun temel varsayımlarından biri, bağımsız değişkenler (X) ile bağımlı değişken (Y) arasında doğrusal bir ilişki olmasıdır. Ancak gerçek dünya verileri her zaman bu varsayımı karşılamaz. Bazen değişkenler arasındaki ilişki eğriseldir (doğrusal olmayan).
Bu gibi durumlarda, doğrudan lineer regresyon uygulamak, modelin ilişkiyi doğru bir şekilde yakalayamamasına ve hatalı tahminler yapmasına neden olur.
Çözüm: Değişkenlerden birini veya her ikisini de matematiksel bir fonksiyondan (logaritma, karekök, karesini alma vb.) geçirerek ilişkiyi doğrusallaştırmaya çalışırız. Bu işleme değişken dönüşümü denir.
Bu noktada önemli bir kural devreye girer. Regresyon analizinde temel
varsayımlar genellikle hata terimleri (ε) üzerinedir:
Hataların normal dağılması.
Hataların sabit varyansa sahip olması (homoskedastisite).
Eğer modelinizin hata terimleri bu iki varsayımı büyük ölçüde sağlıyorsa, ancak X ile Y arasında doğrusal olmayan (eğrisel) bir ilişki gözlemliyorsanız, dönüşümü yalnızca bağımsız değişkene (X) uygulayın, bağımlı değişkene (Y) dokunmayın.
Neden?
Çünkü Y değişkenine müdahale etmek (örneğin
logaritmasını almak), Y’nin dağılımını değiştirir. Bu
durum, modelin temelini oluşturan normallik ve sabit hata
varyansı varsayımlarında ciddi bozulmalara yol açabilir.
Genellikle, doğrusal olmayan ilişkiyi düzeltmek için sadece
X’i dönüştürmek yeterlidir ve daha güvenli bir
yaklaşımdır.
a) Karesel (Polinomsal) İlişki
Eğer Y ile X arasında bir parabol (U şeklinde veya ters U şeklinde) varsa, bu ilişkiyi yakalamak için modele X’in karesi olan \(X^2\) terimi eklenir. Model şu şekli alır: \(Y = \beta_0 + \beta_1 X + \beta_2 X^2 + \epsilon\)
b) Azalan Getiri (Diminishing Returns) İlişkisi
Eğer X arttıkça Y artıyor ancak artış hızı zamanla yavaşlıyorsa
(logaritmik bir eğri gibi), bu ilişkiyi doğrusallaştırmak için
log(X) veya √X (karekök X) gibi dönüşümler
tercih edilir. Bu dönüşümler, X’in büyük değerlerini “sıkıştırarak”
küçük değerlere yaklaştırır ve eğriyi düzleştirir.
Örnek 1: Mesleki Prestij ve Gelir (Azalan Getiri)
Soldaki Grafik (Orijinal Veri):
İlişki: Gelir (Average Income) ile mesleki prestij (Prestige) arasında pozitif bir ilişki vardır, ancak bu ilişki doğrusal değildir.
Yorum: Düşük gelir seviyelerinde, gelirdeki küçük bir artış prestijde büyük bir sıçramaya neden olur. Ancak gelir arttıkça, aynı miktardaki gelir artışının prestij üzerindeki etkisi giderek azalır. Bu, tipik bir “azalan getiri” durumudur. Düz bir çizgi (lineer model) bu eğriyi iyi temsil edemez.
Sağdaki Grafik (Dönüştürülmüş Veri):
Dönüşüm: Income değişkenine küp kök
(\(Income^{1/3}\)) dönüşümü
uygulanmıştır. Bu, logaritma veya karekök gibi davranarak yüksek gelir
değerlerini “sıkıştıran” bir dönüşümdür.
Sonuç: Dönüşüm sonrası, iki değişken arasındaki ilişki belirgin şekilde doğrusallaşmıştır. Artık noktalara daha iyi oturan bir lineer regresyon doğrusu (kesikli çizgi) çizilebilir. Bu, modelin varsayımlarını karşılamamızı sağlar.
Örnek 2: Bebek Ölüm Oranları ve Kişi Başına GSYİH (Üstel Düşüş)
Soldaki Grafik (Orijinal Veri):
İlişki: Kişi başına GSYİH (GDP Per Capita) ile Bebek Ölüm Oranı (Infant Mortality Rate) arasında güçlü bir negatif ilişki vardır. Bu ilişki de doğrusal değildir.
Yorum: GSYİH çok düşükken, GSYİH’deki küçük bir artış bebek ölüm oranlarında çok keskin bir düşüşe yol açar. GSYİH belirli bir seviyeyi aştıktan sonra, GSYİH’nin daha da artmasının ölüm oranları üzerindeki etkisi çok azalır ve eğri yataylaşır.
Sağdaki Grafik (Dönüştürülmüş Veri):
Dönüşüm: Bu durumda, ilişki o kadar güçlü bir
şekilde eğriseldir ki, hem X eksenindeki GSYİH’nin hem de Y eksenindeki
Bebek Ölüm Oranı’nın 10 tabanında logaritması
(log10) alınmıştır. Bu işleme log-log
dönüşümü denir.
Neden burada Y de dönüştürüldü? Çünkü bazen, özellikle üstel (exponential) ilişkilerde, sadece X’i dönüştürmek yeterli olmaz. Hem ilişkiyi doğrusallaştırmak hem de varyansı sabitlemek (heteroskedastisite sorununu çözmek) için her iki ekseni de logaritmik ölçeğe taşımak gerekir.
Sonuç: Log-log dönüşümü sonrası, veri noktaları neredeyse mükemmel bir negatif doğrusal desen sergilemektedir. Bu, artık bu iki dönüştürülmüş değişken arasında güvenilir bir lineer regresyon modeli kurabileceğimiz anlamına gelir.
Bu bölümde, teorik bir vaka çalışması üzerinden doğrusal olmayan ilişkilerin nasıl tespit edileceğini ve değişken dönüşümleriyle model performansının nasıl dramatik bir şekilde iyileştirilebileceğini inceleyeceğiz.
Amaç: Büyük bir e-ticaret platformundaki farklı ürün kategorileri için 500 gözleme dayalı bir satış tahmin modeli geliştirmek. Temel hedefimiz; siteye gelen trafik, uygulanan fiyatlandırma ve promosyon stratejilerinin kategorilerin satış performansı üzerindeki etkisini analiz etmektir.
Değişkenler:
Bir regresyon modeli kurmadan önceki en kritik adım, değişkenler arasındaki ilişkileri görsel olarak incelemektir. Bunun için en etkili araçlardan biri serpme grafiği matrisidir (Scatter Plot Matrix).
Grafiğin Yorumlanması:
Bu matriste bizim için en önemli olan kısım, bağımlı değişkenimiz Y’nin (en üst satır) diğer bağımsız değişkenlerle (X1, X2, X3, X4) olan ilişkisidir.
Y ve X1 (Trafik): En üst satır, ikinci sütundaki grafiğe baktığımızda, iki değişken arasında pozitif bir ilişki olduğunu ancak bu ilişkinin doğrusal olmadığını görüyoruz. Trafik arttıkça satışlar artıyor, fakat artış hızı yavaşlıyor. Bu, logaritmik bir ilişkiye işaret ediyor.
Y ve X2 (Fiyat Endeksi): Üst satır, üçüncü sütundaki grafikte U-şeklinde bir yapı, yani kuadratik (karesel) bir ilişki göze çarpıyor. Bu, hem çok düşük hem de çok yüksek fiyat endekslerinin satışları olumsuz etkilediği, ortalarda bir optimum nokta olduğu anlamına gelebilir. Düz bir çizgi bu ilişkiyi asla yakalayamaz.
Y ve X3 (Sosyal Medya Bütçesi): Bu iki değişken arasında belirgin bir doğrusal veya eğrisel bir ilişki görünmüyor. Noktalar oldukça dağınık.
Y ve X4 (Özel Kategori): Kukla değişken ile Y arasındaki ilişkiyi bu grafikten net yorumlamak zor olsa da, iki grup arasında satış (Y) değerleri açısından büyük bir ayrışma olmadığı söylenebilir.
Y’nin Dağılımı: Matrisin sol üst köşesindeki histogram, bağımlı değişkenimiz Y’nin dağılımını gösterir. Görüldüğü gibi, Y yaklaşık olarak normal bir dağılıma sahiptir. Bu, Y değişkenine bir dönüşüm uygulama ihtiyacımızın olmadığını gösteren önemli bir bulgudur.
Keşifsel analizdeki bulgularımızı göz ardı edip, değişkenleri ham halleriyle doğrudan bir OLS (En Küçük Kareler) regresyon modeline dahil ettiğimizde elde ettiğimiz sonuçlar aşağıdaki gibidir:
Y ~ X1 + X2 + X3 + X4
Model 1’in Analizi:
Açıklayıcılık (R-squared):
Adj. R-squared değeri 0.590’dır. Bu,
modelimizdeki bağımsız değişkenlerin, satışlardaki (Y) değişimin sadece
%59’unu açıklayabildiği anlamına gelir. Bu, çok da iyi bir performans
değildir.
Katsayıların Anlamlılığı (P>|t|):
const (sabit), x1 (Trafik) ve
x4 (Özel Kategori) istatistiksel olarak anlamlıdır (p <
0.05).
Ancak x2 (Fiyat Endeksi) ve x3 (Sosyal
Medya Bütçesi) anlamsızdır (p > 0.05). Özellikle X2
için bu çok şaşırtıcıdır, çünkü grafikte bariz bir ilişki görmüştük. Bu
durum, modelin doğrusal bir ilişki bulamadığı için katsayıyı
anlamsız olarak işaretlediğini gösterir. Modelimiz, ilişkinin yapısını
yanlış anlamıştır.
Bilgi Kriterleri: İleride karşılaştırma yapmak
için AIC ve BIC değerlerini not edelim: AIC: 4206,
BIC: 4226.
Şimdi, serpme grafiğinde gördüğümüz doğrusal olmayan ilişkileri modele dahil etmek için gerekli dönüşümleri uygulayalım:
X1 (Trafik) için logaritmik ilişkiyi yakalamak amacıyla log(X1) kullanalım.
X2 (Fiyat Endeksi) için kuadratik ilişkiyi yakalamak amacıyla X2^2 kullanalım.
Yeni modelimiz: Y ~ log(X1) + X2^2 + X3 + X4
Model 2’nin Analizi:
Açıklayıcılık (R-squared):
Adj. R-squared değeri 0.942’ye fırladı!
Artık modelimiz, satışlardaki değişimin %94.2’sini açıklayabiliyor. Bu,
dramatik bir iyileşmedir.
Katsayıların Anlamlılığı (P>|t|): Modeldeki tüm değişkenlerin p-değerleri 0.000’a düşerek istatistiksel olarak son derece anlamlı hale geldi. Artık Fiyat Endeksinin (karesel formuyla) ve Sosyal Medya Bütçesinin satışlar üzerinde anlamlı bir etkisi olduğunu görebiliyoruz.
Katsayı Değişimleri: x2^2’nin
katsayısı artık pozitif ve anlamlı (39.93). İlk modeldeki anlamsız ve
negatif katsayı (-0.37) tamamen yanıltıcıydı. Doğru dönüşüm, değişkenin
gerçek etkisini ortaya çıkardı.
Bilgi Kriterleri: AIC değeri
4206’dan 3427’ye, BIC değeri 4226’dan
3447’ye düştü. AIC ve BIC’deki düşüşler, modelin daha
iyi bir uyum sağladığının güçlü bir göstergesidir.
Sonuç: Bu vaka çalışması, model kurmadan önce yapılacak basit bir görsel analizin ve bu analize dayalı olarak uygulanacak doğru değişken dönüşümlerinin, modelin performansını ve yorumlanabilirliğini ne kadar kökten değiştirebileceğini göstermektedir.
Şimdi, teoride gördüğümüz adımları R üzerinde adım adım uygulayalım. Bu örnekte, gelir ve mutluluk arasındaki ilişkiyi basit bir doğrusal regresyon modeli ile inceleyeceğiz.
# income.data.csv dosyasını RStudio'ya aktarmak için:
# 1. Menüden File > Import Dataset > From Text (base)... seçeneğine gidin.
# 2. İndirdiğiniz income.data.csv dosyasını bulun ve seçin.
# 3. Açılan pencerede "Import" düğmesine tıklayın.
# Veri setiniz sağ üstteki "Environment" panelinde görünmelidir.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(broom)
## Warning: package 'broom' was built under R version 4.5.2
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.5.2
# Not: Bu kod bloğu, RMarkdown dosyasının kendi kendine çalışabilmesi için eklenmiştir.
# Kullanıcının yukarıdaki adımları takip etmesi esastır.
income.data <- read.csv("income.data.csv")
Model kurmadan önce verimizi tanıyalım.
# Verinin genel bir özetini alalım.
summary(income.data)
## X income happiness
## Min. : 1.0 Min. :1.506 Min. :0.266
## 1st Qu.:125.2 1st Qu.:3.006 1st Qu.:2.266
## Median :249.5 Median :4.424 Median :3.473
## Mean :249.5 Mean :4.467 Mean :3.393
## 3rd Qu.:373.8 3rd Qu.:5.992 3rd Qu.:4.503
## Max. :498.0 Max. :7.482 Max. :6.863
Yorum: Özet istatistiklerde income ve
happiness değişkenleri için ortalama (Mean) ve medyan
(Median) değerlerinin birbirine çok yakın olduğunu görüyoruz. Bu, her
iki değişkenin de yaklaşık olarak simetrik bir dağılıma sahip olduğuna
dair ilk ipucunu verir.
# Bağımlı değişkenimiz olan mutluluğun dağılımına bakalım.
hist(income.data$happiness, main="Mutluluk Değişkeninin Histogramı", xlab="Mutluluk Skoru", col="lightblue")
Yorum: Histogram, kabaca bir çan eğrisine benziyor. Bu, normallik varsayımının büyük olasılıkla karşılandığını ve regresyon analizine devam edebileceğimizi gösteriyor.
# İki değişken arasındaki doğrusal ilişkiyi kontrol edelim.
plot(happiness ~ income, data = income.data, main="Gelir ve Mutluluk Serpme Grafiği",
xlab="Gelir", ylab="Mutluluk", pch=19, col="darkblue")
Yorum: Grafikte, gelir arttıkça mutluluğun da arttığı yönünde açıkça pozitif ve doğrusal bir eğilim görülmektedir.
# Bu ilişkinin gücünü korelasyon katsayısı ile ölçelim.
cor(income.data$happiness, income.data$income)
## [1] 0.8656337
Yorum: Yaklaşık %86’lık korelasyon, iki değişken arasında çok güçlü bir pozitif doğrusal ilişki olduğunu teyit eder.
Keşifsel analizimiz, basit bir lineer model kurmak için uygun bir
zemin olduğunu gösterdi. Modeli R’da lm() (linear model)
fonksiyonu ile kurarız.
# Modeli kuralım: happiness, income tarafından açıklanır.
income_model.lm <- lm(happiness ~ income, data = income.data)
# Modelin detaylı özetini inceleyelim.
summary(income_model.lm)
##
## Call:
## lm(formula = happiness ~ income, data = income.data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.02479 -0.48526 0.04078 0.45898 2.37805
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.20427 0.08884 2.299 0.0219 *
## income 0.71383 0.01854 38.505 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7181 on 496 degrees of freedom
## Multiple R-squared: 0.7493, Adjusted R-squared: 0.7488
## F-statistic: 1483 on 1 and 496 DF, p-value: < 2.2e-16
summary() Çıktısının Detaylı
Yorumu:
Residuals (Artıklar/Hatalar): Bu bölüm, modelin hatalarının dağılımı hakkında bilgi verir. Medyan’ın sıfıra çok yakın olması (0.04), hataların simetrik dağıldığına işarettir, bu da iyi bir durumdur.
Coefficients (Katsayılar): En önemli kısımdır.
(Intercept) (β₀): Bu, sabit
terimdir (0.204). Gelirin sıfır olduğu durumda beklenen mutluluk
seviyesini gösterir. Pr(>|t|) sütunundaki p-değeri
anlamlıdır.
income (β₁): Bu, eğim katsayısıdır
(0.713). Modelimizin ana bulgusudur. Pr(>|t|) değeri
(2e-16, yani neredeyse sıfır) istatistiksel olarak çok
anlamlıdır.
Yorum: Diğer her şey sabitken, gelirdeki her 1 birimlik artış, mutluluk skorunu ortalama 0.713 birim artırmaktadır.
Model Performans Metrikleri:
Multiple R-squared: 0.7448. Bu,
modelimizin mutluluktaki değişimin yaklaşık %74.5’ini
gelir ile açıklayabildiğini gösterir.
F-statistic: Modelin genel olarak
anlamlı olup olmadığını test eder. P-değerinin (2.2e-16) neredeyse sıfır
olması, modelin istatistiksel olarak bütünüyle anlamlı olduğunu, yani
bir bütün olarak tesadüfi bir sonuç olmadığını gösterir.
Bir regresyon modelinin güvenilir olması için bazı varsayımları
karşılaması gerekir (Gauss-Markov Teoremi). R, plot()
fonksiyonu ile bu varsayımları kontrol etmek için bize dört temel grafik
sunar.
# Dörtlü diagnostik grafiği çizelim.
par(mfrow=c(2,2)) # Grafik penceresini 2x2'lik bir matrise böler
plot(income_model.lm)
par(mfrow=c(1,1)) # Ayarları normale döndürür
Diagnostik Grafiklerin Yorumu:
Residuals vs Fitted (Doğrusallık): Bu grafikteki kırmızı çizginin yatay ve sıfır etrafında dalgalanmasını bekleriz. Herhangi bir belirgin desenin (U-şekli gibi) olmaması, doğrusallık varsayımının sağlandığını gösterir. Bizim grafiğimiz bu varsayımı sağlıyor.
Normal Q-Q (Hataların Normalliği): Noktaların kesikli doğru üzerine yakın bir şekilde dizilmesi, model hatalarının (artıkların) normal dağıldığını gösterir. Bizim grafiğimizde noktalar doğruya oldukça yakın, bu da normallik varsayımının karşılandığını gösterir.
Scale-Location (Sabit Varyans - Homoskedastisite): Bu grafikte de kırmızı çizginin yatay olmasını ve noktaların dikey eksende rastgele dağılmasını bekleriz. Eğer bir huni şekli (sağa doğru açılan veya daralan) olsaydı, bu sabit varyans varsayımının ihlal edildiği anlamına gelirdi. Grafiğimiz bu varsayımı da sağlıyor.
Residuals vs Leverage (Aykırı Değerler): Bu grafik, model sonuçlarını aşırı etkileyen (yüksek “leverage” sahibi) aykırı değerleri tespit etmeye yarar. Kesikli çizgilerin (Cook’s distance) dışında kalan noktalar potansiyel problemli gözlemlerdir. Bizim grafiğimizde böyle bir nokta bulunmuyor.
Modelimizin hem istatistiksel olarak anlamlı hem de varsayımları karşıladığını gördük. Şimdi bu sonucu profesyonel bir grafikle sunalım.
# ggplot2 ile gelişmiş bir grafik oluşturalım.
ggplot(income.data, aes(x = income, y = happiness)) +
geom_point(alpha = 0.6) + # Noktaları çiz, biraz şeffaf yap
geom_smooth(method = "lm", col = "red") + # Regresyon doğrusunu ekle
stat_regline_equation(label.x = 2, label.y = 7) + # Denklem'i grafiğe yaz
theme_bw() + # Siyah-beyaz, temiz bir tema kullan
labs(title = "Gelirin Mutluluk Üzerindeki Etkisi",
subtitle = "Basit Doğrusal Regresyon Analizi",
x = "Gelir (Birim)",
y = "Mutluluk Skoru (0-10)")
## `geom_smooth()` using formula = 'y ~ x'
Opsiyonel Gösterim
# Opsiyonel: Aralık için grafikler
plot(income.data$income, income.data$happiness,
pch = 19,
main = "Tahmin Aralıkları ile Doğrusal Regresyon",
xlab = "Gelir",
ylab = "Mutluluk Skoru (0-10)")
abline(income_model.lm, col = "blue", lwd = 2)
# Tüm income değerleri için tahmin aralıklarının çizilmesi
pred_all <- predict(
income_model.lm,
newdata = data.frame(income = income.data$income),
interval = "prediction"
)
lines(income.data$income, pred_all[, "lwr"], col = "red", lty = 2)
lines(income.data$income, pred_all[, "upr"], col = "red", lty = 2)
legend("topleft",
legend = c("Veri", "Regresyon Doğrusu", "Tahmin Aralıkları"),
col = c("black", "blue", "red"),
pch = c(19, NA, NA),
lty = c(NA, 1, 2),
bty = "n")
Sonuç: Bu analiz, gelir ile mutluluk arasında istatistiksel olarak anlamlı, pozitif ve güçlü bir doğrusal ilişki olduğunu göstermiştir. Kurduğumuz model, temel varsayımları karşılamakta ve mutluluktaki varyansın önemli bir kısmını (%74.5) açıklayabilmektedir.