library(lavaan)
library(semPlot)
library(semoutput)
library(dplyr)
# Sütun sırası: Doğal(1-6), Bedensel(7-10), Uzamsal(11-13), Müziksel(14-15), Mantıksal(16-18), Dilsel(19-21)
cor_matrix_str <- "
1
.401 1
.397 .555 1
.424 .441 .620 1
.593 .485 .573 .690 1
.594 .513 .632 .712 .797 1
.232 .191 .180 .155 .241 .182 1
.143 .214 .120 .119 .155 .110 .496 1
-.042 .049 -.011 -.090 -.095 -.099 .306 .356 1
.272 .256 .224 .282 .323 .342 .285 .310 .124 1
.251 .117 .161 .243 .333 .236 .279 .254 .052 .351 1
.271 .133 .103 .201 .344 .249 .239 .248 .036 .346 .743 1
.252 .102 .178 .260 .346 .238 .271 .256 -.003 .298 .713 .714 1
.053 .051 .072 .102 .025 .049 .049 .106 .094 .063 .101 .029 .075 1
.109 .081 .158 .130 .159 .159 .253 .235 .190 .153 .147 .113 .134 .569 1
.280 .006 .057 .235 .402 .283 .316 .252 .017 .307 .555 .515 .500 .115 .298 1
.103 .200 .131 .116 .143 .123 .122 .180 .074 .206 .230 .189 .149 .127 .162 .075 1
.185 .075 .107 .212 .302 .209 .184 .236 .152 .286 .499 .420 .384 .135 .227 .466 .465 1
.186 .082 .127 .215 .315 .218 .191 .222 .103 .273 .481 .437 .408 .141 .178 .477 .434 .674 1
.161 .055 .098 .138 .166 .153 .156 .192 .013 .132 .170 .203 .154 .080 .123 .180 .075 .130 .119 1
.217 .112 .219 .239 .189 .201 .168 .142 .053 .149 .094 .145 .159 .121 .162 .131 .075 .092 .097 .676 1
"
# String halindeki matrisi lavaan fonksiyonu ile R matrisine çevirme
castejon_cov <- getCov(cor_matrix_str, names = paste0("v", 1:21))
# Örneklem büyüklüğü
n_obs <- 339
model_1 <- '
dogal =~ v1 + v2 + v3 + v4 + v5 + v6
bedensel =~ v7 + v8 + v9 + v10
uzamsal =~ v11 + v12 + v13
muziksel =~ v14 + v15
mantiksal =~ v16 + v17 + v18
dilsel =~ v19 + v20 + v21
'
# Modelin çalıştırılması
fit_1 <- cfa(model_1, sample.cov = castejon_cov, sample.nobs = n_obs)
#Uyum indekslerinin elde edilmesi
fitmeasures(fit_1,fit.measures = c("chisq" ,"df" , "pvalue","cfi","tli","rmsea","rmsea.ci.lower",
"rmsea.ci.upper","srmr"))
## chisq df pvalue cfi tli
## 663.506 174.000 0.000 0.844 0.812
## rmsea rmsea.ci.lower rmsea.ci.upper srmr
## 0.091 0.084 0.099 0.106
# Yükleri ve modeli görselleştirmek
semPaths(fit_1, what="std", style="lisrel", layout="tree", residuals = TRUE, rotation = 2)
YORUM: Test edilen 6 faktörlü modelin uyum indeksleri incelendiğinde, ki-kare/sd oranı = 3.812 kabul edilebilir sınırlar içinde ama, CFI (0.844) ve TLI (0.812) değerlerinin 0.90 sınırının altında kaldığı, RMSEA (0.091) ve SRMR (0.106) değerlerinin ise kabul edilebilir maksimum hata sınırlarının üzerinde olduğu görülmüştür. Tüm bu sonuçlara göre, altı faktörlü modelin veriye yeterince iyi bir uyum sağlamadığı sonucuna varılmıştır.
model_2 <- '
dogal =~ v1 + v2 + v3 + v4 + v5 + v6
bedensel =~ v7 + v8 + v9 + v10
uzamsal =~ v11 + v12 + v13
muziksel =~ v14 + v15
mantiksal =~ v16 + v17 + v18
dilsel =~ v19 + v20 + v21
# İkinci düzey genel faktör
genel_z =~ dogal + bedensel + uzamsal + muziksel + mantiksal + dilsel
'
# Modelin çalıştırılması
fit_2 <- cfa(model_2, sample.cov = castejon_cov, sample.nobs = n_obs)
#Uyum indekslerinin elde edilmesi
fitmeasures(fit_2,fit.measures = c("chisq" ,"df" , "pvalue","cfi","tli","rmsea","rmsea.ci.lower",
"rmsea.ci.upper","srmr"))
## chisq df pvalue cfi tli
## 698.148 183.000 0.000 0.836 0.811
## rmsea rmsea.ci.lower rmsea.ci.upper srmr
## 0.091 0.084 0.098 0.110
# Yükleri ve modeli görselleştirmek
semPaths(fit_2, what="std", style="lisrel", layout="tree", residuals = TRUE, rotation = 2)
Yorum: Altı zeka boyutunun tek bir genel zeka (g) faktörü altında toplandığı ikinci dereceli altı faktörlü model test edilmiştir. Uyum indeksleri incelendiğinde, kikare/df oranı (3.815) kabul edilebilir sınırlar içinde ama CFI (0.836), TLI (0.811), RMSEA (0.091) ve SRMR (0.110) değerlerinin tamamı kabul edilebilir uyum eşiklerinin dışında kalmıştır. Ayrıca bu değerler, birinci düzey temel model (Model 1) ile kıyaslandığında uyumun iyileşmediğini, aksine bir miktar daha kötüleştiğini göstermiştir (CFI 0.844’ten 0.836’ya düşmüş, SRMR 0.106’dan 0.110’a çıkmıştır). Sonuç olarak, bu 6 zeka boyutunun arkasında yatan yapıyı açıklamak için tek bir genel ‘g’ faktörünün istatistiksel ve teorik olarak yetersiz kaldığı görülmüştür.
# (Bilişsel vs. Bilişsel Olmayan)
model_3 <- '
dogal =~ v1 + v2 + v3 + v4 + v5 + v6
bedensel =~ v7 + v8 + v9 + v10
uzamsal =~ v11 + v12 + v13
muziksel =~ v14 + v15
mantiksal =~ v16 + v17 + v18
dilsel =~ v19 + v20 + v21
# İkinci düzey faktörler
bilissel =~ mantiksal + dilsel + uzamsal + dogal
bilissel_olmayan =~ muziksel + bedensel
# İki genel faktör arası korelasyon
bilissel ~~ bilissel_olmayan
'
# Modelin çalıştırılması
fit_3 <- cfa(model_3, sample.cov = castejon_cov, sample.nobs = n_obs)
#Uyum indekslerinin elde edilmesi
fitmeasures(fit_3,fit.measures = c("chisq" ,"df" , "pvalue","cfi","tli","rmsea","rmsea.ci.lower",
"rmsea.ci.upper","srmr"))
## chisq df pvalue cfi tli
## 688.071 182.000 0.000 0.839 0.814
## rmsea rmsea.ci.lower rmsea.ci.upper srmr
## 0.091 0.083 0.098 0.110
# Yükleri ve modeli görselleştirmek
semPaths(fit_3, what="std", style="lisrel", layout="tree", residuals = TRUE, rotation = 2)
Yorum: Üçüncü aşamada, zeka boyutlarının ‘bilişsel’ (mantıksal, dilsel, uzamsal, doğal) ve ‘bilişsel olmayan’ (müziksel, bedensel) olmak üzere iki ilişkili ikinci düzey faktör altında toplandığı model test edilmiştir. Model uyum indeksleri incelendiğinde,kikare/df oranı (3.78) uygun görünse de, temel uyum indeksleri olan CFI (0.839), TLI (0.814), RMSEA (0.091) ve SRMR (0.110) değerlerinin tümü kabul edilebilir sınırların dışında yer almıştır. Model 2’ye kıyasla RMSEA ve SRMR hiç değişmemiş, CFI 0.003 artmış, pratik olarak fark yoktur, yapıyı bilişsel ve bilişsel olmayan şeklinde ikiye ayırmanın da veriye kabul edilebilir bir uyum sağlamadığı sonucuna ulaşılmıştır.
#Tüm maddeler hem spesifik alt boyutlara hem de doğrudan genel zeka (g) faktörüne yüklenir.
#Faktörler arası korelasyonlar sıfırdır (orthogonal).
model_4 <- '
# Spesifik faktörler
dogal =~ v1 + v2 + v3 + v4 + v5 + v6
bedensel =~ v7 + v8 + v9 + v10
uzamsal =~ v11 + v12 + v13
muziksel =~ v14 + v15
mantiksal =~ v16 + v17 + v18
dilsel =~ v19 + v20 + v21
# Genel faktör
g =~ v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21
'
# Modelin çalıştırılması
fit_4 <- cfa(model_4,
sample.cov = castejon_cov,
sample.nobs = n_obs,
orthogonal = TRUE,
std.lv = TRUE) # Gizil değişken varyanslarını 1'e eşitler
#Uyum indekslerinin elde edilmesi
fitmeasures(fit_4,fit.measures = c("chisq" ,"df" , "pvalue","cfi","tli","rmsea","rmsea.ci.lower",
"rmsea.ci.upper","srmr"))
## chisq df pvalue cfi tli
## 354.825 168.000 0.000 0.940 0.926
## rmsea rmsea.ci.lower rmsea.ci.upper srmr
## 0.057 0.049 0.066 0.064
# Yükleri ve modeli görselleştirmek
semPaths(fit_4, what="std", style="lisrel", layout="tree", residuals = TRUE, rotation = 2)
Yorum:
Dördüncü ve son aşamada, göstergelerin hem kendi spesifik zeka alanlarına (doğal, bedensel vb.) hem de genel bir zeka (g) faktörüne doğrudan bağlandığı İkili Faktörlü (Bi-factor) model test edilmiştir. Uyum indeksleri incelendiğinde; kikare df oranının 2.11’e düştüğü, CFI (0.940) ve TLI (0.926) değerlerinin kabul edilebilir eşik olan 0.90’ı aştığı görülmüştür. Ayrıca RMSEA değeri 0.057’ye ve SRMR değeri 0.064’e gerileyerek kabul edilebilir sınırlarının içine girmiştir.
AIC(fit_1, fit_2, fit_3, fit_4)
BIC(fit_1, fit_2, fit_3, fit_4)
Sonuç: Model 1 (Altı Faktörlü), Model 2 (İkinci Dereceli g faktörü) ve Model 3 (İki İlişkili Genel Faktör) veriye zayıf uyum sağlarken, Bi-factor model (Model 4) test edilen dört model arasında en iyi uyum indekslerine sahip olan modeldir. Ayrıca, Model 4, (Bi-factor model), en düşük AIC (17317.08) ve en düşük BIC (17558.12) değerlerine de sahiptir.
library(lavaan)
library(dplyr)
mot <- readRDS("~/Documents/R PROJECTS/OLC 733/mot.Rds")
# İki faktörlü modelin tanımlanması
mot_model <- '
# Dışsal Motivasyon
dis_mot =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 + ext7 + ext8 + ext9 + ext10 + ext11 + ext12
# İçsel Motivasyon
ic_mot =~ int1 + int2 + int3 + int4 + int5
'
# 3. Modelin Test Edilmesi (Kategorik veri ayarlarıyla)
# ordered = TRUE argümanı, lavaan'a değişkenlerin kategorik olduğunu söyler.
# Böylece tetrakorik korelasyonlar hesaplanır ve DWLS/WLSMV yöntemi kullanılır.
fit_mot_1 <- cfa(mot_model, data = mot, ordered = TRUE)
# Sonuçların incelenmesi
summary(fit_mot_1, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 42 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 35
##
## Used Total
## Number of observations 794 852
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 492.422 464.935
## Degrees of freedom 118 118
## P-value (Unknown) NA 0.000
## Scaling correction factor 1.136
## Shift parameter 31.654
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 4421.778 3011.080
## Degrees of freedom 136 136
## P-value NA 0.000
## Scaling correction factor 1.491
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.913 0.879
## Tucker-Lewis Index (TLI) 0.899 0.861
##
## Robust Comparative Fit Index (CFI) NA
## Robust Tucker-Lewis Index (TLI) NA
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.063 0.061
## 90 Percent confidence interval - lower 0.058 0.055
## 90 Percent confidence interval - upper 0.069 0.067
## P-value H_0: RMSEA <= 0.050 0.000 0.001
## P-value H_0: RMSEA >= 0.080 0.000 0.000
##
## Robust RMSEA NA
## 90 Percent confidence interval - lower NA
## 90 Percent confidence interval - upper NA
## P-value H_0: Robust RMSEA <= 0.050 NA
## P-value H_0: Robust RMSEA >= 0.080 NA
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.119 0.119
##
## Parameter Estimates:
##
## Parameterization Delta
## Standard errors Robust.sem
## Information Expected
## Information saturated (h1) model Unstructured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dis_mot =~
## ext1 1.000 0.391 0.391
## ext2 1.018 0.173 5.881 0.000 0.398 0.398
## ext3 0.529 0.148 3.562 0.000 0.207 0.207
## ext4 1.494 0.263 5.684 0.000 0.585 0.585
## ext5 0.181 0.175 1.034 0.301 0.071 0.071
## ext6 0.419 0.173 2.425 0.015 0.164 0.164
## ext7 1.422 0.208 6.846 0.000 0.557 0.557
## ext8 2.045 0.274 7.470 0.000 0.801 0.801
## ext9 1.893 0.273 6.930 0.000 0.741 0.741
## ext10 1.577 0.229 6.899 0.000 0.617 0.617
## ext11 2.030 0.276 7.363 0.000 0.794 0.794
## ext12 1.835 0.250 7.330 0.000 0.718 0.718
## ic_mot =~
## int1 1.000 0.821 0.821
## int2 0.924 0.066 14.092 0.000 0.758 0.758
## int3 0.997 0.050 19.793 0.000 0.818 0.818
## int4 0.906 0.057 15.980 0.000 0.744 0.744
## int5 1.100 0.050 21.863 0.000 0.903 0.903
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dis_mot ~~
## ic_mot 0.047 0.017 2.744 0.006 0.148 0.148
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ext1|t1 0.041 0.045 0.922 0.356 0.041 0.041
## ext2|t1 0.584 0.047 12.327 0.000 0.584 0.584
## ext3|t1 0.493 0.047 10.591 0.000 0.493 0.493
## ext4|t1 1.541 0.070 21.954 0.000 1.541 1.541
## ext5|t1 -1.128 0.056 -19.964 0.000 -1.128 -1.128
## ext6|t1 -1.059 0.055 -19.296 0.000 -1.059 -1.059
## ext7|t1 0.242 0.045 5.386 0.000 0.242 0.242
## ext8|t1 1.042 0.055 19.122 0.000 1.042 1.042
## ext9|t1 1.481 0.068 21.880 0.000 1.481 1.481
## ext10|t1 0.622 0.048 13.016 0.000 0.622 0.622
## ext11|t1 1.048 0.055 19.180 0.000 1.048 1.048
## ext12|t1 0.013 0.045 0.284 0.777 0.013 0.013
## int1|t1 -0.657 0.048 -13.632 0.000 -0.657 -0.657
## int2|t1 -1.242 0.060 -20.865 0.000 -1.242 -1.242
## int3|t1 0.194 0.045 4.324 0.000 0.194 0.194
## int4|t1 -0.873 0.051 -17.028 0.000 -0.873 -0.873
## int5|t1 -0.272 0.045 -6.022 0.000 -0.272 -0.272
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ext1 0.847 0.847 0.847
## .ext2 0.841 0.841 0.841
## .ext3 0.957 0.957 0.957
## .ext4 0.658 0.658 0.658
## .ext5 0.995 0.995 0.995
## .ext6 0.973 0.973 0.973
## .ext7 0.690 0.690 0.690
## .ext8 0.359 0.359 0.359
## .ext9 0.451 0.451 0.451
## .ext10 0.619 0.619 0.619
## .ext11 0.369 0.369 0.369
## .ext12 0.484 0.484 0.484
## .int1 0.327 0.327 0.327
## .int2 0.425 0.425 0.425
## .int3 0.331 0.331 0.331
## .int4 0.447 0.447 0.447
## .int5 0.185 0.185 0.185
## dis_mot 0.153 0.038 3.984 0.000 1.000 1.000
## ic_mot 0.673 0.051 13.305 0.000 1.000 1.000
fitmeasures(fit_mot_1,fit.measures = c("chisq" ,"df" , "pvalue","cfi","tli","rmsea","rmsea.ci.lower",
"rmsea.ci.upper","srmr"))
## chisq df pvalue cfi tli
## 492.422 118.000 NA 0.913 0.899
## rmsea rmsea.ci.lower rmsea.ci.upper srmr
## 0.063 0.058 0.069 0.119
modindices(fit_mot_1 , sort=TRUE, standardized=FALSE) %>% head(6)
ext5 ext6 (MI = 134.876): Bu, aynı faktör (Dışsal Motivasyon) altındaki iki maddenin hata varyanslarının ilişkilendirilmesidir. MI değeri en yüksek olan (134.87) seçenektir. Teorik olarak, birbirine benzeyen veya ardışık sorulan aynı alt boyuttaki iki sorunun hatalarının ilişkili olması kabul edilebilir bir durumdur.
ic_mot =~ ext3 (MI = 46.669): Bu bir çapraz yükleme önerisidir. İçsel motivasyon faktörünün, dışsal motivasyon maddelerinden birini (ext3) etkilediğini iddia eder. Faktör yapısını bozduğu için, teorik olarak çok güçlü bir gerekçe yoksa DFA analizlerinde bu tarz çapraz yüklemelerden kaçınılır.
ext9 ext11 (MI = 43.768): Aynı faktörde olmalarına rağmen MI değeri birinci sıradakinden çok düşüktür. Modifikasyonlar tek tek, en yüksekten başlanarak yapılır.
model2_mot <- '
# Dışsal Motivasyon
dis_mot =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 + ext7 + ext8 + ext9 + ext10 + ext11 + ext12
# İçsel Motivasyon
ic_mot =~ int1 + int2 + int3 + int4 + int5
# Hata kovaryansı modifikasyonu (En yüksek MI değerine sahip ve aynı faktörde olan)
ext5 ~~ ext6
'
# Yeni modelin test edilmesi
fit_mot_2 <- cfa(model2_mot, data = mot, ordered = TRUE)
# Yeni modelin uyum indekslerinin incelenmesi
summary(fit_mot_2 , fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 42 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 36
##
## Used Total
## Number of observations 794 852
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 357.355 346.751
## Degrees of freedom 117 117
## P-value (Unknown) NA 0.000
## Scaling correction factor 1.133
## Shift parameter 31.301
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 4421.778 3011.080
## Degrees of freedom 136 136
## P-value NA 0.000
## Scaling correction factor 1.491
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.944 0.920
## Tucker-Lewis Index (TLI) 0.935 0.907
##
## Robust Comparative Fit Index (CFI) NA
## Robust Tucker-Lewis Index (TLI) NA
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.051 0.050
## 90 Percent confidence interval - lower 0.045 0.044
## 90 Percent confidence interval - upper 0.057 0.056
## P-value H_0: RMSEA <= 0.050 0.393 0.515
## P-value H_0: RMSEA >= 0.080 0.000 0.000
##
## Robust RMSEA NA
## 90 Percent confidence interval - lower NA
## 90 Percent confidence interval - upper NA
## P-value H_0: Robust RMSEA <= 0.050 NA
## P-value H_0: Robust RMSEA >= 0.080 NA
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.107 0.107
##
## Parameter Estimates:
##
## Parameterization Delta
## Standard errors Robust.sem
## Information Expected
## Information saturated (h1) model Unstructured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dis_mot =~
## ext1 1.000 0.391 0.391
## ext2 1.015 0.173 5.867 0.000 0.397 0.397
## ext3 0.525 0.149 3.532 0.000 0.205 0.205
## ext4 1.499 0.264 5.689 0.000 0.586 0.586
## ext5 0.021 0.176 0.122 0.903 0.008 0.008
## ext6 0.352 0.172 2.040 0.041 0.138 0.138
## ext7 1.424 0.208 6.835 0.000 0.557 0.557
## ext8 2.054 0.275 7.455 0.000 0.803 0.803
## ext9 1.898 0.274 6.927 0.000 0.742 0.742
## ext10 1.586 0.230 6.899 0.000 0.620 0.620
## ext11 2.027 0.276 7.341 0.000 0.793 0.793
## ext12 1.835 0.251 7.322 0.000 0.718 0.718
## ic_mot =~
## int1 1.000 0.821 0.821
## int2 0.924 0.066 14.093 0.000 0.758 0.758
## int3 0.997 0.050 19.801 0.000 0.818 0.818
## int4 0.906 0.057 15.973 0.000 0.743 0.743
## int5 1.100 0.050 21.865 0.000 0.903 0.903
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ext5 ~~
## .ext6 0.635 0.055 11.622 0.000 0.635 0.641
## dis_mot ~~
## ic_mot 0.047 0.017 2.719 0.007 0.147 0.147
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ext1|t1 0.041 0.045 0.922 0.356 0.041 0.041
## ext2|t1 0.584 0.047 12.327 0.000 0.584 0.584
## ext3|t1 0.493 0.047 10.591 0.000 0.493 0.493
## ext4|t1 1.541 0.070 21.954 0.000 1.541 1.541
## ext5|t1 -1.128 0.056 -19.964 0.000 -1.128 -1.128
## ext6|t1 -1.059 0.055 -19.296 0.000 -1.059 -1.059
## ext7|t1 0.242 0.045 5.386 0.000 0.242 0.242
## ext8|t1 1.042 0.055 19.122 0.000 1.042 1.042
## ext9|t1 1.481 0.068 21.880 0.000 1.481 1.481
## ext10|t1 0.622 0.048 13.016 0.000 0.622 0.622
## ext11|t1 1.048 0.055 19.180 0.000 1.048 1.048
## ext12|t1 0.013 0.045 0.284 0.777 0.013 0.013
## int1|t1 -0.657 0.048 -13.632 0.000 -0.657 -0.657
## int2|t1 -1.242 0.060 -20.865 0.000 -1.242 -1.242
## int3|t1 0.194 0.045 4.324 0.000 0.194 0.194
## int4|t1 -0.873 0.051 -17.028 0.000 -0.873 -0.873
## int5|t1 -0.272 0.045 -6.022 0.000 -0.272 -0.272
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ext1 0.847 0.847 0.847
## .ext2 0.842 0.842 0.842
## .ext3 0.958 0.958 0.958
## .ext4 0.656 0.656 0.656
## .ext5 1.000 1.000 1.000
## .ext6 0.981 0.981 0.981
## .ext7 0.690 0.690 0.690
## .ext8 0.355 0.355 0.355
## .ext9 0.449 0.449 0.449
## .ext10 0.615 0.615 0.615
## .ext11 0.372 0.372 0.372
## .ext12 0.485 0.485 0.485
## .int1 0.326 0.326 0.326
## .int2 0.425 0.425 0.425
## .int3 0.331 0.331 0.331
## .int4 0.447 0.447 0.447
## .int5 0.185 0.185 0.185
## dis_mot 0.153 0.038 3.976 0.000 1.000 1.000
## ic_mot 0.674 0.051 13.310 0.000 1.000 1.000
# İlk model ile Modifiye modelin karşılaştırılması
anova(fit_mot_1, fit_mot_2)
YORUM:
İki faktörlü temel motivasyon modeli test edildikten sonra, modifikasyon indeksleri incelenmiştir. En yüksek MI değerine sahip parametre, aynı faktör (Dışsal Motivasyon) altında yer alan ext5 ve ext6 maddelerinin hata kovaryansı (MI = 134.876) olarak belirlenmiştir. İkinci sırada yer alan ic_mot =~ ext3 çapraz yüklemesi (MI = 46.669) faktör yapısını bozacağından, üçüncü sıradaki ext9 ext11 hata kovaryansı (MI = 43.768) ise modifikasyonlar sıralı yapıldığından modele dahil edilmemiştir. Bu doğrultuda yalnızca ext5 ext6 hata kovaryansı modele eklenerek ikinci model oluşturulmuştur.
Kategorik veriler için uygun olan DWLS kestirim yöntemi kullanılarak elde edilen uyum indeksleri incelendiğinde, temel modelin (Model 1) ölçeklendirilmiş indekslerinin (CFI = 0.879, TLI = 0.861, RMSEA = 0.061, SRMR = 0.119) kabul edilebilir eşiklerin altında kaldığı görülmüştür.
Modifiye modelde (Model 2) ise ölçeklendirilmiş uyum indekslerinin (CFI = 0.920, TLI = 0.907, RMSEA = 0.050, SRMR = 0.107) kabul edilebilir sınırlara ulaştığı görülmüştür. SRMR değerinin 0.107 ile 0.10 eşiğinin biraz üzerinde bulunmaktadır, diğer indekslerdeki iyileşme göz önüne alındığında Model 2’nin genel olarak kabul edilebilir bir uyum sergilediği görülmüştür.
İki model arasındaki farkı test etmek amacıyla uygulanan Satorra-Bentler düzeltmeli ki-kare fark testi, modifiye modelin temel modele kıyasla istatistiksel olarak anlamlı düzeyde daha iyi uyum sağladığını ortaya koymuştur (Δχ² = 130.5, Δsd = 1, p < .001). Elde edilen bulgular, ext5 ve ext6 maddelerinin hata varyanslarının serbest bırakılmasının model-veri uyumunu anlamlı biçimde iyileştirdiğini göstermekte olup 17 maddelik motivasyon ölçeğinin iki faktörlü yapısının ilgili veri seti üzerinde desteklendiği sonucuna ulaşılmıştır.
aidiyet <- readRDS("~/Documents/R PROJECTS/OLC 733/aidiyet.Rds")
model_uc_faktor <- '
kurumsal =~ kurumsal1 + kurumsal2 + kurumsal3 + kurumsal4
katilimsal =~ katilimsal1 + katilimsal2 + katilimsal3 + katilimsal4
bireysel =~ bireysel1 + bireysel2 + bireysel3 + bireysel4
'
# Modelin Test Edilmesi
# ordered = TRUE: Kategorik veri olduğunu belirtir, tetrakorik matrisi ve WLSMV/DWLS'yi devreye sokar.
fit_uc_faktor <- cfa(model_uc_faktor, data = aidiyet, ordered = TRUE)
# Sonuçların Özeti
summary(fit_uc_faktor, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 43 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 27
##
## Number of observations 794
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 161.148 189.809
## Degrees of freedom 51 51
## P-value (Unknown) NA 0.000
## Scaling correction factor 0.882
## Shift parameter 7.113
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 2506.101 1939.031
## Degrees of freedom 66 66
## P-value NA 0.000
## Scaling correction factor 1.303
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.955 0.926
## Tucker-Lewis Index (TLI) 0.942 0.904
##
## Robust Comparative Fit Index (CFI) 0.816
## Robust Tucker-Lewis Index (TLI) 0.762
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.052 0.059
## 90 Percent confidence interval - lower 0.043 0.050
## 90 Percent confidence interval - upper 0.061 0.068
## P-value H_0: RMSEA <= 0.050 0.331 0.053
## P-value H_0: RMSEA >= 0.080 0.000 0.000
##
## Robust RMSEA 0.126
## 90 Percent confidence interval - lower 0.101
## 90 Percent confidence interval - upper 0.151
## P-value H_0: Robust RMSEA <= 0.050 0.000
## P-value H_0: Robust RMSEA >= 0.080 0.999
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.088 0.088
##
## Parameter Estimates:
##
## Parameterization Delta
## Standard errors Robust.sem
## Information Expected
## Information saturated (h1) model Unstructured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## kurumsal =~
## kurumsal1 1.000 0.361 0.361
## kurumsal2 0.655 0.248 2.636 0.008 0.237 0.237
## kurumsal3 1.424 0.374 3.807 0.000 0.515 0.515
## kurumsal4 0.627 0.381 1.647 0.100 0.227 0.227
## katilimsal =~
## katilimsal1 1.000 0.833 0.833
## katilimsal2 0.988 0.067 14.710 0.000 0.823 0.823
## katilimsal3 0.870 0.068 12.758 0.000 0.725 0.725
## katilimsal4 0.947 0.061 15.551 0.000 0.789 0.789
## bireysel =~
## bireysel1 1.000 0.602 0.602
## bireysel2 0.834 0.100 8.311 0.000 0.502 0.502
## bireysel3 1.412 0.132 10.717 0.000 0.850 0.850
## bireysel4 1.421 0.132 10.730 0.000 0.855 0.855
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## kurumsal ~~
## katilimsal 0.145 0.038 3.780 0.000 0.480 0.480
## bireysel 0.121 0.030 4.011 0.000 0.557 0.557
## katilimsal ~~
## bireysel 0.232 0.033 6.932 0.000 0.462 0.462
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## kurumsal1|t1 0.041 0.045 0.922 0.356 0.041 0.041
## kurumsal2|t1 0.592 0.047 12.465 0.000 0.592 0.592
## kurumsal3|t1 0.489 0.046 10.522 0.000 0.489 0.489
## kurumsal4|t1 1.541 0.070 21.954 0.000 1.541 1.541
## katilimsal1|t1 -0.665 0.048 -13.769 0.000 -0.665 -0.665
## katilimsal2|t1 -1.256 0.060 -20.956 0.000 -1.256 -1.256
## katilimsal3|t1 0.184 0.045 4.112 0.000 0.184 0.184
## katilimsal4|t1 -0.868 0.051 -16.963 0.000 -0.868 -0.868
## bireysel1|t1 -0.725 0.049 -14.785 0.000 -0.725 -0.725
## bireysel2|t1 0.025 0.045 0.567 0.570 0.025 0.025
## bireysel3|t1 -0.385 0.046 -8.419 0.000 -0.385 -0.385
## bireysel4|t1 -0.493 0.047 -10.591 0.000 -0.493 -0.493
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .kurumsal1 0.869 0.869 0.869
## .kurumsal2 0.944 0.944 0.944
## .kurumsal3 0.735 0.735 0.735
## .kurumsal4 0.949 0.949 0.949
## .katilimsal1 0.306 0.306 0.306
## .katilimsal2 0.322 0.322 0.322
## .katilimsal3 0.475 0.475 0.475
## .katilimsal4 0.378 0.378 0.378
## .bireysel1 0.638 0.638 0.638
## .bireysel2 0.748 0.748 0.748
## .bireysel3 0.278 0.278 0.278
## .bireysel4 0.268 0.268 0.268
## kurumsal 0.131 0.052 2.519 0.012 1.000 1.000
## katilimsal 0.694 0.058 11.960 0.000 1.000 1.000
## bireysel 0.362 0.059 6.123 0.000 1.000 1.000
Esnek kesim noktaları
library(FCO)
aidiyet_maddeler <- aidiyet %>%
select(kurumsal1:kurumsal4, katilimsal1:katilimsal4, bireysel1:bireysel4)
fits.esnek_aidiyet <- gen_fit(mod1 = model_uc_faktor,
x = aidiyet_maddeler,
rep = 100)
flex_co(fits = fits.esnek_aidiyet, index = c("CFI", "SRMR"))$cutoff
## CFI SRMR
## 0.98249988 0.02969275
YORUM:
Analiz sonucunda elde edilen ölçeklendirilmiş uyum indeksleri incelendiğinde, ki-kare/sd oranının (189.809 / 51 = 3.72) kabul edilebilir sınırlar içinde kaldığı görülmüştür. CFI (0.926) ve TLI (0.904) değerleri 0.90 kabul edilebilir uyum eşiğini aşmış, RMSEA değeri 0.059 (%90 GA: 0.050 - 0.068) ile kabul edilebilir sınırlar içinde, SRMR değeri ise 0.088 ile 0.10 üst sınırının altında yer almıştır. Bu bulgular doğrultusunda üç faktörlü modelin veriye genel olarak kabul edilebilir düzeyde uyum sağladığı söylenebilir.
Faktörler arası korelasyonlar incelendiğinde, kurumsal ile katılımsal faktörleri arasında orta düzey bir ilişki (r = 0.480), kurumsal ile bireysel faktörleri arasında benzer bir ilişki (r = 0.557) ve katılımsal ile bireysel faktörleri arasında da yine orta düzey bir korelasyon (r = 0.462) gözlemlenmiştir.
Bununla birlikte, kurumsal faktörüne ait maddelerin standartlaştırılmış faktör yükleri incelendiğinde, kurumsal1 (0.361), kurumsal2 (0.237) ve kurumsal4 (0.227) maddelerinin 0.40 eşiğinin belirgin biçimde altında kaldığı görülmüştür. Ayrıca kurumsal4 maddesinin faktör yükü istatistiksel olarak da anlamlı değildir (p = 0.100). Bu durum, kurumsal boyutunun ölçme kalitesinin diğer iki faktöre kıyasla zayıf olduğuna işaret etmektedir.
Bunlara ek olarak FCO paketi ile hesaplanan veri setine özgü esnek kesim noktaları CFI için 0.982 ve SRMR için 0.030 olarak belirlenmiştir. Elde edilen CFI (0.926) ve SRMR (0.088) değerleri bu veri setine özgü eşiklerin altında kaldığından, geleneksel ölçütlere göre kabul edilebilir görünen modelin bu veri için yetersiz kalabileceği göstermiştir.
# İkinci Dereceli Model Tanımı
model_ikinci_duzey <- '
# Birinci düzey faktörler
kurumsal =~ kurumsal1 + kurumsal2 + kurumsal3 + kurumsal4
katilimsal =~ katilimsal1 + katilimsal2 + katilimsal3 + katilimsal4
bireysel =~ bireysel1 + bireysel2 + bireysel3 + bireysel4
# İkinci düzey genel faktör
genel_aidiyet =~ kurumsal + katilimsal + bireysel
'
# Modelin Test Edilmesi
fit_ikinci_duzey <- cfa(model_ikinci_duzey, data = aidiyet, ordered = TRUE)
# Sonuçların Özeti
summary(fit_ikinci_duzey, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 59 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 27
##
## Number of observations 794
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 161.148 189.809
## Degrees of freedom 51 51
## P-value (Unknown) NA 0.000
## Scaling correction factor 0.882
## Shift parameter 7.113
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 2506.101 1939.031
## Degrees of freedom 66 66
## P-value NA 0.000
## Scaling correction factor 1.303
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.955 0.926
## Tucker-Lewis Index (TLI) 0.942 0.904
##
## Robust Comparative Fit Index (CFI) 0.816
## Robust Tucker-Lewis Index (TLI) 0.762
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.052 0.059
## 90 Percent confidence interval - lower 0.043 0.050
## 90 Percent confidence interval - upper 0.061 0.068
## P-value H_0: RMSEA <= 0.050 0.331 0.053
## P-value H_0: RMSEA >= 0.080 0.000 0.000
##
## Robust RMSEA 0.126
## 90 Percent confidence interval - lower 0.101
## 90 Percent confidence interval - upper 0.151
## P-value H_0: Robust RMSEA <= 0.050 0.000
## P-value H_0: Robust RMSEA >= 0.080 0.999
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.088 0.088
##
## Parameter Estimates:
##
## Parameterization Delta
## Standard errors Robust.sem
## Information Expected
## Information saturated (h1) model Unstructured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## kurumsal =~
## kurumsal1 1.000 0.361 0.361
## kurumsal2 0.655 0.248 2.636 0.008 0.237 0.237
## kurumsal3 1.424 0.374 3.807 0.000 0.515 0.515
## kurumsal4 0.627 0.381 1.647 0.100 0.227 0.227
## katilimsal =~
## katilimsal1 1.000 0.833 0.833
## katilimsal2 0.988 0.067 14.710 0.000 0.823 0.823
## katilimsal3 0.870 0.068 12.758 0.000 0.725 0.725
## katilimsal4 0.947 0.061 15.551 0.000 0.789 0.789
## bireysel =~
## bireysel1 1.000 0.602 0.602
## bireysel2 0.834 0.100 8.311 0.000 0.502 0.502
## bireysel3 1.412 0.132 10.717 0.000 0.850 0.850
## bireysel4 1.421 0.132 10.730 0.000 0.855 0.855
## genel_aidiyet =~
## kurumsal 1.000 0.761 0.761
## katilimsal 1.910 0.493 3.872 0.000 0.631 0.631
## bireysel 1.602 0.450 3.561 0.000 0.732 0.732
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## kurumsal1|t1 0.041 0.045 0.922 0.356 0.041 0.041
## kurumsal2|t1 0.592 0.047 12.465 0.000 0.592 0.592
## kurumsal3|t1 0.489 0.046 10.522 0.000 0.489 0.489
## kurumsal4|t1 1.541 0.070 21.954 0.000 1.541 1.541
## katilimsal1|t1 -0.665 0.048 -13.769 0.000 -0.665 -0.665
## katilimsal2|t1 -1.256 0.060 -20.956 0.000 -1.256 -1.256
## katilimsal3|t1 0.184 0.045 4.112 0.000 0.184 0.184
## katilimsal4|t1 -0.868 0.051 -16.963 0.000 -0.868 -0.868
## bireysel1|t1 -0.725 0.049 -14.785 0.000 -0.725 -0.725
## bireysel2|t1 0.025 0.045 0.567 0.570 0.025 0.025
## bireysel3|t1 -0.385 0.046 -8.419 0.000 -0.385 -0.385
## bireysel4|t1 -0.493 0.047 -10.591 0.000 -0.493 -0.493
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .kurumsal1 0.869 0.869 0.869
## .kurumsal2 0.944 0.944 0.944
## .kurumsal3 0.735 0.735 0.735
## .kurumsal4 0.949 0.949 0.949
## .katilimsal1 0.306 0.306 0.306
## .katilimsal2 0.322 0.322 0.322
## .katilimsal3 0.475 0.475 0.475
## .katilimsal4 0.378 0.378 0.378
## .bireysel1 0.638 0.638 0.638
## .bireysel2 0.748 0.748 0.748
## .bireysel3 0.278 0.278 0.278
## .bireysel4 0.268 0.268 0.268
## .kurumsal 0.055 0.036 1.535 0.125 0.420 0.420
## .katilimsal 0.418 0.072 5.797 0.000 0.602 0.602
## .bireysel 0.168 0.051 3.312 0.001 0.464 0.464
## genel_aidiyet 0.076 0.035 2.180 0.029 1.000 1.000
Yorum:
İkinci aşamada, kurumsal, katılımsal ve bireysel aidiyet boyutlarının tek bir genel aidiyet faktörü tarafından açıklandığı ikinci dereceli model test edilmiştir.Genel aidiyet faktörünün birinci düzey faktörlere olan yüklemeleri incelendiğinde, kurumsal faktörünün 0.761, katılımsal faktörünün 0.631 ve bireysel faktörünün 0.732 değerlerini aldığı ve bu yüklemelerin tamamının istatistiksel olarak anlamlı olduğu görülmüştür (p < .05). Bu bulgular, genel aidiyet faktörünün her üç alt boyutu da anlamlı biçimde yordadığını göstermektedir.
İkinci dereceli modelin ölçeklendirilmiş uyum indeksleri (CFI = 0.926, TLI = 0.904, RMSEA = 0.059, SRMR = 0.088) birinci düzey modelin indeksleriyle birebir aynı çıkmıştır. İkinci dereceli model ile birinci düzey model karşılaştırıldığında, her iki modelin de aynı serbestlik derecesine sahip olduğu (df = 51) görülmüştür. İkinci dereceli model, birinci düzey modele kıyasla herhangi bir kısıtlama eklemediğinden her iki model birebir aynı uyum indekslerini üretmiş olabilir. Bu koşulda iki model arasında istatistiksel bir karşılaştırma yapmak mantıklı mı bilemedim, tam yorumlayamadım bu kısmı. Bununla birlikte, teorik açıdan kurumsal, katılımsal ve bireysel aidiyet boyutlarının arkasında yatan ortak bir genel aidiyet yapısının öngörüldüğü durumlarda ikinci dereceli model tercih edilebilir.
Bu hafta önce DFA ile başladık derse. Özellikle 1-0 şeklinde puanlanan kategorik verilerle çalışırken Pearson korelasyonu yerine tetrakorik korelasyon matrisi ve ML yerine DWLS/WLSMV kestirim yöntemlerini kullanmayı öğrendim. Modifikasyon indekslerini kullanırken faktör yapısını bozacak çapraz yüklemelerden kaçınıp yalnızca aynı faktör altındaki hataları ilişkilendirmeyi öğrendim. Geleneksel uyum sınırları yerine FCO paketiyle veriye özgü esnek kesim noktaları hesaplamak yeni öğrendiğim başka bir bilgi oldu. Ölçme değişmezliği hep duyduğum ama tam olarak bilmediğim bir konuydu, onu öğrendiğimize de sevindim…