Giriş

Bu çalışmada, TIMSS 2007 Türkiye uygulamasından elde edilen veriler kullanılarak sekizinci sınıf öğrencilerinin matematik başarısının cinsiyet, matematiğe değer verme, matematiğe yönelik tutum ve matematik öğrenmede kendine güven değişkenleriyle ne derece açıklandığı araştırılacaktır. Analizler çoklu regresyon yöntemleri ile gerçekleştirilmiştir.

library(haven)     # SPSS (.sav) dosyası okumak için
library(dplyr)     # Veri düzenlemeleri için
## 
## 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(ggplot2)   # Grafikler için
library(car)       # VIF ve Levene testi için
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
library(MVN)       # Mahalanobis mesafesi için
library(psych)     # Temel betimleyici istatistikler için
## 
## Attaching package: 'psych'
## The following object is masked from 'package:car':
## 
##     logit
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(naniar)    # Eksik veri analizi için

# Verinin yüklenmesi
data <- read_sav("bsgturm4.sav")

# Veri setinin ilk birkaç satırını görüntülenmesi
head(data)
## # A tibble: 6 × 6
##   IDSTUD BS4GSEX   BSMMAT01 BSDMPATM   BSDMSVM   BSDMSCM  
##    <dbl> <dbl+lbl>    <dbl> <dbl+lbl>  <dbl+lbl> <dbl+lbl>
## 1  10111 1 [GIRL]      709. 1 [HIGH]   1 [HIGH]   1 [HIGH]
## 2  10125 1 [GIRL]      661. 1 [HIGH]   1 [HIGH]   1 [HIGH]
## 3  20207 2 [BOY]       729. 1 [HIGH]   1 [HIGH]   1 [HIGH]
## 4  30111 2 [BOY]       802. 1 [HIGH]   1 [HIGH]   1 [HIGH]
## 5  40105 2 [BOY]       374. 3 [LOW]    1 [HIGH]  NA       
## 6  40119 1 [GIRL]      374. 2 [MEDIUM] 1 [HIGH]   3 [LOW]
# Değişken isimlerini görülmesi
names(data)
## [1] "IDSTUD"   "BS4GSEX"  "BSMMAT01" "BSDMPATM" "BSDMSVM"  "BSDMSCM"
# Veri setinin genel yapısı
str(data)
## tibble [323 × 6] (S3: tbl_df/tbl/data.frame)
##  $ IDSTUD  : num [1:323] 10111 10125 20207 30111 40105 ...
##   ..- attr(*, "label")= chr "STUDENT ID"
##   ..- attr(*, "format.spss")= chr "F8.0"
##   ..- attr(*, "display_width")= int 9
##  $ BS4GSEX : dbl+lbl [1:323] 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, ...
##    ..@ label        : chr "GEN\\SEX OF STUDENT"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 9
##    ..@ labels       : Named num [1:3] 1 2 9
##    .. ..- attr(*, "names")= chr [1:3] "GIRL" "BOY" "OMITTED"
##  $ BSMMAT01: num [1:323] 709 661 729 802 374 ...
##   ..- attr(*, "label")= chr "1ST PLAUSIBLE VALUE MATHEMATICS"
##   ..- attr(*, "format.spss")= chr "F6.2"
##   ..- attr(*, "display_width")= int 10
##  $ BSDMPATM: dbl+lbl [1:323]  1,  1,  1,  1,  3,  2,  1,  2,  1,  1,  3,  2, NA,  1...
##    ..@ label        : chr "INDEX STDS POS AFFECT TO MATH (PATM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 10
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
##  $ BSDMSVM : dbl+lbl [1:323] 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
##    ..@ label        : chr "INDEX OF STUDENTS VALUING MATH (SVM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 9
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
##  $ BSDMSCM : dbl+lbl [1:323]  1,  1,  1,  1, NA,  3,  1, NA,  2,  3,  3,  3,  3,  1...
##    ..@ label        : chr "INDEX OF SELF-CONFID LEARNING MATH (SCM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 9
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
# Değişken adlarının türkçeleştirilmesi
data <- data %>%
  rename(
    cinsiyet = BS4GSEX,
    matematik_degeri = BSDMPATM,
    matematik_tutumu = BSDMSVM,
    ogrenme_guveni = BSDMSCM,
    matematik_basari = BSMMAT01
  )

names(data)
## [1] "IDSTUD"           "cinsiyet"         "matematik_basari" "matematik_degeri"
## [5] "matematik_tutumu" "ogrenme_guveni"
# Betimleyici istatistikler (sadece bağımsız değişkenler ve bağımlı değişken için)
library(psych)

describe(data)
##                  vars   n      mean        sd    median   trimmed       mad
## IDSTUD              1 323 747825.67 440511.61 720204.00 741131.36 563032.18
## cinsiyet            2 323      1.59      1.24      2.00      1.53      0.00
## matematik_basari    3 323    446.86    119.85    432.21    443.82    122.09
## matematik_degeri    4 300      1.26      0.57      1.00      1.12      0.00
## matematik_tutumu    5 316      1.16      0.67      1.00      1.03      0.00
## ogrenme_guveni      6 302      1.72      0.80      2.00      1.65      1.48
##                       min        max      range  skew kurtosis       se
## IDSTUD           10111.00 1500466.00 1490355.00  0.12    -1.23 24510.72
## cinsiyet             1.00      22.00      21.00 13.65   221.50     0.07
## matematik_basari    47.88     802.42     754.54  0.21    -0.08     6.67
## matematik_degeri     1.00       3.00       2.00  2.08     3.11     0.03
## matematik_tutumu     1.00      11.00      10.00 10.30   140.91     0.04
## ogrenme_guveni       1.00       3.00       2.00  0.54    -1.23     0.05
# Hatalı bireyleri IDSTUD üzerinden silinmesi
data <- data %>%
  filter(!(IDSTUD == 400707 & cinsiyet == 22)) %>%  # cinsiyet hatalı olan birey
  filter(!(IDSTUD == 680204 & matematik_tutumu == 11))  # matematik tutumu hatalı olan birey

summary(data)
##      IDSTUD           cinsiyet     matematik_basari matematik_degeri
##  Min.   :  10111   Min.   :1.000   Min.   : 47.88   Min.   :1.000   
##  1st Qu.: 360414   1st Qu.:1.000   1st Qu.:366.46   1st Qu.:1.000   
##  Median : 720218   Median :2.000   Median :432.15   Median :1.000   
##  Mean   : 749118   Mean   :1.523   Mean   :446.31   Mean   :1.262   
##  3rd Qu.:1130104   3rd Qu.:2.000   3rd Qu.:535.86   3rd Qu.:1.000   
##  Max.   :1500466   Max.   :2.000   Max.   :802.42   Max.   :3.000   
##                                                     NA's   :23      
##  matematik_tutumu ogrenme_guveni 
##  Min.   :1.000    Min.   :1.000  
##  1st Qu.:1.000    1st Qu.:1.000  
##  Median :1.000    Median :2.000  
##  Mean   :1.134    Mean   :1.723  
##  3rd Qu.:1.000    3rd Qu.:2.000  
##  Max.   :3.000    Max.   :3.000  
##  NA's   :7        NA's   :21

TIMSS veri setinde, “matematiğe değer verme”, “matematiğe yönelik tutum” ve “matematik öğrenmede kendine güven” değişkenlerinde ölçekleme yönü yükseklik/düşüklük açısından ters olarak yapılandırılmıştır. Bu değişkenlerde daha düşük puanlar daha yüksek olumlu özellikleri (örneğin yüksek güven veya yüksek değer verme) temsil etmekteydi. Analizlerin anlamlı ve yorumlanabilir olması için bu değişkenlerde ters kodlama işlemi uygulanmıştır.

Ters kodlama işlemi şu şekilde gerçekleştirilmiştir:

Değişkenlerin her bir gözlem değeri 4 - x formülü kullanılarak yeniden kodlanmıştır.

Böylece, daha yüksek puanlar artık daha fazla olumlu tutum, değer verme ve öğrenme güvenini temsil etmektedir.

data <- data %>%
  mutate(
    matematik_degeri = 4 - matematik_degeri,
    matematik_tutumu = 4 - matematik_tutumu,
    ogrenme_guveni = 4 - ogrenme_guveni
  )
summary(data)
##      IDSTUD           cinsiyet     matematik_basari matematik_degeri
##  Min.   :  10111   Min.   :1.000   Min.   : 47.88   Min.   :1.000   
##  1st Qu.: 360414   1st Qu.:1.000   1st Qu.:366.46   1st Qu.:3.000   
##  Median : 720218   Median :2.000   Median :432.15   Median :3.000   
##  Mean   : 749118   Mean   :1.523   Mean   :446.31   Mean   :2.738   
##  3rd Qu.:1130104   3rd Qu.:2.000   3rd Qu.:535.86   3rd Qu.:3.000   
##  Max.   :1500466   Max.   :2.000   Max.   :802.42   Max.   :3.000   
##                                                     NA's   :23      
##  matematik_tutumu ogrenme_guveni 
##  Min.   :1.000    Min.   :1.000  
##  1st Qu.:3.000    1st Qu.:2.000  
##  Median :3.000    Median :2.000  
##  Mean   :2.866    Mean   :2.277  
##  3rd Qu.:3.000    3rd Qu.:3.000  
##  Max.   :3.000    Max.   :3.000  
##  NA's   :7        NA's   :21
# Eksik veri analizi
library(naniar)

miss_var_summary(data)
## # A tibble: 6 × 3
##   variable         n_miss pct_miss
##   <chr>             <int>    <num>
## 1 matematik_degeri     23     7.17
## 2 ogrenme_guveni       21     6.54
## 3 matematik_tutumu      7     2.18
## 4 IDSTUD                0     0   
## 5 cinsiyet              0     0   
## 6 matematik_basari      0     0
gg_miss_var(data) +
  labs(title = "Eksik Veri Görselleştirmesi")

Veri setinde özellikle “matematik_degeri” ve “ogrenme_guveni” değişkenlerinde orta seviyede (%5–7 arasında) eksik veri bulunmuştur. “matematik_tutumu” değişkenindeki eksik veri ise düşüktür (%2 civarında). Eksik veri oranı %5’in biraz üzerinde olduğundan, analizde eksik verilerin listwise deletion (eksik gözlemleri tamamen çıkarmak) veya uygun bir imputasyon yöntemi (örneğin ortalama ile doldurma veya multiple imputation) tercih edilebilir.

# Sürekli ve ordinal değişkenlerde eksik verileri ortalama ile doldurulması
data <- data %>%
  mutate(
    matematik_degeri = ifelse(is.na(matematik_degeri),
                              mean(matematik_degeri, na.rm = TRUE),
                              matematik_degeri),
    matematik_tutumu = ifelse(is.na(matematik_tutumu),
                              mean(matematik_tutumu, na.rm = TRUE),
                              matematik_tutumu),
    ogrenme_guveni = ifelse(is.na(ogrenme_guveni),
                            mean(ogrenme_guveni, na.rm = TRUE),
                            ogrenme_guveni)
    # matematik_basari için eksik veri yoktu zaten.
  )
summary(data)
##      IDSTUD           cinsiyet     matematik_basari matematik_degeri
##  Min.   :  10111   Min.   :1.000   Min.   : 47.88   Min.   :1.000   
##  1st Qu.: 360414   1st Qu.:1.000   1st Qu.:366.46   1st Qu.:2.738   
##  Median : 720218   Median :2.000   Median :432.15   Median :3.000   
##  Mean   : 749118   Mean   :1.523   Mean   :446.31   Mean   :2.738   
##  3rd Qu.:1130104   3rd Qu.:2.000   3rd Qu.:535.86   3rd Qu.:3.000   
##  Max.   :1500466   Max.   :2.000   Max.   :802.42   Max.   :3.000   
##  matematik_tutumu ogrenme_guveni 
##  Min.   :1.000    Min.   :1.000  
##  1st Qu.:3.000    1st Qu.:2.000  
##  Median :3.000    Median :2.277  
##  Mean   :2.866    Mean   :2.277  
##  3rd Qu.:3.000    3rd Qu.:3.000  
##  Max.   :3.000    Max.   :3.000

Değişkenlerde eksik veri kalmadığı görülmektedir.

Tek Değişkenli Uç Değer Analizi (Z-Skorları ile)

# Z-skorlarını hesaplayalım
data_z <- data %>%
  mutate(across(
    .cols = c(matematik_degeri, matematik_tutumu, ogrenme_guveni, matematik_basari),
    .fns = ~ scale(.) %>% as.vector()
  ))

# Uç değer kontrolü (z-skoru > |3| olanlar)
uc_degerler <- data_z %>%
  filter(if_any(
    .cols = c(matematik_degeri, matematik_tutumu, ogrenme_guveni, matematik_basari),
    ~ abs(.) > 3
  ))

# Uç değer olan satırları
uc_degerler
## # A tibble: 25 × 6
##    IDSTUD cinsiyet  matematik_basari matematik_degeri matematik_tutumu
##     <dbl> <dbl+lbl>            <dbl>            <dbl>            <dbl>
##  1  40105 2 [BOY]             -0.601           -3.15             0.351
##  2  70209 2 [BOY]              0.760           -3.15             0.351
##  3 100235 2 [BOY]             -3.32             0.474            0.351
##  4 210242 2 [BOY]              1.17             0.474           -4.90 
##  5 320306 2 [BOY]             -0.217           -3.15            -4.90 
##  6 340430 2 [BOY]              0.112           -3.15             0.351
##  7 350513 2 [BOY]             -1.27            -3.15             0.351
##  8 380338 2 [BOY]              0.759           -3.15             0.351
##  9 480119 2 [BOY]             -1.57            -3.15             0.351
## 10 500206 2 [BOY]             -0.344           -3.15             0.351
## # ℹ 15 more rows
## # ℹ 1 more variable: ogrenme_guveni <dbl>

Tek değişkenli uç değer analizi sonucunda veri setinde 25 uç gözlem tespit edilmiştir. Bu uç değerlerin büyük kısmı matematiğe değer verme ve tutum değişkenlerinde gözlemlenmiştir. Ancak uç değerlerin sayısı toplam örneklem sayısına (323) oranla küçük olsada (yaklaşık %7–8), veriden çıkarılması tercih edilmiştir.

# Z-skoru yüksek olan satırlar
uc_satirlar <- which(
  abs(data_z$matematik_degeri) > 3 |
  abs(data_z$matematik_tutumu) > 3 |
  abs(data_z$ogrenme_guveni) > 3 |
  abs(data_z$matematik_basari) > 3
)

# Uç değer satırları
data <- data[-uc_satirlar, ]

# Kontrol
dim(data)
## [1] 296   6

Uç Değerlerin Çıkarılması Sonrası Veri Yapısı

Tek değişkenli uç değer analizi sonucunda, z-skoru |3|’ün üzerinde veya altında kalan gözlemler veri setinden çıkarılmıştır. Bu işlem sonrasında, veri setinde toplam 296 gözlem ve 6 değişken kalmıştır. Uç değerlerin çıkarılması ile veri setinin uç noktalardan arındırılması sağlanmış ve model kurulumunda daha güvenilir sonuçlar elde edilebilmesi için veri hazırlanmıştır.

library(dplyr)

# 1. Sadece bağımsız değişkenler
data_bagimsiz <- data %>%
  select(matematik_degeri, matematik_tutumu, ogrenme_guveni)

# 2. Kovaryans matrisini hesaplanması
cov_mat <- cov(data_bagimsiz, use = "pairwise.complete.obs")

# 3. Ortalama vektörünü (center) hesaplanması
center <- colMeans(data_bagimsiz, na.rm = TRUE)

# 4. Mahalanobis mesafelerini hesaplanması
mahal <- mahalanobis(data_bagimsiz, center, cov_mat)

# 5. Kritik cutoff değerini belirlenmesi (%97.5 güven düzeyi, serbestlik df = değişken sayısı)
cutoff <- qchisq(0.975, df = ncol(data_bagimsiz))

# 6. Çok değişkenli uç değerleri işaretlenmesi
data$multivariate_outlier <- mahal > cutoff

# 7. Kaç tane çok değişkenli uç değer var
sum(data$multivariate_outlier, na.rm = TRUE)
## [1] 28

Çok Değişkenli Uç Değer Analizi Sonucu

Mahalanobis mesafesi yöntemi ile yapılan çok değişkenli uç değer analizi sonucunda, veri setinde toplam 28 gözlem uç değer olarak tespit edilmiştir. Bu uç değerler, %97.5 güven düzeyinde belirlenen kritik eşik değerini aşmıştır. Veri setinin yaklaşık %9.5’ini oluşturan bu gözlemler, analiz sürecinde uç değerlerin etkilerini azaltmak amacıyla çıkarılacaktır.

# Çok değişkenli uç değerlerin çıkarılması
data <- data %>%
  filter(multivariate_outlier == FALSE)

# Temizlenmiş veri setinin yeni boyutu
dim(data)
## [1] 268   7
library(ggpubr)   # Normallik testleri ve grafikler için

# Shapiro-Wilk testi her değişken için
shapiro.test(data$matematik_degeri)
## 
##  Shapiro-Wilk normality test
## 
## data:  data$matematik_degeri
## W = 0.44702, p-value < 2.2e-16
shapiro.test(data$matematik_tutumu)
## 
##  Shapiro-Wilk normality test
## 
## data:  data$matematik_tutumu
## W = 0.14493, p-value < 2.2e-16
shapiro.test(data$ogrenme_guveni)
## 
##  Shapiro-Wilk normality test
## 
## data:  data$ogrenme_guveni
## W = 0.75914, p-value < 2.2e-16
shapiro.test(data$matematik_basari)
## 
##  Shapiro-Wilk normality test
## 
## data:  data$matematik_basari
## W = 0.98802, p-value = 0.02532
# QQ plotlar çizilmesi
ggqqplot(data$matematik_degeri, title = "QQ Plot - Matematiğe Değer Verme")

ggqqplot(data$matematik_tutumu, title = "QQ Plot - Matematik Tutumu")

ggqqplot(data$ogrenme_guveni, title = "QQ Plot - Öğrenme Güveni")

ggqqplot(data$matematik_basari, title = "QQ Plot - Matematik Başarısı")

# Histogramların çizilmesi
hist(data$matematik_basari, main = "Histogram - Matematik Başarısı", col = "skyblue", xlab = "Matematik Başarı")

Veri setinde bağımsız ve bağımlı değişkenlerin normallik varsayımları Shapiro-Wilk testi ve QQ plotlar ile incelenmiştir. - Matematik değeri, matematik tutumu ve öğrenme güveni değişkenlerinde normallik varsayımı sağlanmamıştır (p < 0.001). - Matematik başarısı değişkeninde ise p-değeri 0.025 bulunmuş ve dağılım yaklaşık olarak normal kabul edilebilecek düzeydedir.

QQ plotlar ve histogramlar da benzer sonuçları desteklemektedir. Bağımsız değişkenlerdeki normallik sapmaları örneklem büyüklüğü nedeniyle regresyon analizine engel teşkil etmemektedir. Bağımlı değişkenin normalliğinin büyük ölçüde sağlanması nedeniyle çoklu regresyon analizine geçilmiştir.

Varyans Homojenliği (Levene Testi)

library(car)
library(dplyr)
library(tidyr)
library(knitr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
long_data <- data %>%
  pivot_longer(
    cols = c(matematik_degeri, matematik_tutumu, ogrenme_guveni),
    names_to = "grup",
    values_to = "puan"
  )

# Levene testi
levene_test <- leveneTest(puan ~ grup, data = long_data)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
kable(levene_test, caption = "Levene Testi Sonuçları") %>%
  kable_styling(full_width = TRUE, position = "center")
Levene Testi Sonuçları
Df F value Pr(>F)
group 2 140.5704 0
801 NA NA

Varyans homojenliği varsayımı Levene Testi ile incelenmiştir. Analiz sonucunda (F(2, 801) = 140.57, p < 0.001) grup değişkenleri arasında varyans farklılıkları tespit edilmiştir. Bu nedenle, varyans homojenliği varsayımı sağlanamamıştır. Ancak örneklem büyüklüğünün yeterli olması (n > 30) nedeniyle, çoklu regresyon analizine devam edilmiştir. Elde edilen sonuçlar yorumlanırken bu durum dikkate alınmıştır.

Değişkenler Arası Korelasyon Analizi

library(ggcorrplot)

# Korelasyon matrisi oluşturulması
correlation_matrix <- cor(data[, c("matematik_degeri", "matematik_tutumu", "ogrenme_guveni", "matematik_basari")], 
                          use = "pairwise.complete.obs")

# Korelasyon matrisi görselleştirilmesi
ggcorrplot(correlation_matrix,
           method = "circle",
           type = "lower",
           lab = TRUE,
           title = "Korelasyon Matrisi",
           colors = c("red", "white", "blue"),
           tl.cex = 12,
           tl.col = "black") +
  theme(plot.title = element_text(hjust = 0.5))

Bağımlı ve bağımsız değişkenler arasında yapılan korelasyon analizi sonucunda, değişkenler arasında yüksek düzeyde korelasyon (r > 0.8) bulunmamıştır. Bu nedenle çoklu bağlantı (multicollinearity) problemi gözlenmemiştir. Özellikle öğrenme güveni ile matematik başarısı arasında orta düzeyde bir ilişki (r = 0.50) olduğu belirlenmiştir. Diğer değişkenler arasındaki ilişkiler ise zayıf düzeydedir (r < 0.3).

Çoklu Bağlantılılık

library(car)

# Çoklu doğrusal regresyon modeli 
model1 <- lm(matematik_basari ~ cinsiyet + matematik_degeri + matematik_tutumu + ogrenme_guveni, data = data)

# VIF değerlerinin hesaplanması
vif_degerleri <- vif(model1)
vif_degerleri
##         cinsiyet matematik_degeri matematik_tutumu   ogrenme_guveni 
##         1.002149         1.055650         1.005082         1.058190
# Tolerans değerlerini hesaplanması 
tolerans_degerleri <- 1/vif_degerleri
tolerans_degerleri
##         cinsiyet matematik_degeri matematik_tutumu   ogrenme_guveni 
##        0.9978560        0.9472834        0.9949440        0.9450095

Çoklu doğrusal regresyon modelinde değişkenler arasında çoklu bağlantılılık (multicollinearity) problemi olup olmadığı incelenmiştir. VIF değerleri 10’un altında ve Tolerans değerleri 0.1’in üzerinde bulunmuştur. Bu sonuçlar, modelde çoklu bağlantılılık problemi olmadığını göstermektedir.

Regresyon Analizi

# Başlangıç modeli (full model)
full_model <- lm(matematik_basari ~ cinsiyet + matematik_degeri + matematik_tutumu + ogrenme_guveni, data = data)

# Stepwise model seçimi (both direction)
best_model <- step(full_model, direction = "both")
## Start:  AIC=2483.8
## matematik_basari ~ cinsiyet + matematik_degeri + matematik_tutumu + 
##     ogrenme_guveni
## 
##                    Df Sum of Sq     RSS    AIC
## <none>                          2734793 2483.8
## - matematik_degeri  1     24637 2759430 2484.2
## - cinsiyet          1     40731 2775524 2485.8
## - matematik_tutumu  1     95190 2829983 2491.0
## - ogrenme_guveni    1    822816 3557609 2552.3
# En iyi modelin özeti
summary(best_model)
## 
## Call:
## lm(formula = matematik_basari ~ cinsiyet + matematik_degeri + 
##     matematik_tutumu + ogrenme_guveni, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -233.05  -65.95   -7.45   68.19  283.11 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -2507.897    876.732  -2.861  0.00457 ** 
## cinsiyet            24.683     12.472   1.979  0.04884 *  
## matematik_degeri    30.768     19.989   1.539  0.12495    
## matematik_tutumu   885.677    292.727   3.026  0.00273 ** 
## ogrenme_guveni      76.170      8.563   8.895  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 102 on 263 degrees of freedom
## Multiple R-squared:  0.2961, Adjusted R-squared:  0.2854 
## F-statistic: 27.66 on 4 and 263 DF,  p-value: < 2.2e-16

Çoklu Doğrusal Regresyon Sonuçları

İlk olarak tüm bağımsız değişkenlerin dahil olduğu bir çoklu doğrusal regresyon modeli kurulmuştur (normal model). Bu modelde cinsiyet, matematiğe değer verme, matematik tutumu ve öğrenme güveni değişkenleri matematik başarısını yordamada kullanılmıştır.

Daha sonra aşamalı regresyon (stepwise regression) yöntemi uygulanarak, modele anlamlı katkı yapmayan değişkenlerin model dışı bırakılması veya modele katkı sağlayan değişkenlerin eklenmesi ile en iyi model seçilmiştir.

Yapılan aşamalı regresyon sonucunda; - Matematik başarısının anlamlı bir şekilde cinsiyet, matematik tutumu ve öğrenme güveni değişkenleri tarafından yordandığı bulunmuştur. - Matematiğe değer verme değişkeninin ise modele anlamlı katkı sağlamadığı görülmüştür (p > 0.05).

Model karşılaştırmaları sonucunda, aşamalı regresyonla seçilen modelin: - AIC değerinin daha düşük olduğu, - Modele yalnızca anlamlı değişkenlerin dahil edildiği, - Açıklayıcılığının (R² değeri yaklaşık %29) makul düzeyde olduğu belirlenmiştir.

Sonuç olarak, aşamalı regresyon modeli, matematik başarısını en iyi yordayan ve daha parsimonious (sade ve etkili) bir model olarak seçilmiştir.

Aşamalı regresyon sonucunda, matematik başarısını yordamada cinsiyet, matematiğe yönelik tutum ve öğrenme güveni değişkenlerinin anlamlı katkı sağladığı bulunmuştur. Matematiğe değer verme değişkeni ise istatistiksel olarak anlamlı bulunmamıştır (p > 0.05). Kurulan model matematik başarısındaki varyansın yaklaşık %29’unu açıklamaktadır (R² = 0.2961). Model genel olarak anlamlıdır (F(4, 263) = 27.66, p < 0.001).

library(mediation)
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
## Loading required package: mvtnorm
## Loading required package: sandwich
## mediation: Causal Mediation Analysis
## Version: 4.5.0
## 
## Attaching package: 'mediation'
## The following object is masked from 'package:psych':
## 
##     mediate
# 1. Aracı değişken modeli (mediatör modeli)
med_model <- lm(matematik_tutumu ~ ogrenme_guveni, data = data)

# 2. Ana model (bağımlı değişken modeli)
out_model <- lm(matematik_basari ~ ogrenme_guveni + matematik_tutumu, data = data)

# 3. Mediation testi
mediation_result <- mediate(med_model, out_model, treat = "ogrenme_guveni", mediator = "matematik_tutumu", boot = TRUE, sims = 1000)
## Running nonparametric bootstrap
# 4. Sonucu göster
summary(mediation_result)
## 
## Causal Mediation Analysis 
## 
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
## 
##                Estimate 95% CI Lower 95% CI Upper p-value    
## ACME           1.42e+00     4.03e-02         3.62   0.026 *  
## ADE            7.98e+01     6.44e+01        95.89  <2e-16 ***
## Total Effect   8.12e+01     6.57e+01        97.11  <2e-16 ***
## Prop. Mediated 1.75e-02     5.34e-04         0.05   0.026 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Sample Size Used: 268 
## 
## 
## Simulations: 1000

Bu çalışmada, öğrenme güveni değişkeninin, matematik tutumu ile matematik başarısı arasındaki ilişkiyi aracılık yoluyla etkileyip etkilemediği test edilmiştir. Aracılık analizi, mediation paketi kullanılarak ve bootstrap yöntemi (1000 tekrar) ile gerçekleştirilmiştir. İlk adımda, öğrenme güveni bağımsız değişken, matematik tutumu aracı değişken, matematik başarısı ise bağımlı değişken olarak modellenmiştir.

Mediation analizi sonuçlarına göre, öğrenme güveninin matematik başarısı üzerindeki dolaylı etkisi (ACME = 1.42, p = 0.026) ve doğrudan etkisi (ADE = 79.8, p < 0.001) anlamlı bulunmuştur. Toplam etki (81.22, p < 0.001) anlamlı olup, dolaylı etkinin büyüklüğü (%4) düşük düzeyde olup, esas etkinin doğrudan yoldan geldiği görülmektedir. Elde edilen sonuçlara göre, öğrenme güveni değişkeninin matematik tutumu üzerindeki etkisi kısmi bir aracılık göstermektedir. Sonuç olarak, öğrenme güveni, matematik tutumu yoluyla matematik başarısını anlamlı şekilde etkilemektedir; fakat bu etki sınırlı düzeydedir.

Yol Şeması

library(lavaan)
## This is lavaan 0.6-19
## lavaan is FREE software! Please report any bugs.
## 
## Attaching package: 'lavaan'
## The following object is masked from 'package:psych':
## 
##     cor2cov
library(lavaanPlot)
# Mediation modeli tanımı
model_text <- '
  matematik_tutumu ~ ogrenme_guveni
  matematik_basari ~ ogrenme_guveni + matematik_tutumu
'

# Modeli kur
fit_mediation <- sem(model_text, data = data)
## Warning: lavaan->lav_data_full():  
##    some observed variances are (at least) a factor 1000 times larger than 
##    others; use varTable(fit) to investigate
# Yol şeması çizimi
lavaanPlot(
  model = fit_mediation,
  coefs = TRUE,       # katsayıları göster
  stand = TRUE,       # standartlaştırılmış katsayıları kullan
  sig = 0.05          # sadece p < 0.05 olan yolları göster
)

Bu yol şeması, öğrenme güveninin hem doğrudan hem de dolaylı yollarla matematik başarısını nasıl etkilediğini göstermektedir. Öğrenme güveni, matematik tutumunu olumlu yönde etkilemekte (β = 0.50), matematik tutumu ise doğrudan matematik başarısını artırmaktadır (β = 0.16). Bu bulgular, öğrenme güveninin yalnızca doğrudan değil, aynı zamanda matematik tutumu aracılığıyla dolaylı bir etkiye sahip olduğunu ortaya koymaktadır.

# Adım 1: Değişkenleri merkeze alalım
data <- data %>%
  mutate(
    tutum_centered = scale(matematik_tutumu, center = TRUE, scale = FALSE),
    guven_centered = scale(ogrenme_guveni, center = TRUE, scale = FALSE)
  )

# Adım 2: Etkileşim değişkenini oluşturalım
data <- data %>%
  mutate(
    interaction_term = tutum_centered * guven_centered
  )
# Moderasyon modeli
moderasyon_modeli <- lm(matematik_basari ~ tutum_centered + guven_centered + interaction_term, data = data)

# Modelin özetine bakalım
summary(moderasyon_modeli)
## 
## Call:
## lm(formula = matematik_basari ~ tutum_centered + guven_centered + 
##     interaction_term, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -243.187  -71.399   -2.239   63.860  296.978 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       449.853      6.313  71.254  < 2e-16 ***
## tutum_centered    996.932    338.840   2.942  0.00355 ** 
## guven_centered     78.798      8.541   9.226  < 2e-16 ***
## interaction_term  437.356    653.967   0.669  0.50422    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 102.9 on 264 degrees of freedom
## Multiple R-squared:  0.2804, Adjusted R-squared:  0.2723 
## F-statistic:  34.3 on 3 and 264 DF,  p-value: < 2.2e-16

Matematik tutumu (tutum_centered) ve öğrenme güveni (guven_centered) doğrudan matematik başarısını anlamlı bir şekilde yorduyor. Yapılan moderasyon analizi sonucunda, hem matematik tutumu (tutum_centered) hem de öğrenme güveni (guven_centered) değişkenlerinin matematik başarısı üzerinde anlamlı ve pozitif etkiler gösterdiği bulunmuştur (p < .01). Ancak, matematik tutumu ile öğrenme güveni arasındaki etkileşim terimi (interaction_term) anlamlı bulunmamıştır (p = .502). Bu sonuç, öğrenme güveninin matematik tutumu ile matematik başarısı arasındaki ilişkiyi düzenleyici bir rol oynamadığını, yani moderatör etkisinin olmadığını göstermektedir. Diğer bir deyişle, öğrenme güveni düzeyi farklı olsa da matematik tutumu ile matematik başarısı arasındaki ilişki değişmemektedir. Model genel olarak anlamlı bulunmuş ve açıklanan varyans oranı (R²) %28 olarak hesaplanmıştır.