Giriş

Bu öğrenme günlüğünde, çoklu regresyon, dummy (yapay) kodlama ve etkileşim (düzenleyici / moderatör etki) gibi çok değişkenli istatistiksel konuları R içerisinde adım adım ele alacağım. Burada kullandığım örneklerde, derste bahsedilen temel prensipleri R ortamında pratiğe dökmeyi amaçladım. Verilerin nasıl keşfedildiğini, çoklu regresyonun nasıl kurulduğunu, varsayımların nasıl test edilebileceğini, moderatör bir etki olduğunda modelin nasıl yorumlanacağını vb. göstermeye çalıştım.

Son haftalardaki derslerde özetle şu konuların üzerinde duruldu:

  • Çoklu regresyonun mantığı (birden fazla bağımsız değişkenle bir bağımlı değişkenin modellenmesi),
  • Standartlaştırılmış ve standartlaştırılmamış regresyon katsayıları,
  • Model uyumu (R², Düzeltilmiş R² vb.),
  • Dummy kodlama yöntemiyle kategorik değişkenlerin regresyon modellerine dahil edilmesi,
  • Etkileşim teriminin (interaction) oluşturulması ve yorumlanması,
  • Varsayımların ve uç değerlerin (outlier/influential observations) kontrolü.

Bu sefer, mtcars veri seti üzerinden örnek bir analiz sürecini anlatacağım. mtcars veri setinde otomobillere ait özellikler (mpg, cyl, hp, wt vb…) yer almaktadır.


1. Veri Setinin İncelenmesi

Öncelikle mtcars veri setini inceleyelim ve bazı değişkenleri kısaca açıklayalım:

  • mpg: Arabanın mil başına galon cinsinden yakıt tüketimi (Bağımlı değişken olarak kullanacağım).
  • wt: Ağırlık (1.000 lbs)
  • hp: Beygir gücü
  • cyl: Silindir sayısı (4, 6, 8 gibi kategorik değerler)
  • am: Vites tipi (0 = otomatik, 1 = manuel) – bu da kategorik bir değişkendir.

Öncelikle veri setini çağıralım

data("mtcars")

Veri setinin ilk 5 satırını inceleyelim

library(gt)
head(mtcars, 5) %>%
  gt() %>% tab_header(
    title = "mtcars veri setinin ilk beş satırı"
  )
mtcars veri setinin ilk beş satırı
mpg cyl disp hp drat wt qsec vs am gear carb
21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
18.7 8 360 175 3.15 3.440 17.02 0 0 3 2

Temel betimleyici istatistikler ve veri yapısını inceleyelim

library(summarytools)
print(dfSummary(mtcars), method = "render")

Data Frame Summary

mtcars

Dimensions: 32 x 11
Duplicates: 0
No Variable Stats / Values Freqs (% of Valid) Graph Valid Missing
1 mpg [numeric]
Mean (sd) : 20.1 (6)
min ≤ med ≤ max:
10.4 ≤ 19.2 ≤ 33.9
IQR (CV) : 7.4 (0.3)
25 distinct values 32 (100.0%) 0 (0.0%)
2 cyl [numeric]
Mean (sd) : 6.2 (1.8)
min ≤ med ≤ max:
4 ≤ 6 ≤ 8
IQR (CV) : 4 (0.3)
4:11(34.4%)
6:7(21.9%)
8:14(43.8%)
32 (100.0%) 0 (0.0%)
3 disp [numeric]
Mean (sd) : 230.7 (123.9)
min ≤ med ≤ max:
71.1 ≤ 196.3 ≤ 472
IQR (CV) : 205.2 (0.5)
27 distinct values 32 (100.0%) 0 (0.0%)
4 hp [numeric]
Mean (sd) : 146.7 (68.6)
min ≤ med ≤ max:
52 ≤ 123 ≤ 335
IQR (CV) : 83.5 (0.5)
22 distinct values 32 (100.0%) 0 (0.0%)
5 drat [numeric]
Mean (sd) : 3.6 (0.5)
min ≤ med ≤ max:
2.8 ≤ 3.7 ≤ 4.9
IQR (CV) : 0.8 (0.1)
22 distinct values 32 (100.0%) 0 (0.0%)
6 wt [numeric]
Mean (sd) : 3.2 (1)
min ≤ med ≤ max:
1.5 ≤ 3.3 ≤ 5.4
IQR (CV) : 1 (0.3)
29 distinct values 32 (100.0%) 0 (0.0%)
7 qsec [numeric]
Mean (sd) : 17.8 (1.8)
min ≤ med ≤ max:
14.5 ≤ 17.7 ≤ 22.9
IQR (CV) : 2 (0.1)
30 distinct values 32 (100.0%) 0 (0.0%)
8 vs [numeric]
Min : 0
Mean : 0.4
Max : 1
0:18(56.2%)
1:14(43.8%)
32 (100.0%) 0 (0.0%)
9 am [numeric]
Min : 0
Mean : 0.4
Max : 1
0:19(59.4%)
1:13(40.6%)
32 (100.0%) 0 (0.0%)
10 gear [numeric]
Mean (sd) : 3.7 (0.7)
min ≤ med ≤ max:
3 ≤ 4 ≤ 5
IQR (CV) : 1 (0.2)
3:15(46.9%)
4:12(37.5%)
5:5(15.6%)
32 (100.0%) 0 (0.0%)
11 carb [numeric]
Mean (sd) : 2.8 (1.6)
min ≤ med ≤ max:
1 ≤ 2 ≤ 8
IQR (CV) : 2 (0.6)
1:7(21.9%)
2:10(31.2%)
3:3(9.4%)
4:10(31.2%)
6:1(3.1%)
8:1(3.1%)
32 (100.0%) 0 (0.0%)

Generated by summarytools 1.1.2 (R version 4.4.2)
2025-04-09


2. Korelasyon Analizi

Çoklu regresyona geçmeden önce, değişkenler arasındaki korelasyonları incelemek çoğunlukla faydalıdır. Burada mpg (bağımlı), wt, hp, ve am değişkenlerini alalım. am kategoriktir (Automatic, Manuel). İleride dummy kodlama örneği yapmak için am’yi ele alacağım.

Önce basitçe korelasyon matrisine bakalım (kategorik değişkenleri korelasyona dahil etmek her zaman uygun değildir ama fikir vermek açısından göstermiş olalım):

df <- mtcars[, c("mpg","wt","hp","am")]

library(ggcorrplot)
df <- mtcars[, c("mpg", "wt", "hp", "am")]
df$am <- as.numeric(df$am)

cor_matrix <- cor(df, use = "complete.obs")
pmat <- cor_pmat(df, method = "pearson")

ggcorrplot(cor_matrix,
           method = "circle", 
           lab = TRUE, 
           type = "upper",
           title = "Değişkenler Arasındaki Korelasyon",
           p.mat = pmat,
           tl.cex = 15,             
           lab_size = 3,
           colors = c("blue", "white", "red")) + 
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 10, face = "bold"))

Not: am aslında kategorik bir değişken olduğu için burada sayısal olarak yer alması tam bir “korelasyon” yorumu vermeyebilir. Fakat wt ve hp ile mpg arasındaki ilişkiyi görmek için bu tabloyu incelemek yararlı olacaktır.


3. Çoklu Regresyon Modeli Kurma

Bu aşamada bağımlı değişken olarak mpg’yi; bağımsız değişkenler olarak wt (ağırlık) ve hp (beygir gücü)’yi kullanacağım. Modeli şu şekilde tanımladım:

\[ \text{mpg} = \beta_0 + \beta_1(\text{wt}) + \beta_2(\text{hp}) + \varepsilon \]

Çoklu regresyon modeli

model1 <- lm(mpg ~ wt + hp, data = mtcars)
library(sjPlot)
tab_model(model1,
          show.ci = FALSE,       
          show.se = TRUE,        
          show.stat = TRUE,      
          dv.labels = "Yakıt Tüketimi", 
          title = "Ağırlık ve Beygir Gücünün Yakıt Tüketimine Etkisi")
Ağırlık ve Beygir Gücünün Yakıt Tüketimine Etkisi
  Yakıt Tüketimi
Predictors Estimates std. Error Statistic p
(Intercept) 37.23 1.60 23.28 <0.001
wt -3.88 0.63 -6.13 <0.001
hp -0.03 0.01 -3.52 0.001
Observations 32
R2 / R2 adjusted 0.827 / 0.815

R çıktısında: - Estimate kısmında kesişim (Intercept), wt ve hp katsayılarını, - Std. Error kısmında bu katsayıların standart hatalarını, - t value ve p değeri kısmında katsayıların anlamlılık testini, - R2 / R2 adjusted kısmında modelin açıklayıcılığını - F-statistic kısmında modelin genel anlamlılık testini (ANOVA tablosu benzeri) görebiliriz.


4. Regresyon Varsayımlarının Kontrolü

Derste, çoklu regresyonun birtakım varsayımları olduğunu gördük (normallik, çoklu doğrusallık, uç değer, vb.). R’de bu varsayımları kısmen gözden geçirelim.

4.1 Artıkların (Hataların) İncelenmesi

Çoklu regresyonda hataların normal ve sabit varyansa (homoskedastisite) sahip olduğu varsayılır. Önce plot(model1) komutu ile çeşitli grafikleri inceleyebiliriz.

par(mfrow = c(2,2))
plot(model1)

par(mfrow = c(1,1))

Bu grafiklerdeki Residuals vs Fitted (Artıklar vs Tahmin Edilen Değerler) lineerlik ve homoskedastisite (sabit varyans) varsayımını kontrol eder. Noktalar yatay bir bant içinde dağılmalı. Ancak bu grafikte eğri çizgi belirgin bir U şekli çiziyor, bu da lineer olmayan bir ilişki olabileceğini gösteriyor. Modelde lineerlik varsayımı zayıf olabilir. Q-Q Plot artıkların normal dağılıma sahip olup olmadığını kontrol eder. Noktalar teorik doğrultunun üzerinde ve altında sapmalar gösteriyor. Özellikle uçlarda (kuyruklarda) sapma var. Artıklar tam olarak normal dağılmıyor olabilir. Bu durum özellikle küçük örneklemde sorun yaratabilir. Scale-Location artıkların standart sapmasının sabit olup olmadığını kontrol eder. Noktalar belli bir düzende artıyor gibi görünüyor. Hafif bir heteroskedastisite (değişen varyans) olabilir. Bu, modelin tahmin güvenilirliğini etkileyebilir. Residuals vs Leverage aykırı ve etkili gözlemleri belirlemek içindir. “Maserati Bora”, “Toyota Corolla” ve “Chrysler Imperial” etkili gözlemler olarak öne çıkıyor. Bu gözlemler model sonuçlarını orantısız biçimde etkileyebilir. Bu noktaları dikkatle incelemek gerekebilir.

4.2 Çoklu Bağlantı (Multicollinearity)

Bağımsız değişkenlerin birbiriyle yüksek korelasyonda olması, katsayıların güvenirliğini azaltır. car paketindeki vif() fonksiyonunu kullanarak VIF (Variance Inflation Factor) değerlerine bakalım.

library(car)
library(formattable)
library(dplyr)

vif_df <- as.data.frame(vif(model1)) |> 
  tibble::rownames_to_column("Predictor") |> 
  rename(VIF = 2)

formattable(vif_df, list(
  VIF = color_tile("black", "lightgreen")
))
Predictor VIF
wt 1.766625
hp 1.766625
  • VIF değerinin 10’un (veya bazı kaynaklara göre 5’in) üzerinde olması genellikle çoklu bağlantı problemini gösterir. Burada tipik olarak 2’nin altındaki değerler rahat olarak yorumlanabilir. Çoklu bağlantı sorunu olmadığını söyleyebilirim.

5. Uç Değer (Outlier) ve Etkili Gözlem (Influential Observation) Kontrolü

Derste Cook’s Distance gibi istatistiklere değinilmişti. Aşağıdaki kod ile Cook’s mesafesini görebiliriz. gt ile tabloyu renki ve daha anlaşılır hale de getirelim.

library(dplyr)
library(gt)

cooks_values <- cooks.distance(model1)

n <- nrow(mtcars)
limit <- 4 / n

cooks_df <- data.frame(
  Observation = names(cooks_values),
  Cooks_Distance = cooks_values
) %>%
  mutate(
    Above_Limit = ifelse(Cooks_Distance > limit, "Evet", "Hayir")
  )

cooks_df %>%
  gt() %>%
  tab_header(
    title = "Her değişken için Cook's Distance"
  ) %>%
  fmt_number(columns = "Cooks_Distance", decimals = 4) %>%
  data_color(
    columns = "Cooks_Distance",
    colors = scales::col_numeric(
      palette = c("white", "orange", "red"),
      domain = NULL
    )
  ) %>%
  tab_spanner(label = "Cook's Distance", columns = c("Cooks_Distance", "Above_Limit")) %>%
  tab_footnote(
    footnote = paste
      ("Cook's Distance, her gözlemin model üzerindeki etkisini ölçer. 4/n kuralı, etkili gözlemleri belirlemek için kullanılır."),
      locations = cells_column_labels(columns = "Cooks_Distance")
    )
Her değişken için Cook's Distance
Observation
Cook's Distance
Cooks_Distance1 Above_Limit
Mazda RX4 0.0159 Hayir
Mazda RX4 Wag 0.0055 Hayir
Datsun 710 0.0207 Hayir
Hornet 4 Drive 0.0000 Hayir
Hornet Sportabout 0.0003 Hayir
Valiant 0.0216 Hayir
Duster 360 0.0126 Hayir
Merc 240D 0.0168 Hayir
Merc 230 0.0022 Hayir
Merc 280 0.0016 Hayir
Merc 280C 0.0122 Hayir
Merc 450SE 0.0014 Hayir
Merc 450SL 0.0001 Hayir
Merc 450SLC 0.0063 Hayir
Cadillac Fleetwood 0.0000 Hayir
Lincoln Continental 0.0178 Hayir
Chrysler Imperial 0.4236 Evet
Fiat 128 0.1574 Evet
Honda Civic 0.0094 Hayir
Toyota Corolla 0.2084 Evet
Toyota Corona 0.0279 Hayir
Dodge Challenger 0.0209 Hayir
AMC Javelin 0.0275 Hayir
Camaro Z28 0.0099 Hayir
Pontiac Firebird 0.0144 Hayir
Fiat X1-9 0.0006 Hayir
Porsche 914-2 0.0000 Hayir
Lotus Europa 0.0735 Hayir
Ford Pantera L 0.0089 Hayir
Ferrari Dino 0.0057 Hayir
Maserati Bora 0.2720 Evet
Volvo 142E 0.0056 Hayir
1 Cook's Distance, her gözlemin model üzerindeki etkisini ölçer. 4/n kuralı, etkili gözlemleri belirlemek için kullanılır.

Bu şekilde 4/n değerinden büyük Cook’s D değerine sahip gözlemler var mı kontrol ederiz. Gözlemin veriye etkisi büyükse, o gözlemi ayrıca inceleyip, veri girişi hatası mı diye bakmamız gerekir. Sonuçlara göre etkili gözlemler bulunmakta. Bunları veri setinden çıkarığ analizi o şekilde tekrarlamayı deneyeceğim.

Limiti aşan indeksler ve bu indekslerin çıkarılması

influential_obs <- which(cooks_values > limit)
mtcars_clean <- mtcars[-influential_obs, ]

Yeni Model ve Sonuçları

model2 <- lm(mpg ~ wt + hp, data = mtcars_clean)
library(sjPlot)
tab_model(model2,
          show.ci = FALSE,       
          show.se = TRUE,        
          show.stat = TRUE,      
          dv.labels = "Yakıt Tüketimi", 
          title = "Ağırlık ve Beygir Gücünün Yakıt Tüketimine Etkisi (Etkili Gözlemler Çıkarıldı)")
Ağırlık ve Beygir Gücünün Yakıt Tüketimine Etkisi (Etkili Gözlemler Çıkarıldı)
  Yakıt Tüketimi
Predictors Estimates std. Error Statistic p
(Intercept) 36.34 1.25 28.96 <0.001
wt -3.75 0.50 -7.48 <0.001
hp -0.03 0.01 -4.23 <0.001
Observations 28
R2 / R2 adjusted 0.892 / 0.883

6. Model 1 ve model 2’nin karşılaştırılması

library(stargazer)

stargazer(model1, model2, 
          type = "text", 
          title = "Model 1 ve Model 2 Karsilastirmasi",
          dep.var.labels = c("mpg"),
          covariate.labels = c("Agirlik (wt)", "Beygir Gucu (hp)"),
          omit.stat = c("f", "ser", "adj.rsq"),
          star.char = c("*", "**", "***"),
          star.cutoffs = c(0.05, 0.01, 0.001),
          digits = 3)
## 
## Model 1 ve Model 2 Karsilastirmasi
## ===============================================
##                       Dependent variable:      
##                  ------------------------------
##                               mpg              
##                        (1)            (2)      
## -----------------------------------------------
## Agirlik (wt)        -3.878***      -3.752***   
##                      (0.633)        (0.501)    
##                                                
## Beygir Gucu (hp)    -0.032**       -0.033***   
##                      (0.009)        (0.008)    
##                                                
## Constant            37.227***      36.338***   
##                      (1.599)        (1.255)    
##                                                
## -----------------------------------------------
## Observations           32              28      
## R2                    0.827          0.892     
## ===============================================
## Note:             *p<0.05; **p<0.01; ***p<0.001

Çıktısını tablolaştıramadım

İki modelde de bağımsız değişkenler olan araç ağırlığı (wt) ve beygir gücü (hp), yakıt verimliliği (mpg) üzerinde negatif yönlü ve istatistiksel olarak anlamlı bir etkiye sahiptir. Ağırlık katsayısı Model 1’de -3.878 iken, Model 2’de -3.752 olarak hesaplanmıştır. Benzer şekilde, beygir gücü değişkeninin katsayısı da sırasıyla -0.032 ve -0.033’tür. Katsayıların yönü ve büyüklüğündeki bu tutarlılık, çıkarılan gözlemlerin modelin yapısal ilişkilerini bozmadığını, ancak sonuçların güvenilirliğini artırdığını göstermektedir.

En dikkat çekici fark, modellerin açıklayıcılık düzeylerinde ortaya çıkmaktadır. Model 1’in R² değeri 0.827 iken, Model 2’de bu oran 0.892’ye yükselmiştir. Bu artış, aykırı gözlemlerin modelin genel varyans açıklama kapasitesini düşürdüğünü ve modelin genellenebilirliğini sınırladığını ortaya koymaktadır. Ayrıca, beygir gücü değişkeninin p-değerinde gözlenen düşüş (Model 2’de p<0.001), bu değişkenin Model 2’de daha anlamlı hale geldiğini ve aykırı değerlerin modelin istatistiksel gücünü zayıflatabildiğini göstermektedir.

Sonuç olarak, bu karşılaştırma, etkili gözlemlerin belirlenmesi ve gerektiğinde model dışına alınmasının regresyon analizinde ne kadar kritik olduğunu bir kez daha ortaya koymuştur. Etkili gözlemlerin modelden çıkarılması, modelin istikrarını ve açıklayıcılığını artırmış, standart hataları düşürmüş ve tahminlerin daha güvenilir hale gelmesini sağlamıştır.


7. Dummy Kodlama (Kategorik Değişken Eklenmesi)

Derste dummy (yapay) değişkenlerden bahsedildi. mtcars veri setinde am (0 = otomatik, 1 = manuel) değişkeni dummy olarak kodlanabilir. Bunu doğrudan faktör haline getirerek modele ekleyebiliriz. R, am değişkenini otomatik şekilde dummy olarak modele ekleyecektir. Çıkan regresyon katsayısı, “Manuel” ile “Otomatik” arabaların mpg değerleri arasındaki farkı (diğer değişkenler sabit tutulduğunda) gösterir.

mtcars_clean$am <- factor(mtcars_clean$am, 
                    levels = c(0,1),
                    labels = c("Otomatik", "Manuel"))

model3 <- lm(mpg ~ wt + hp + am, data = mtcars_clean)
tab_model(model3,
          show.ci = FALSE,       
          show.se = TRUE,        
          show.stat = TRUE,      
          dv.labels = "Yakıt Tüketimi", 
          title = "Ağırlık, Beygir Gücü ve Vites Türünin Tüketimine Etkisi")
Ağırlık, Beygir Gücü ve Vites Türünin Tüketimine Etkisi
  Yakıt Tüketimi
Predictors Estimates std. Error Statistic p
(Intercept) 35.92 2.07 17.34 <0.001
wt -3.62 0.71 -5.11 <0.001
hp -0.03 0.01 -4.06 <0.001
am [Manuel] 0.27 1.04 0.26 0.798
Observations 28
R2 / R2 adjusted 0.892 / 0.878

Model çıktısına göre, ağırlık ve beygir gücü değişkenleri beklendiği gibi negatif katsayılara sahiptir ve istatistiksel olarak yüksek düzeyde anlamlıdır (p < 0.001). Bu, aracın hem ağırlığı hem de motor gücü arttıkça yakıt verimliliğinin (mpg) düştüğünü göstermektedir. Her iki değişkenin de regresyon katsayıları güçlüdür ve modelde belirleyici rol oynamaktadır.

Vites tipi için kullanılan amManuel dummy değişkeninin katsayısı 0.269’dur. Bu, manuel vitesli araçların, otomatik olanlara göre ortalama olarak yaklaşık 0.27 birim daha fazla mpg değerine sahip olduğunu öne sürmektedir. Ancak bu fark istatistiksel olarak anlamlı değildir (p = 0.798). Yani, veri seti bağlamında manuel ya da otomatik vitesli olmanın yakıt verimliliği üzerinde anlamlı bir fark yaratmadığı sonucuna varılabilir.

Modelin genel uyumu oldukça yüksektir: R² = 0.892 ve düzeltilmiş R² = 0.878. Bu değerler, modelin bağımlı değişken olan mpg’deki varyansın yaklaşık %89’unu açıkladığını ve güçlü bir açıklayıcılık düzeyine sahip olduğunu göstermektedir. Ayrıca, modelin F-istatistiği anlamlı çıkmış (p < 0.001), bu da modelin genel olarak anlamlı olduğunu ortaya koymaktadır.


8. Etkileşim (Düzenleyici Etki)

Derste iki yönlü etkileşim (interaction) konusuna değinildi. Mesela, vties tipinin (am), ağırlık (wt) ile mpg arasındaki ilişkiyi değiştirdiğini (düzenlediğini) düşünelim. Bu durumda, modele bir etkileşim terimi eklemeyi deneyelim.

\[ \text{mpg} = \beta_0 + \beta_1(\text{wt}) + \beta_2(\text{am}) + \beta_3(\text{wt} \times \text{am}) + \varepsilon \]

model4 <- lm(mpg ~ wt * am, data = mtcars_clean)
tab_model(model4,
          show.ci = FALSE,       
          show.se = TRUE,        
          show.stat = TRUE,      
          dv.labels = "Yakıt Tüketimi", 
          title = "Moderatör değişkenin eklenmesi")
Moderatör değişkenin eklenmesi
  Yakıt Tüketimi
Predictors Estimates std. Error Statistic p
(Intercept) 33.83 2.65 12.76 <0.001
wt -4.50 0.71 -6.34 <0.001
am [Manuel] 9.64 3.96 2.43 0.023
wt × am [Manuel] -3.88 1.40 -2.77 0.011
Observations 28
R2 / R2 adjusted 0.862 / 0.845

Model sonuçlarına göre, ağırlık arttıkça yakıt verimliliği anlamlı ve güçlü bir şekilde azalmaktadır. Ağırlığın katsayısı -4.495 olup p-değeri 0.00000147’dir, bu da istatistiksel olarak son derece anlamlı olduğunu gösterir. Ayrıca, manuel vitesli araçlar ortalama olarak otomatiklere göre yaklaşık 9.64 birim daha fazla mpg değerine sahiptir ve bu fark da istatistiksel olarak anlamlıdır (p = 0.0228). Yani manuel vitesin yakıt verimliliği açısından avantajlı olabileceğini göstermektedir. “wt:amManuel” etkileşim terimi anlamlı çıkmıştır (p = 0.0106) ve katsayısı -3.88’dir. Bu, manuel vitesli araçlarda ağırlığın yakıt verimliliği üzerindeki olumsuz etkisinin daha da arttığını göstermektedir. Başka bir deyişle, manuel araçlar hafifken daha verimliyken, ağırlaştıkça mpg değerinde daha keskin bir düşüş yaşamaktadırlar.

Modelin R² değeri 0.862 olup, bu modelin mpg’deki varyansın yaklaşık %86’sını açıkladığını gösterir. Bu oldukça yüksek bir açıklama gücüdür. Ayrıca modelin genel geçerliliği F-testi sonucuna göre anlamlıdır (p < 0.001).


9. Sonuç-Yorum

Sonuç olarak, bu günlükte dummy değişkenlerin ve etkileşim terimlerinin regresyon modellerine nasıl entegre edilebileceğini ve yorumlanabileceğini göstermeye çalıştım. Çıkan sonuçlara göre, manuel vitesli araçlar genel olarak daha verimli olsa da, bu verimlilik ağırlık arttıkça daha hızlı azalmaktadır. Bu durum, modelin hem ana etkileri hem de etkileşimleri dikkate alarak daha gerçekçi sonuçlar sunabildiğini göstermektedir.

Ek Not: Böyle bir modelde yorum yaparken, wt’nin etkisinin “Otomatik” arabalar için farklı, “Manuel” arabalar için farklı olabileceğini göz önünde bulundurmak gerekir.

Ek Not2: Ödev Süresi yaklaşık 2,5 saattir.