Bu çalışmada veri kaynağı olarak TIMSS 2019 sekizinci sınıf öğrenci
verisini kullanıyorum. IEA’nın TIMSS 2019 uluslararası veri tabanından,
ülke bazında öğrenci dosyalarını SPSS formatında indirip Türkiye ve
Japonya’ya ait sekizinci sınıf öğrencilerinin dosyalarını bilgisayarıma
kaydettim. TIMSS sitesinde sadece SPSS ve SAS türünde dosyalar
bulunuyor, R’da read_sav kullanarak SPSS dosyalarımı
açabileceğimi bildiğim için SPSS olarak indirdim. TIMSS’te
bsgile başlayan dosyalar öğrenci dosyaları olduğu için
bsgturm7ve bsgjpnm7dosyalarını
kullanacağım.
İlk adımda haven paketinde bulunan read_sav()
fonksiyonunu kullanarak Türkiye ve Japonya öğrenci verilerini R’a
aktardım.
TIMMS’te bulunan dört değişkeni kullanacağım bunlar:
BSMMAT01 -> Öğrencinin matematik başarısı -> Bağımlı değişken
BSDGICM -> Matematik derslerinde öğretimsel açıklık indeksi -> Bağımsız değişken
BSDGSLM -> Matematik dersini sevme indeksi -> Aracı değişken
ITSEX -> Cinsiyet -> Düzenleyici değişken
İkinci adımda iki dosyayı birleştirip sütun isimlerini
türkçeleştirdim ve IDCNTRY kodlu ülke kodu sütunundaki kodları
Japonya ve Türkiyeolarak değiştirdim.
##
## 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
timss <- bind_rows(japonya, turkiye) %>%
mutate(
ulke_kodu = IDCNTRY,
ulke = case_when(
IDCNTRY == 792 ~ "Türkiye",
IDCNTRY == 392 ~ "Japonya",
) %>%
factor(),
cinsiyet = factor(ITSEX,
levels = c(1, 2),
labels = c("Erkek", "Kız")),
mat_basarisi = BSMMAT01,
ogretimsel_aciklik = BSDGICM,
matematigi_sevme = BSDGSLM
) %>%
select(ulke_kodu, ulke, cinsiyet,
mat_basarisi, ogretimsel_aciklik, matematigi_sevme)Analizlere geçmeden önce, matematik başarısı (BSMMAT01), öğretimsel açıklık indeksi (BSDGICM), matematik dersini sevme indeksi (BSDGSLM) ve cinsiyet (ITSEX) değişkenlerinde eksik verileri veri setinden çıkarmak için drop_na() fonksiyonunu kullandım. Sonrasında kaç veri kaldığını kontrol ettim.
library(tidyr)
timss_temiz <- timss %>%
drop_na(mat_basarisi, ogretimsel_aciklik, matematigi_sevme, cinsiyet)
nrow(timss_temiz)## [1] 8409
##
## Japonya Türkiye
## 4439 3970
Daha sonra veri setinin yapısını incelemek için betimsel istatistiklerine ve korelasyonlara baktım.
library(dplyr)
timss_temiz %>%
group_by(ulke) %>%
summarise(
n = n(),
ort_matbas = mean(mat_basarisi),
sd_matbas = sd(mat_basarisi),
ort_ogrtsaciklik = mean(ogretimsel_aciklik),
sd_ogrtsaciklik = sd(ogretimsel_aciklik),
ort_matsev = mean(matematigi_sevme),
sd_matsev = sd(matematigi_sevme)
)timss_temiz %>%
select(mat_basarisi, ogretimsel_aciklik, matematigi_sevme) %>%
cor(use = "complete.obs")## mat_basarisi ogretimsel_aciklik matematigi_sevme
## mat_basarisi 1.00000000 0.07088107 -0.1102946
## ogretimsel_aciklik 0.07088107 1.00000000 0.4517313
## matematigi_sevme -0.11029462 0.45173125 1.0000000
Öğretimsel açıklığın matematik başarısını tek başına ne kadar açıkladığını görmek için basit doğrusal regresyon modeli kurdum. Bu modelde bağımlı değişken matematik başarısı, bağımsız değişken ise öğretimsel açıklık indeksidir.
library(broom)
model_basarixaciklik <- lm(mat_basarisi ~ ogretimsel_aciklik,
data = timss_temiz)
glance(model_basarixaciklik)Bu modelde R² ve düzeltilmiş R² değerleri yaklaşık 0.005 bulunmuştur. Bu sonuç, matematik başarısındaki varyansın yalnızca yaklaşık %0.5’inin öğretimsel açıklık tarafından açıklandığını gösteriyor. p < .001 olduğu için modelin genel olarak istatistiksel olarak anlamlı olduğu görülüyor.
Regresyon katsayılarına baktığımda, öğretimsel açıklık değişkenine ait eğim katsayısı 10.996 (SE = 1.688, p < .001) olarak hesaplanmıştır. Bu değer, öğretimsel açıklık puanındaki 1 birimlik artışın, öğrencilerin TIMSS matematik puanında ortalama yaklaşık 11 puanlık bir artışla ilişkili olduğunu göstermektedir. Yani öğretmenin dersi daha açık, anlaşılır ve adım adım anlattığını bildiren öğrenciler, ortalamada biraz daha yüksek matematik başarısına sahiptir. Ancak R² değerinin çok düşük olması, matematik başarısını açıklamada öğretimsel açıklığın tek başına güçlü bir yordayıcı olmadığını ve başarıyı etkileyen pek çok başka değişkenin de olduğunu düşündürmektedir.
Daha sonra öğretimsel açıklık indeksinin (ogretimsel_aciklik), matematik dersini sevme indeksini (matematigi_sevme) ne kadar açıkladığını görmek için basit regresyon modeli kurdum.
library(broom)
model_sevmexaciklik <- lm(matematigi_sevme ~ ogretimsel_aciklik,
data = timss_temiz)
glance(model_sevmexaciklik)Bu modelde R² ve düzeltilmiş R² değerleri 0.20 civarındadır. Yani matematiği sevme puanlarındaki varyansın yaklaşık %20’si öğretimsel açıklık değişkeni ile açıklanabilmektedir. F istatistiği de oldukça yüksek (F(1, 8407) ≈ 2155, p < .001) olduğu için, modelin genel olarak istatistiksel olarak anlamlı olduğu söylenebilir.
Regresyon katsayılarına baktığımda, öğretimsel açıklık için eğim katsayısı 0.49 (SE ≈ 0.01, p < .001) olarak hesaplanmıştır. Bu değer, öğretimsel açıklık puanındaki 1 birimlik artışın, matematiği sevme indeksinde ortalama yaklaşık 0.49 birim artışla ilişkili olduğunu gösteriyor. Yani öğrenciler öğretmenin dersi daha açık, anlaşılır ve düzenli anlattığını bildirdikçe, matematik dersini sevme düzeyleri de anlamlı biçimde artıyor. Bu sonuç, kurmak istediğim aracılık modelinde öğretimsel açıklık -> matematiği sevme yolunun güçlü ve anlamlı bir yol olduğunu destekliyor.
Sonraki adımda bu aracı değişkeni ana modele ekleyip öğretimsel açıklık ve matematiği sevmenin birlikte matematik başarısını ne kadar açıkladığına baktım.
model_basarixaciklik_sevme <- lm(
mat_basarisi ~ ogretimsel_aciklik + matematigi_sevme,
data = timss_temiz
)
glance(model_basarixaciklik_sevme)Bu modelde R² değeri yaklaşık 0.03, düzeltilmiş R² ise yine yaklaşık 0.03 çıktı. Yani öğretimsel açıklık ve matematiği sevme birlikte, matematik başarısındaki varyansın yaklaşık %3’ünü açıklıyor. F istatistiği 132.09 ve p değeri < .001 olduğu için, model genel olarak istatistiksel açıdan anlamlı diyebiliriz. Katsayılara baktığımda ise:
Öğretimsel açıklık için eğim katsayısı yaklaşık 23.53 (SE ≈ 1.87, p < .001). Matematiği sevme düzeyi sabit tutulduğunda, öğretimsel açıklık indeksindeki 1 birimlik artışın TIMSS matematik puanında ortalama 23.5 puanlık artışla ilişkili olduğunu gösteriyor. Yani öğretmenin dersi daha açık ve yapılandırılmış anlattığını bildiren öğrenciler daha yüksek başarı puanlarına sahip.
Matematiği sevme için eğim katsayısı ise yaklaşık -25.58 (SE ≈ 1.72, p < .001). Yani öğretimsel açıklık sabit tutulduğunda, matematiği sevme indeksindeki 1 birimlik artış, matematik puanında ortalama 25.6 puanlık azalışla ilişkili görünüyor. Yöne bakınca bu ilişki ilk bakışta beklediğim yönün tersi çıktı :((((. 2. modelde öğretimsel açıklık arttıkça matematiği sevme puanının arttığını görmüştüm burada ise iki değişken aynı anda modele girince, matematiği sevme katsayısı negatif çıktı.
Açıklanan varyansa baktığımda, yalnızca öğretimsel açıklık ile kurduğum modelde R² yaklaşık 0.005 iken, matematiği sevme değişkenini de eklediğim bu modelde R²’nin yaklaşık 0.03’e yükseldiğini gördüm. Yani aracı değişkeni eklemek, modelin matematik başarısını açıklama gücünü biraz artırmış. Katsayıların yönü ve büyüklüğü değiştiği için, burada klasik “öğretimsel açıklık -> matematiği sevme -> başarı” şeklinde bir aracılık yapısından çok, biraz daha karmaşık bir ilişki olabilir. Belki TIMSS verilerinde ters kodlanmış maddeler vardır bilmiyorum buna bakmamıştım, ayrıca bakacağım.
Öğrencilerin matematiği sevme düzeyi ile matematik başarısı arasındaki ilişkinin cinsiyete göre değişip değişmediğine baktım.
library(dplyr)
timss_mod <- timss_temiz %>%
mutate(
cinsiyet_say = ifelse(cinsiyet == "Kız", 1, 0),
matematigi_sevme_z = as.numeric(scale(matematigi_sevme)),
sevme_cinsiyet = matematigi_sevme_z * cinsiyet_say
)
model_mod <- lm(mat_basarisi ~ ogretimsel_aciklik + matematigi_sevme_z +
cinsiyet_say + sevme_cinsiyet,
data = timss_mod)
glance(model_mod)Bu modelde önce timss_temiz veri setinden yeni bir timss_mod nesnesi
oluşturarak cinsiyeti sayısal hale getirdim, matematiği sevme
değişkenini karşılaştırmayı z-puana çevirdim ve matematiği sevme–başarı
ilişkisinin cinsiyete göre değişip değişmediğini test edebilmek için
etkileşim terimini
(sevme_cinsiyet = matematigi_sevme_z * cinsiyet_say)
ürettim. Ardından matematik başarısını aynı anda öğretimsel açıklık,
matematiği sevme (z), cinsiyet ve etkileşim ile yordayan çoklu doğrusal
regresyonu kurdum. Çıktıya göre modelin açıklayıcılığı düşük ama anlamlı
(R² ≈ 0.034; yani başarı varyansının yaklaşık %3.4’ü açıklanıyor);
öğretimsel açıklık arttıkça matematik başarısı artıyor (b ≈ 23.51, p
< .001), fakat matematiği sevme z-puanı yükseldikçe başarı düşüyor (b
≈ -14.07, p < .001). Cinsiyetin ana etkisi de negatif (b ≈ -7.29, p =
.0017) olduğu için, matematiği sevme ortalamadayken (z=0) ve diğer
değişkenler sabitken kızların puanı erkeklerden ortalama yaklaşık 7 puan
daha düşük görünüyor. sevme_cinsiyet katsayısı da negatif ve anlamlı (b
≈ -11.18, p < .001), yani matematiği sevme ile başarı arasındaki
negatif ilişki kızlarda daha da artıyor. Erkeklerde matematiği sevmenin
eğimi yaklaşık -14.07, kızlarda ise eğim yaklaşık -25.25’e düşüyor.
Bu aşamada öğretimsel açıklığın, matematiği sevme üzerinden matematik başarısına giden dolaylı etkisini kurup, bu aracılık yolunun cinsiyete göre değişip değişmediğini aynı modelin içinde test ettim ve ülke bazında ayrı ayrı görünecek şekilde yaptım. Bunun için önce veriyi ülkeye göre gruplayıp her ülkenin kendi içinde değişkenleri z-puana çevirdim, cinsiyeti 0/1 olarak sayısallaştırdım ve “matematiği sevme × cinsiyet” etkileşim terimini oluşturdum. Sonra iki ülkeyi “group = ulke” ile çok gruplu model olarak çalıştırıp, modeldeki yolların katsayılarını Türkiye ve Japonya için ayrı ayrı inceledim (o yüzden modelde c(…, …) şeklinde iki ülkeye iki ayrı katsayı tanımladım). En sonda da erkek ve kız için dolaylı etkiyi ayrı hesaplayacak şekilde indirect_erkek, indirect_kiz ve bu ikisi arasındaki farkı özetleyen “moderated mediation indeksi”ni (index_modmed) tanımladım; standart hataları daha güvenilir almak için bootstrap kullandım.
## This is lavaan 0.6-20
## lavaan is FREE software! Please report any bugs.
timss_mg <- timss_temiz %>%
group_by(ulke) %>%
mutate(
cinsiyet_say = ifelse(cinsiyet == "Kız", 1, 0),
ogretimsel_aciklik_z = as.numeric(scale(ogretimsel_aciklik)),
matematigi_sevme_z = as.numeric(scale(matematigi_sevme)),
mat_basarisi_z = as.numeric(scale(mat_basarisi)),
svm_cns = matematigi_sevme_z * cinsiyet_say
) %>%
ungroup()
model_mg_free <- '
matematigi_sevme_z ~ c(a_JPN, a_TUR)*ogretimsel_aciklik_z
mat_basarisi_z ~ c(c_JPN, c_TUR)*ogretimsel_aciklik_z +
c(b1_JPN,b1_TUR)*matematigi_sevme_z +
c(b2_JPN,b2_TUR)*cinsiyet_say +
c(b3_JPN,b3_TUR)*svm_cns
indirect_erkek_JPN := a_JPN*b1_JPN
indirect_kiz_JPN := a_JPN*(b1_JPN + b3_JPN)
index_modmed_JPN := a_JPN*b3_JPN
indirect_erkek_TUR := a_TUR*b1_TUR
indirect_kiz_TUR := a_TUR*(b1_TUR + b3_TUR)
index_modmed_TUR := a_TUR*b3_TUR
'
fit_mg <- sem(model_mg_free, data = timss_mg, group = "ulke",
se = "bootstrap", bootstrap = 5000)
summary(fit_mg, standardized = TRUE, rsquare = TRUE)## lavaan 0.6-20 ended normally after 1 iteration
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 18
##
## Number of observations per group:
## Japonya 4439
## Türkiye 3970
##
## Model Test User Model:
##
## Test statistic 5652.574
## Degrees of freedom 4
## P-value (Chi-square) 0.000
## Test statistic for each group:
## Japonya 3248.878
## Türkiye 2403.697
##
## Parameter Estimates:
##
## Standard errors Bootstrap
## Number of requested bootstrap draws 5000
## Number of successful bootstrap draws 5000
##
##
## Group 1 [Japonya]:
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## matematigi_sevme_z ~
## ogrtm__ (a_JP) 0.360 0.014 25.224 0.000 0.360 0.360
## mat_basarisi_z ~
## ogrtm__ (c_JP) -0.048 0.015 -3.193 0.001 -0.048 -0.048
## mtmtg__ (b1_J) -0.347 0.020 -17.319 0.000 -0.347 -0.348
## cnsyt_s (b2_J) -0.070 0.029 -2.439 0.015 -0.070 -0.035
## svm_cns (b3_J) -0.027 0.028 -0.960 0.337 -0.027 -0.020
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .matematg_svm_z 0.000 0.014 0.000 1.000 0.000 0.000
## .mat_basarisi_z 0.032 0.019 1.688 0.091 0.032 0.032
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .matematg_svm_z 0.870 0.017 51.132 0.000 0.870 0.870
## .mat_basarisi_z 0.857 0.019 44.887 0.000 0.857 0.862
##
## R-Square:
## Estimate
## matematg_svm_z 0.130
## mat_basarisi_z 0.138
##
##
## Group 2 [Türkiye]:
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## matematigi_sevme_z ~
## ogrtm__ (a_TU) 0.379 0.013 29.101 0.000 0.379 0.379
## mat_basarisi_z ~
## ogrtm__ (c_TU) -0.118 0.017 -6.968 0.000 -0.118 -0.118
## mtmtg__ (b1_T) -0.191 0.021 -9.004 0.000 -0.191 -0.191
## cnsyt_s (b2_T) -0.081 0.031 -2.635 0.008 -0.081 -0.040
## svm_cns (b3_T) -0.028 0.030 -0.954 0.340 -0.028 -0.020
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .matematg_svm_z -0.000 0.015 -0.000 1.000 -0.000 -0.000
## .mat_basarisi_z 0.041 0.021 1.926 0.054 0.041 0.041
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .matematg_svm_z 0.856 0.014 61.378 0.000 0.856 0.857
## .mat_basarisi_z 0.923 0.020 45.331 0.000 0.923 0.927
##
## R-Square:
## Estimate
## matematg_svm_z 0.143
## mat_basarisi_z 0.073
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## indrct_rkk_JPN -0.125 0.009 -14.573 0.000 -0.125 -0.125
## indirct_kz_JPN -0.135 0.009 -14.977 0.000 -0.135 -0.132
## index_mdmd_JPN -0.010 0.010 -0.958 0.338 -0.010 -0.007
## indrct_rkk_TUR -0.072 0.008 -8.630 0.000 -0.072 -0.072
## indirct_kz_TUR -0.083 0.009 -9.244 0.000 -0.083 -0.080
## index_mdmd_TUR -0.011 0.011 -0.953 0.341 -0.011 -0.008
Sonuçlar iki ülkede de benzer bir yapıda, öğretimsel açıklık arttıkça matematiği sevme artıyor (Japonya: a = 0.360, Türkiye: a = 0.379; ikisi de p < .001). Ancak aynı model içinde (diğer değişkenleri kontrol edince) matematiği sevmenin başarıyla ilişkisi negatif çıkıyor (Japonya: b1 = -0.347, Türkiye: b1 = -0.191; ikisi de p < .001). Bu yüzden dolaylı etki de iki ülkede negatif görünüyor. Japonya’da dolaylı etki erkeklerde -0.125, kızlarda -0.135; Türkiye’de erkeklerde -0.072, kızlarda -0.083 (hepsi p < .001). Yani teknik olarak “aracılık” var ama yönü beklediğim gibi pozitif değil. Bu, verideki indekslerin yapısı, ters kodlama ihtimali ya da sevmenin başarıyla aynı yönde gitmediği bir bağlam etkisi gibi yorumlanabilir ve benim ayrıca kontrol etmem gereken bir nokta. Buna ek olarak öğretimsel açıklığın başarıya doğrudan etkisi de negatif çıkmış (Japonya: c = -0.048, Türkiye: c = -0.118; ikisi de anlamlı), yani modelde öğretimsel açıklık “başarıyı artırıyor” şeklinde değil, ters yönde ilişki veriyor. Türkiye’de bu negatif doğrudan etki Japonya’ya göre daha güçlü.
Türkiye–Japonya karşılaştırması kısmında benim çıkarımlarım; öğretimsel açıklığın matematiği sevmeyi artırma gücü iki ülkede de var ve birbirine yakın (Türkiye çok az daha yüksek). Matematiği sevme-başarı ilişkisindeki negatif yön Japonya’da daha güçlü (|-0.347| > |-0.191|), bu yüzden Japonya’da dolaylı etkinin büyüklüğü Türkiye’den daha fazla. Cinsiyetin ana etkisi her iki ülkede de küçük ama anlamlı ve negatif (Japonya: -0.070, Türkiye: -0.081), yani bu kodlamaya göre (kız=1 varsayımıyla) kızların başarı z puanı erkeklere göre biraz daha düşük görünüyor. Cinsiyetin düzenleyici rolü yokmuş; çünkü etkileşim terimi her iki ülkede de anlamsız (b3: Japonya p = .328; Türkiye p = .327) ve modere edilmiş aracılık indeksi de anlamsız (Japonya: -0.010, p = .329; Türkiye: -0.011, p = .327). Son olarak açıklanan varyansa baktığımda model, başarıyı Japonya’da daha iyi açıklıyor (R² = 0.138) ama Türkiye’de daha düşük açıklıyor (R² = 0.073). Matematiği sevme için açıklanan varyans ise iki ülkede de benzer düzeyde (Japonya R² = 0.130; Türkiye R² = 0.143)