library(haven)
library(dplyr)
library(knitr)
library(ggplot2)
library(tidyr)
library(naniar)
library(summarytools)
Başlangıç olarak veri setini yükleyelim. Bu veri seti TIMSS2023 Türkiye, öğrenci örneklemine ait verileri içermektedir. Veri setinden seçilen bazı maddeler şu şekildedir:
ASBGDML Disorderly Behavior during Math Lessons/SCL
ASBGICM Instructional Clarity in Mathematics Lessons/SCL
ASBGSLM Students Like Learning Mathematics/SCL
ASBGSCM Students Confident in Mathematics/SCL
ASBGHRL Home Resources for Learning/SCL
ASBGSEC Digital Self-Efficacy/SCL
Değişkenlerin tamamı süreklidir.
load("asgturm8.Rdata")
data <- asgturm8 %>%
select(ASBGDML,
ASBGICM,
ASBGSLM,
ASBGSCM,
ASBGHRL,
ASBGSEC) %>%
rename(DISBEHMATH = ASBGDML,
INSCLEAR = ASBGICM,
LIKEMATH = ASBGSLM,
CONFIDENCEMATH = ASBGSCM,
HOMERESOURCES = ASBGHRL,
DIGITALSEFFICACY = ASBGSEC) %>%
expss::drop_var_labs() %>%
mutate(across(everything(), ~ ifelse(. %in% c(8, 9, 999999), NA, .)))
knitr::kable(miss_var_summary(data),caption = "Kayıp Verilerin Özeti")
variable | n_miss | pct_miss |
---|---|---|
HOMERESOURCES | 331 | 7.29 |
CONFIDENCEMATH | 94 | 2.07 |
INSCLEAR | 88 | 1.94 |
LIKEMATH | 55 | 1.21 |
DISBEHMATH | 53 | 1.17 |
DIGITALSEFFICACY | 45 | 0.991 |
mcar_test(data)
## # A tibble: 1 × 4
## statistic df p.value missing.patterns
## <dbl> <dbl> <dbl> <int>
## 1 172. 96 0.00000283 29
data <- na.omit(data)
Kayıp veriler incelenmiş ve veri setinde rastgele kayıp veriden farklılaştığı tespit edilmiştir. Öğrenme günlüğü kapsamında ele alınan değişkenler için kayıp veri oranları 0% ile 0% arasında değişmektedir. Kayıp veriler liste bazlı silinmiştir.
Tek değişenkli uç değerler, z-puanı [-3,3] kriterine göre incelenmiştir.
library(outliers)
z_scores <- data %>%
scores(type = "z") %>% round(2)
descr(z_scores,stats = c("min","max"),transpose = T,headings = F) %>% kable(.,caption = "Z Puanlarına Göre Uç Değerler")
Min | Max | |
---|---|---|
CONFIDENCEMATH | -2.94 | 2.11 |
DIGITALSEFFICACY | -4.07 | 1.66 |
DISBEHMATH | -1.98 | 2.85 |
HOMERESOURCES | -3.68 | 2.81 |
INSCLEAR | -4.17 | 1.00 |
LIKEMATH | -3.05 | 1.23 |
DIGITALSEFFICACY, HOMERESOURCES, INSCLEAR ve LIKEMATH değişkenlerinde uç değerler olduğu görülmektedir.[-3,3] aralığında olmayan gözlemler uç değer olarak kabul edilmiştir olup veri setindne çıkarılmıştır.
z_scores <- scale(data)
out_z <- which(apply(abs(z_scores), 1, max) > 3)
data_nooutlier <- data[-out_z, ]
4050 kişilik veri setinde uç değerlerin çıkarılması sonucunda 3951 kişilik veri seti elde edilmiştir. Çok değişkenli uç değer analizi bu veri seti üzerinden yapılacaktır.
library(psych)
veri <- data_nooutlier
md <- mahalanobis(veri,center = colMeans(veri), cov = cov(veri))
alpha = 0.001
cutoff <- qchisq(p = 1-alpha,df = ncol(veri))
ucdegerler <- which(md > cutoff)
veri_noout <- veri[-(ucdegerler),]
Çok değişkenli uç değerler Mahalanobis Uzaklığına göre (p < 0.001) belirlenmiştir. 9 çok değişkenli uç değer veri setinden çıkarılmıştır.
Bu öğrenme günlüğü kapsamında öğrencilerin dijital özyeterliği (DIGITALSEFFICACY) bağımlı değişken (yordanan); öğrencilerin algıladığı matematik dersleri sırasındaki kuralsız davranışların düzeyi (DISBEHMATH), öğrencilerin evdeki öğrenme kaynakları (HOMERESOURCES), öğrencilerin matematik derslerindeki özgüveni (CONFIDENCEMATH), öğrencilerin matematik derslerindeki öğrenme isteği (LIKEMATH) ve öğrencilerin algıladığı matematik derslerindeki öğretim netliği (INSCLEAR) bağımsız değişkenler (yordayıcılar) olarak ele alınmıştır.
library(ggcorrplot)
pmat <- cor_pmat(x = veri_noout, method = "pearson", p = 0.001)
ggcorrplot(cor(veri_noout),lab = T, method = "circle", title = "Değişkenler Arasındaki Korelasyon", p.mat = pmat)
Dijital özyeterlik ile diğer değişkenler arasındaki korelasyonlar incelenmiştir. İstatistiksel olarak anlamlı olmayan (p < 0.05) korelasyonlar “X” ile işaretlenmiştir. Bağımlı değişken olan dijital özyeterlik ile öğrencilerin matematik dersinde algıladıkları kuralsız davranışlar arasında istatistiksel olarak anlamlı düzeyde ilişki bulunmamaktadır. Diğer değişkenler ile dijital özyeterlik arasındaki korelasyon katsayıları 0.19 ile 0.32 arasında değişmektedir. İstatistiksel olarak anlamlı düzeyde ilişki bulunmayan “DISBEHMATH” değişkeni çoklu regresyon analizine dahil edilmeyecektir.
library(broom)
model <- lm(DIGITALSEFFICACY ~ INSCLEAR + LIKEMATH + CONFIDENCEMATH + HOMERESOURCES,data = veri_noout)
df <- data.frame(
"R" = sqrt(glance(model)[,1]), #r.squared değerinin karekoku alınır
"Rsquare" = glance(model)[,1],
"Adj Rsquare" = glance(model)[,2],
check.names = F)
kable(df)
r.squared | r.squared | adj.r.squared |
---|---|---|
0.4040778 | 0.1632788 | 0.1624287 |
R değeri ~ 0.40 olan çoklu regresyon modeli oluşturulmuştur. Bu modelde bağımsız değişkenlerin toplam varyansın ~%16’sını açıkladığı görülmektedir.
model_s <- augment(model,data = veri_noout)
cor(model_s[,6], model_s[,7])
## .fitted
## DIGITALSEFFICACY 0.4040778
model_fit <- glance(model)[,4:6]
kable(model_fit)
statistic | p.value | df |
---|---|---|
192.0678 | 0 | 4 |
\(F\) istatistiği ve \(p\) değeri ile modelin anlamlılığı test edilmiştir. Modelin anlamlı olduğu görülmektedir (\(F\) = 192.07, \(sd\) = 4, \(p\) < 0.001).
library(QuantPsyc)
lm.beta(model) %>% kable(digit=3)
x | |
---|---|
INSCLEAR | 0.192 |
LIKEMATH | 0.060 |
CONFIDENCEMATH | 0.049 |
HOMERESOURCES | 0.289 |
Ev kaynakları en önemli yordayıcı olarak öne çıkmaktadır.
pear <- cor(model_s[,6], model_s[,7],method = "pearson")
spearman <- cor(model_s[,6], model_s[,7],method = "spearman")
pear - spearman
## .fitted
## DIGITALSEFFICACY 0.0102964
Bireylerin sıra farkları arasındaki korelasyon katsayısı Pearson ve Spearman korelasyon katsayıları arasında 0.01 fark bulunmaktadır. Sanırım bunun pek de bir önemi yok. Kritik olan bireyin puanının yeterince iyi tahmin edilip edilmediği, bu nedenle R, \(R^2\) ve \(Adj R^2\) değerlerine odaklanmak daha mantıklı. Bu tip analizlerde odaklandığımız nokta birey puanından veya sırasından ziyade değişkenlerin yordanan değişkeni açıklama oranıdır.