1.Veri Setinin Hazırlanması ve İkili Değişken Oluşturma

Bu analizde, TIMSS 2023 verisi kullanılarak öğrencilerin matematik özgüveninin ve algıladıkları öğretimsel netliğin, “başarılı” (TIMSS 500 barajı ve üstü) grubunda yer alma olasılığını ne derece yordadığı lojistik regresyon ile incelenecektir.

## gerekli paketlerin yüklenmesi
library(haven)      # .sav dosyasını okumak için
library(dplyr)      # Veri manipülasyonu için
library(tidyr)      # Eksik veri temizliği için
library(broom)      # Çıktıları temiz tabloya dönüştürmek için
library(knitr)      # tablo formatı için
library(DescTools)  # Pseudo R-Kare hesaplaması için
library(yardstick)  # Confusion Matrix için
# Veri setini içeri aktarıyoruz
dosya_yolu <- "C:/Users/isila/OneDrive/Belgeler/bsgturm8.sav"
timss_veri <- read_sav(dosya_yolu)
# İlgili değişkenleri seçip, bağımlı değişkeni kategorik (0-1) hale getiriyoruz
lojistik_veri <- timss_veri %>%
  select(
    mat_basari = BSMMAT01,
    mat_ozguven = BSBGSCM,     # Öğrenci Özgüveni
    ogretim_netligi = BSBGICM  # Öğretimsel Netlik
  ) %>%
  drop_na() %>%
# TIMSS 500 barajına göre 1 ve 0 kodlaması yapıyoruz. 500 puan barajını geçenler 1, diğerleri 0 olarak kodlanmıştır. 
  mutate(basarili_mi = ifelse(mat_basari >= 500, 1, 0)) %>%
# Model değerlendirmesi için hedef değişkeni faktör yapıyoruz
  mutate(basarili_mi_fct = as.factor(basarili_mi))

2. Lojistik Regresyon Modelinin Kurulması

Bağımlı değişkenimiz iki kategorili (0 ve 1) olduğu için, Genelleştirilmiş Doğrusal Modellerden lojistik regresyon kullanılmaktadır.

# Lojistik Regresyon modelinin çalıştırılması
mod_lojistik <- glm(basarili_mi ~ mat_ozguven + ogretim_netligi, 
                    data = lojistik_veri, 
                    family = binomial)

3. Katsayıların ve Odds Oranlarının Raporlanması

Lojistik regresyon katsayıları Log-Odds ölçeğinde üretildiği için doğrudan yorumlanmaları zordur. Bu nedenle katsayıların üstel değerleri alınarak Odds Oranları hesaplanmıştır.

# Model çıktısını Odds Oranları ile birlikte APA formatında tabloya dönüştürme
tidy(mod_lojistik) %>%
  mutate(Odds_Orani = exp(estimate)) %>%
  select(Degisken = term, Log_Odds = estimate, Odds_Orani, Standart_Hata = std.error, p_degeri = p.value) %>%
  kable(digits = 3, caption = "Lojistik Regresyon Katsayıları ve Odds Oranları")
Lojistik Regresyon Katsayıları ve Odds Oranları
Degisken Log_Odds Odds_Orani Standart_Hata p_degeri
(Intercept) -4.510 0.011 0.229 0.000
mat_ozguven 0.467 1.595 0.018 0.000
ogretim_netligi 0.011 1.011 0.017 0.527

4. Modelin Değerlendirilmesi

4.1. Model Uyum İyiliği

####Lojistik regresyon modelimizin veriyi ne kadar iyi açıkladığını (uyum iyiliğini) değerlendirmek için Hosmer-Lemeshow (HL) testi kullanılmıştır. Bu testte, tahmin edilen değerler ile gözlenen değerler arasında anlamlı bir fark olmaması (p > 0.05) modelin veriye iyi uyum sağladığını gösterir.

# Hosmer-Lemeshow testi için gerekli paket
library(ResourceSelection)

# HL Testinin uygulanması (g = 10, gözlemleri 10 eşit gruba ayırır)
hl_test <- hoslem.test(lojistik_veri$basarili_mi, fitted(mod_lojistik), g = 10)

# Test sonucunu görüntüleme
hl_test
## 
##  Hosmer and Lemeshow goodness of fit (GOF) test
## 
## data:  lojistik_veri$basarili_mi, fitted(mod_lojistik)
## X-squared = 234.47, df = 8, p-value < 2.2e-16

Modelin uyum iyiliği Hosmer-Lemeshow testi ile değerlendirilmiştir. Test sonucunda p değeri .05’ten küçük bulunmuştur. Bu durum modelin tahmin ettiği olasılıklar ile gözlenen frekanslar arasında istatistiksel bir fark olduğuna işaret etmektedir. Ancak, modelin tahmin gücünü yansıtan sınıflandırma doğruluğu ve ROC eğrisi altındaki alan değerleri dikkate alındığında, modelin yordayıcı geçerliğinin kabul edilebilir ve düzeyde olduğu görülmektedir. Literatürde, HL testinin büyük örneklemlerde anlamsız sonuçlar verdiğini ve p değerinin yanıltıcı olduğunu savunan araştırmacılar bulunmaktadır (Nattino vd., 2020 ; Aliison, 2013).

4.2. Açıklanan Varyans (Pseudo R-Kare)

Lojistik regresyonda doğrusal modeldeki gibi standart bir \(R^2\) hesaplanamaz. Bunun yerine Nagelkerke Pseudo \(R^2\) değeri incelenmiştir.
# Nagelkerke Pseudo R-Kare Değeri
PseudoR2(mod_lojistik, which = "Nagelkerke")
## Nagelkerke 
##  0.2492353

4.3. Sınıflandırma Başarısı (Confusion Matrix)

Modelimizin öğrencileri “Başarılı” ve “Başarısız” olarak ne kadar doğru sınıflandırdığını değerlendirmek için Confusion Matrix oluşturulmuştur.
# Modelin tahmin ettiği olasılıkları 0 ve 1 sınıflarına (0.50 eşik değeri ile) dönüştürüyoruz
lojistik_veri <- lojistik_veri %>%
  mutate(
    tahmin_olasilik = predict(mod_lojistik, type = "response"),
    tahmin_sinif = ifelse(tahmin_olasilik >= 0.50, 1, 0),
    tahmin_sinif_fct = as.factor(tahmin_sinif)
  )

# Doğruluk Oranını hesaplıyoruz
accuracy(lojistik_veri, truth = basarili_mi_fct, estimate = tahmin_sinif_fct) %>%
  kable(digits = 3, caption = "Model Sınıflandırma Doğruluğu (Accuracy)")
Model Sınıflandırma Doğruluğu (Accuracy)
.metric .estimator .estimate
accuracy binary 0.673

5. ROC Eğrisi

Modelin sınıflandırma performansını ve doğruluğunu görselleştirmek için Eğri Altında Kalan Alan değerini de içeren ROC eğrisi çizdirilmiştir.
# ROC eğrisi için pROC paketini kullanıyoruz
library(pROC)

# Gerçek sınıflandırma değerleri ve modelin tahmin ettiği olasılıklar
gercek_degerler <- lojistik_veri$basarili_mi
tahmin_olasiliklar <- lojistik_veri$tahmin_olasilik

# ROC Eğrisinin çizilmesi
roc_egrisi <- roc(gercek_degerler, tahmin_olasiliklar)
plot(roc_egrisi, col = "red", lwd = 2, main = "Lojistik Regresyon ROC Eğrisi", print.auc = TRUE)

6. Sonuç ve Yorum

Öğrencilerin yüksek başarı grubunda yer alma durumlarını yordamak amacıyla kurulan lojistik regresyon analizi sonuçlarına göre, matematik özgüveninin model üzerinde istatistiksel olarak anlamlı bir yordayıcı olduğu bulunmuştur (p < .001). Elde edilen odds oranına göre, öğrencilerin matematik özgüvenlerindeki bir birimlik artış, yüksek başarılı grubuna girme odds’unu (şansını) 1.595 katına çıkarmaktadır. Bu etkinin yüzdelik değişimi formülize edildiğinde ((1.595 - 1) x 100 = 59.5), matematik özgüvenindeki her bir birimlik artışın, öğrencinin başarılı olma şansını yaklaşık %59.5 oranında artırdığı görülmektedir.
Öte yandan, algılanan öğretimsel netliğin, diğer değişkenler sabit tutulduğunda yüksek başarı grubuna girme üzerinde istatistiksel olarak anlamlı bir ana etkisi bulunamamıştır (p = 0.527). Kurulan lojistik modelin, öğrencilerin başarı sınıflandırmalarındaki toplam varyansın yaklaşık %24.9’unu açıkladığı ve modelin genel sınıflandırma doğruluğunun %67.3 olduğu tespit edilmiştir. Çizdirilen ROC eğrisi ve elde edilen uyum istatistikleri, modelin sınıflandırma gücünün kabul edilebilir düzeyde olduğunu göstermektedir.

Kaynaklar

Nattino, G., Pennell, M. L., & Lemeshow, S. (2020). Assessing the goodness of fit of logistic regression models in large samples: A modification of the Hosmer-Lemeshow test. Biometrics, 76(2), 549-560.
Allison, P. (2013). Why I Don’t Trust the Hosmer-Lemeshow Test for Logistic Regression. Statistical Horizons.