Bu hafta p-değerine ilişkin dersimiz çok aydınlatıcıydı, Özellikle örneklem ortalamaları dağılımı kavramı, p-değerini anlamada çok etkili oldu. Daha önce p-değerini doğrudan bir sonuç olarak yorumlarken, şimdi bunun arkasında teorik bir dağılım olduğunu ve yaptığımız tüm çıkarımların bu referans çerçevesine dayandığını fark ettim. Bununla birlikte HLM konusunu tekrar ettim. Çalışmada PISA 2022 verisi kullandım. Pisa öğrenci ve okul spss dosyalarını birleştirerek hiyerarşik analize uygun biçime getirdim. Dersteki analizler ve değişkenleri kullanarak analizleri yaptım.
library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'dplyr' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.0 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.2 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(sjmisc) # frekan tabloları
## Warning: package 'sjmisc' was built under R version 4.5.3
##
## Attaching package: 'sjmisc'
##
## The following object is masked from 'package:purrr':
##
## is_empty
##
## The following object is masked from 'package:tidyr':
##
## replace_na
##
## The following object is masked from 'package:tibble':
##
## add_case
library(car) #özet istatitik
## Warning: package 'car' was built under R version 4.5.3
## Zorunlu paket yükleniyor: carData
##
## Attaching package: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
library(lme4) # lmer() functions
## Warning: package 'lme4' was built under R version 4.5.2
## Zorunlu paket yükleniyor: Matrix
##
## Attaching package: 'Matrix'
##
## The following objects are masked from 'package:tidyr':
##
## expand, pack, unpack
##
## Registered S3 method overwritten by 'lme4':
## method from
## na.action.merMod car
# library(nlme) #
library(interactions) # grafikler
## Warning: package 'interactions' was built under R version 4.5.2
# Gerekli paket
library(haven)
## Warning: package 'haven' was built under R version 4.5.3
# SPSS dosyasını oku
mergedson <- read_sav("mergedson.sav")
null_model <- lmer(PV1MATH ~ 1 + (1 | CNTSCHID), data = mergedson)
summary(null_model)
## Linear mixed model fit by REML ['lmerMod']
## Formula: PV1MATH ~ 1 + (1 | CNTSCHID)
## Data: mergedson
##
## REML criterion at convergence: 79427.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.5484 -0.6573 0.0012 0.6349 4.1309
##
## Random effects:
## Groups Name Variance Std.Dev.
## CNTSCHID (Intercept) 4537 67.35
## Residual 3437 58.62
## Number of obs: 7166, groups: CNTSCHID, 193
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 449.020 4.901 91.61
Intercept (γ₀₀) = 449.020
Türkiye genelinde öğrencilerin ortalama matematik başarısı yaklaşık 449 puandır.
Varyans Bileşenleri Okullar arası varyans (τ₀₀) = 4537 Öğrenci içi varyans (σ²) = 3437
okullar arası varyansın (τ₀₀ = 4537) sıfırdan farklı olduğu görülmektedir.
Genel ortalama için %95 güven aralığı
95%CI(γ00)=γ00±1.96(SE) 95%CI(γ00)=449.020 ±1.96(4.901)=(439.41,458.636)
Türkiye genelinde öğrencilerin ortalama matematik başarısının %95 güvenle 439.41 ile 458.63 arasında olduğu söylenebilir.
Okul Ortalamaları İçin Olası Değerler Aralığı
okUL ortalamalarının evrende nasıl dağıldığını görmek için grup-arası varyans (τ00=4537) kullanılır:
449.020 ± 1.96 √4537=(317.02, 581.02)
Okulların ortalama matematik başarılarının evrende yaklaşık olarak 317 ile 581 puan arasında dağıldığı söylenebilir.
4537/(4537+3437)
## [1] 0.5689742
Matematik başarısındaki toplam varyansın yaklaşık %57’si okullar arası farklardan kaynaklanmaktadır.
library(dplyr)
# 1. Modelden varyans bileşenlerini çekelim
var_comp <- as.data.frame(VarCorr(null_model))
tau_00 <- var_comp$vcov[var_comp$grp == "CNTSCHID"] # okullar arası varyans
sigma_sq <- var_comp$vcov[var_comp$grp == "Residual"] # öğrenci içi varyans
# 2. Her okulun örneklem büyüklüğünü (nj) bulalım
n_j <- mergedson %>%
count(CNTSCHID) %>%
pull(n)
# 3. Her okul için kesişim güvenilirliği (lambda)
reliability_j <- tau_00 / (tau_00 + (sigma_sq / n_j))
# 4. Ortalama güvenilirlik (HLM'deki değer)
mean_reliability <- mean(reliability_j)
print(paste("Kesişim Güvenilirliği (Reliability Estimate):",
round(mean_reliability, 3)))
## [1] "Kesişim Güvenilirliği (Reliability Estimate): 0.979"
Düzey-1 kesişiminin (intercept) rastgele etkisine ilişkin güvenirlik değeri, Düzey-2 birimlerinin ortalama güvenirliğidir. Her bir okulun kesişim değeri için hesaplanan En Küçük Kareler - OLS kestirimlerinin genel güvenirliğini ölçer. Bu model için elde edilen güvenirlik kestirimi oldukça yüksektir ve 0.979 olarak bulunmuştur.
# tek düzey model
model_single <- lm(PV1MATH ~ 1, data = mergedson)
# null model (çok düzey)
anova(null_model, model_single)
## refitting model(s) with ML (instead of REML)
## Data: mergedson
## Models:
## model_single: PV1MATH ~ 1
## null_model: PV1MATH ~ 1 + (1 | CNTSCHID)
## npar AIC BIC logLik -2*log(L) Chisq Df Pr(>Chisq)
## model_single 2 84717 84731 -42357 84713
## null_model 3 79438 79459 -39716 79432 5280.8 1 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Yorum: Tek düzeyli model ile çok düzeyli boş model karşılaştırıldığında, çok düzeyli modelin sapma değerinin daha düşük olduğu görülmektedir (tek düzey: 84713; çok düzey: 79432). Modeller arasındaki farkın istatistiksel olarak anlamlı olduğu belirlenmiştir (χ² = 5280.8, sd = 1, p < .001). Bu bulgu, matematik başarısının okullara göre anlamlı düzeyde farklılaştığını ve çok düzeyli modellemenin gerekli olduğunu göstermektedir.
Okullar arası varyansın varlığı kanıtlandıktan sonra, bu varyansı açıklamak amacıyla okul düzeyindeki “Ortalama SES” (ESCS) değişkeni modele dahil edilmiştir.
library(dplyr)
mergedson <- mergedson %>%
group_by(CNTSCHID) %>%
mutate(escs_mean = mean(ESCS, na.rm = TRUE)) %>%
ungroup()
library(lme4)
model_means <- lmer(PV1MATH ~ escs_mean + (1 | CNTSCHID),
data = mergedson)
summary(model_means)
## Linear mixed model fit by REML ['lmerMod']
## Formula: PV1MATH ~ escs_mean + (1 | CNTSCHID)
## Data: mergedson
##
## REML criterion at convergence: 79304.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.5807 -0.6586 0.0036 0.6381 4.0450
##
## Random effects:
## Groups Name Variance Std.Dev.
## CNTSCHID (Intercept) 2424 49.24
## Residual 3437 58.62
## Number of obs: 7166, groups: CNTSCHID, 193
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 527.698 7.165 73.65
## escs_mean 64.963 5.113 12.71
##
## Correlation of Fixed Effects:
## (Intr)
## escs_mean 0.863
Sabit Etkiler Intercept (γ₀₀) = 448.592
Ortalama sosyoekonomik düzeye sahip okullarda öğrencilerin ortalama matematik başarı puanı yaklaşık 448.59’dur.
escs_mean (γ₀₁) = 64.963 (t = 12.71, p < .001 )
Okulun ortalama sosyoekonomik düzeyi arttıkça matematik başarısı anlamlı düzeyde artmaktadır.
Random Effects τ₀₀ = 2424
Okullar arası başarı farkı hâlâ vardır, ancak azalmıştır.
Her okul için ayrı regresyon doğrusu kurularak, SES’in başarı üzerindeki etkisinin okullara göre değişip değişmediği incelenmiştir.
# group-mean ortalama
mergedson <- mergedson %>%
group_by(CNTSCHID) %>%
mutate(escs_mean = mean(ESCS, na.rm = TRUE),
cses = ESCS - escs_mean) %>%
ungroup()
# model
model_rc <- lmer(PV1MATH ~ cses + (cses | CNTSCHID),
data = mergedson)
summary(model_rc)
## Linear mixed model fit by REML ['lmerMod']
## Formula: PV1MATH ~ cses + (cses | CNTSCHID)
## Data: mergedson
##
## REML criterion at convergence: 79315.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.6129 -0.6620 0.0054 0.6371 3.9717
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## CNTSCHID (Intercept) 4536.33 67.352
## cses 32.05 5.661 0.12
## Residual 3385.49 58.185
## Number of obs: 7161, groups: CNTSCHID, 193
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 449.0404 4.9002 91.637
## cses 5.1664 0.8488 6.087
##
## Correlation of Fixed Effects:
## (Intr)
## cses 0.059
Kurulan rastgele katsayı modelinde, bireysel sosyoekonomik düzeyin matematik başarısı üzerindeki etkisinin anlamlı olduğu belirlenmiştir (γ₁₀ = 5.1664, p < .001). Bu bulgu, aynı okul içinde sosyoekonomik düzeyi daha yüksek olan öğrencilerin daha yüksek matematik başarısına sahip olduğunu göstermektedir. Ayrıca, eğim varyansının anlamlı olması (τ₁₁ = 32.05), bu etkinin okullara göre farklılaştığını ortaya koymaktadır. Kesişim ile eğim arasındaki düşük düzeyde pozitif ilişki (r = 0.12), ortalama başarısı yüksek okullarda SES etkisinin bir miktar daha güçlü olabileceğini göstermektedir.
Bu modelde: öğrencilerin matematik başarısı üzerindeki bireysel sosyoekonomik düzey (SES) etkisinin okullara göre değişip değişmediği ve bu değişimin okul düzeyindeki özellikler (okul ortalama SES ve okul türü) tarafından açıklanıp açıklanamadığı incelenmektedir. Ayrıca, SES’in başarı üzerindeki etkisinin okulun bağlamsal özelliklerine bağlı olarak farklılaşıp farklılaşmadığı çapraz düzey etkileşimler yoluyla test edilmektedir.
library(lme4)
library(lmerTest)
## Warning: package 'lmerTest' was built under R version 4.5.3
##
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
##
## lmer
## The following object is masked from 'package:stats':
##
## step
mergedson$S3 <- ifelse(mergedson$SCHLTYPE == 3, 0,
ifelse(mergedson$SCHLTYPE %in% c(1, 2), 1, NA))
model_full <- lmer(
PV1MATH ~ cses +
escs_mean + S3 + # Düzey-2 değişkenler
cses:escs_mean + # SES × okul SES
cses:S3 + # SES × okul türü
(1 + cses | CNTSCHID), # random intercept + slope
data = mergedson
)
summary(model_full)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PV1MATH ~ cses + escs_mean + S3 + cses:escs_mean + cses:S3 +
## (1 + cses | CNTSCHID)
## Data: mergedson
##
## REML criterion at convergence: 79101.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.6326 -0.6568 0.0088 0.6413 3.7581
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## CNTSCHID (Intercept) 1778.90 42.177
## cses 22.02 4.693 -0.18
## Residual 3383.37 58.167
## Number of obs: 7161, groups: CNTSCHID, 193
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 562.639 7.501 188.359 75.004 < 2e-16 ***
## cses 8.402 1.919 149.979 4.379 2.23e-05 ***
## escs_mean 84.807 5.031 189.394 16.857 < 2e-16 ***
## S3 -89.167 10.886 194.938 -8.191 3.35e-14 ***
## cses:escs_mean 3.157 1.341 172.550 2.355 0.01967 *
## cses:S3 9.795 3.231 255.236 3.032 0.00268 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) cses escs_m S3 css:s_
## cses -0.077
## escs_mean 0.896 -0.069
## S3 -0.566 0.044 -0.481
## cses:scs_mn -0.066 0.897 -0.073 0.035
## cses:S3 0.037 -0.404 0.032 -0.065 -0.321
Kurulan modelde bireysel sosyoekonomik düzeyin matematik başarısı üzerindeki etkisinin anlamlı ve pozitif olduğu belirlenmiştir (γ₁₀ = 4.5576, p < .001). Okulun ortalama sosyoekonomik düzeyinin de başarıyı güçlü bir şekilde yordadığı görülmüştür (γ₀₁ = 84.8068, p < .001). Okul türüne ilişkin bulgular, özel okullarda ortalama başarının devlet okullarına göre daha düşük olduğunu göstermektedir (γ = -89.1667, p < .001).
Çapraz düzey etkileşimler incelendiğinde, bireysel SES etkisinin okulun ortalama sosyoekonomik düzeyine göre değiştiği (γ = 3.1575, p < .05) ve özel okullarda bu etkinin daha güçlü olduğu (γ = 9.7954, p < .01) belirlenmiştir.
Eğimin Varyansının Anlamlılığı: Düzey-2 değişkenleri (okul ortalama sosyoekonomik düzeyi ve okul türü) modele eklendikten sonra, bireysel SES eğimine ilişkin varyansın (τ₁₁ = 22.02) sıfırdan farklı olduğu görülmektedir. Bu bulgu, sosyoekonomik düzeyin matematik başarısı üzerindeki etkisinin okullara göre değişmeye devam ettiğini göstermektedir. Dolayısıyla, eğimin sabit olduğu yönündeki yokluk hipotezi reddedilir ve rastgele eğimli modelin kullanılmasının uygun olduğu sonucuna ulaşılır.
Kesişim ve Eğim Korelasyonu: Düzey-1 kesişimi ile SES eğimi arasındaki korelasyon -0.18 olarak hesaplanmıştır. Bu bulgu, ortalama başarısı yüksek olan okullarda sosyoekonomik düzeyin başarı üzerindeki etkisinin bir miktar daha zayıf olma eğiliminde olduğunu göstermektedir.
Açıklanan Varyans: Okullar arası kesişim varyansı önceki modelde 4387.79 iken, bu modelde 1778.90’a düşmüştür. Bu doğrultuda hesaplanan açıklanan varyans oranı yaklaşık olarak (4387.79−1778.90)/4387.79=0.595 olup, okullar arası matematik başarı farklılıklarının yaklaşık %59.5’inin okul ortalama sosyoekonomik düzeyi ve okul türü tarafından açıklandığı görülmektedir.
anova(model_full, model_rc, test="Chisq")
## refitting model(s) with ML (instead of REML)
## Data: mergedson
## Models:
## model_rc: PV1MATH ~ cses + (cses | CNTSCHID)
## model_full: PV1MATH ~ cses + escs_mean + S3 + cses:escs_mean + cses:S3 + (1 + cses | CNTSCHID)
## npar AIC BIC logLik -2*log(L) Chisq Df Pr(>Chisq)
## model_rc 6 79334 79376 -39661 79322
## model_full 10 79145 79213 -39562 79125 197.75 4 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Yorum: Rastgele katsayı modeli ile Düzey-2 değişkenlerini ve çapraz düzey etkileşimleri içeren tam model karşılaştırıldığında, tam modelin sapma değerinin daha düşük olduğu görülmektedir (random katsayı modeli: 79322; tam model: 79125). Ki-kare fark testi sonucunda elde edilen farkın istatistiksel olarak anlamlı olduğu belirlenmiştir (χ² = 197.75, sd = 4, p < .001). Bu bulgu, okul düzeyindeki değişkenlerin ve etkileşim terimlerinin modele anlamlı katkı sağladığını ve veriye daha iyi uyum gösterdiğini ortaya koymaktadır.
interact_plot(model_full,
pred = cses,
modx = S3,
interval = TRUE)
Elde edilen etkileşim grafiği, sosyoekonomik düzeyin matematik başarısı
üzerindeki etkisinin okul türüne göre değiştiğini göstermektedir. Her
iki okul türünde de sosyoekonomik düzey arttıkça başarı artmakla
birlikte, bu artış özel okullarda daha belirgindir.