Bu hafta DFA konusunu ağırlıklı olarak ödevler üzerinden çalıştım. Özellikle ilk soruda korelasyon matrisini R’a aktarmak benim için epey uğraştırıcı oldu.Yine ilk soruda tereddüt ettim ama makalede analizlerde bir maddenin çıkarıldığını fark ettim ve ben de analizleri o maddeyi korelasyon matrisinden çıkararak yaptım. Diğer sorular daha rahat ilerledi.
Genel olarak DFA’nın, AFA’ya göre daha kuramsal ve model doğrulamaya dayalı bir yaklaşım olduğunu hatırlamış oldum yeniden. Özellikle model kurma, uyum indekslerini yorumlama ve farklı model türlerini karşılaştırma konularında biraz daha çalışmam gerektiğini düşünüyorum.
Makaledeki Tablo 2’de toplam 22 maddeye ait korelasyon matrisi sunulmuştur. Ancak araştırmacılar doğrulayıcı faktör analizi sürecine geçmeden önce müziksel boyuta ait m3 maddesini analizden çıkarmıştır. Bu doğrultuda mevcut çalışmada da özgün makaledeki analiz süreci izlenmiş ve doğrulayıcı faktör analizleri m3 maddesi çıkarılarak gerçekleştirilmiştir. Böylece analizler toplam 21 gözlenen değişken üzerinden yürütülmüştür.
library(readxl)
library(lavaan)
## Warning: package 'lavaan' was built under R version 4.5.3
## This is lavaan 0.6-21
## lavaan is FREE software! Please report any bugs.
library(semTools)
## Warning: package 'semTools' was built under R version 4.5.3
##
## ###############################################################################
## This is semTools 0.5-8
## All users of R (or SEM) are invited to submit functions or ideas for functions.
## ###############################################################################
library(psych)
## Warning: package 'psych' was built under R version 4.5.3
##
## Attaching package: 'psych'
## The following objects are masked from 'package:semTools':
##
## reliability, skew
## The following object is masked from 'package:lavaan':
##
## cor2cov
cast <- read_excel("cast.xlsx", col_names = FALSE)
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
## • `` -> `...9`
## • `` -> `...10`
## • `` -> `...11`
## • `` -> `...12`
## • `` -> `...13`
## • `` -> `...14`
## • `` -> `...15`
## • `` -> `...16`
## • `` -> `...17`
## • `` -> `...18`
## • `` -> `...19`
## • `` -> `...20`
## • `` -> `...21`
R22 <- as.matrix(cast)
dim(R22)
## [1] 21 21
diag(R22)
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
degiskenler <- c(
paste0("n", 1:6),
paste0("bk", 1:4),
paste0("s", 1:3),
"m1", "m2",
paste0("lm", 1:3),
paste0("l", 1:3)
)
rownames(R22) <- degiskenler
colnames(R22) <- degiskenler
R <- R22
dim(R)
## [1] 21 21
diag(R)
## n1 n2 n3 n4 n5 n6 bk1 bk2 bk3 bk4 s1 s2 s3 m1 m2 lm1 lm2 lm3 l1 l2
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## l3
## 1
R[upper.tri(R)] <- t(R)[upper.tri(R)]
sum(is.na(R))
## [1] 0
diag(R)
## n1 n2 n3 n4 n5 n6 bk1 bk2 bk3 bk4 s1 s2 s3 m1 m2 lm1 lm2 lm3 l1 l2
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## l3
## 1
sd_vec <- c(
0.785, 0.802, 0.768, 0.862, 0.915, 0.853,
0.796, 0.752, 0.759, 0.788,
0.745, 0.715, 0.747,
0.985, 1.05,
1.16, 1.18, 1.01,
0.603, 0.615, 0.647
)
cov_mat <- diag(sd_vec) %*% R %*% diag(sd_vec)
rownames(cov_mat) <- degiskenler
colnames(cov_mat) <- degiskenler
diag(cov_mat)
## n1 n2 n3 n4 n5 n6 bk1 bk2
## 0.616225 0.643204 0.589824 0.743044 0.837225 0.727609 0.633616 0.565504
## bk3 bk4 s1 s2 s3 m1 m2 lm1
## 0.576081 0.620944 0.555025 0.511225 0.558009 0.970225 1.102500 1.345600
## lm2 lm3 l1 l2 l3
## 1.392400 1.020100 0.363609 0.378225 0.418609
model_1 <- '
dogal =~ n1 + n2 + n3 + n4 + n5 + n6
bedensel =~ bk1 + bk2 + bk3 + bk4
uzamsal =~ s1 + s2 + s3
muziksel =~ m1 + m2
mantiksal =~ lm1 + lm2 + lm3
dilsel =~ l1 + l2 + l3
'
fit_1 <- cfa(
model_1,
sample.cov = cov_mat,
sample.nobs = 393
)
## Warning: lavaan->lav_object_post_check():
## some estimated ov variances are negative
summary(fit_1, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 77 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 57
##
## Number of observations 393
##
## Model Test User Model:
##
## Test statistic 408.495
## Degrees of freedom 174
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3653.020
## Degrees of freedom 210
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.932
## Tucker-Lewis Index (TLI) 0.918
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -8450.095
## Loglikelihood unrestricted model (H1) -8245.847
##
## Akaike (AIC) 17014.190
## Bayesian (BIC) 17240.697
## Sample-size adjusted Bayesian (SABIC) 17059.837
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.059
## 90 Percent confidence interval - lower 0.051
## 90 Percent confidence interval - upper 0.066
## P-value H_0: RMSEA <= 0.050 0.028
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.074
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dogal =~
## n1 1.000 0.503 0.642
## n2 0.928 0.090 10.331 0.000 0.467 0.583
## n3 1.072 0.089 12.089 0.000 0.539 0.703
## n4 1.344 0.102 13.205 0.000 0.677 0.786
## n5 1.594 0.111 14.318 0.000 0.802 0.878
## n6 1.528 0.105 14.575 0.000 0.769 0.903
## bedensel =~
## bk1 1.000 0.546 0.686
## bk2 0.981 0.102 9.572 0.000 0.535 0.712
## bk3 0.570 0.086 6.600 0.000 0.311 0.410
## bk4 0.681 0.091 7.443 0.000 0.371 0.472
## uzamsal =~
## s1 1.000 0.651 0.874
## s2 0.938 0.046 20.595 0.000 0.610 0.855
## s3 0.941 0.048 19.572 0.000 0.612 0.821
## muziksel =~
## m1 1.000 0.505 0.514
## m2 2.299 0.594 3.867 0.000 1.162 1.108
## mantiksal =~
## lm1 1.000 0.614 0.530
## lm2 1.616 0.161 10.006 0.000 0.993 0.842
## lm3 1.327 0.133 9.959 0.000 0.816 0.808
## dilsel =~
## l1 1.000 0.493 0.819
## l2 1.020 0.118 8.669 0.000 0.503 0.819
## l3 0.387 0.075 5.172 0.000 0.191 0.296
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dogal ~~
## bedensel 0.083 0.019 4.376 0.000 0.304 0.304
## uzamsal 0.118 0.021 5.674 0.000 0.359 0.359
## muziksel 0.042 0.017 2.454 0.014 0.163 0.163
## mantiksal 0.099 0.021 4.648 0.000 0.321 0.321
## dilsel 0.067 0.016 4.207 0.000 0.270 0.270
## bedensel ~~
## uzamsal 0.160 0.026 6.127 0.000 0.450 0.450
## muziksel 0.090 0.030 3.016 0.003 0.326 0.326
## mantiksal 0.137 0.027 5.036 0.000 0.410 0.410
## dilsel 0.080 0.020 4.076 0.000 0.296 0.296
## uzamsal ~~
## muziksel 0.045 0.020 2.237 0.025 0.138 0.138
## mantiksal 0.245 0.035 7.090 0.000 0.612 0.612
## dilsel 0.076 0.020 3.783 0.000 0.237 0.237
## muziksel ~~
## mantiksal 0.068 0.025 2.696 0.007 0.221 0.221
## dilsel 0.038 0.017 2.299 0.021 0.154 0.154
## mantiksal ~~
## dilsel 0.056 0.020 2.837 0.005 0.186 0.186
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .n1 0.361 0.027 13.173 0.000 0.361 0.588
## .n2 0.423 0.032 13.399 0.000 0.423 0.660
## .n3 0.297 0.023 12.832 0.000 0.297 0.505
## .n4 0.283 0.024 12.030 0.000 0.283 0.382
## .n5 0.192 0.020 9.728 0.000 0.192 0.230
## .n6 0.134 0.016 8.478 0.000 0.134 0.185
## .bk1 0.334 0.036 9.339 0.000 0.334 0.529
## .bk2 0.278 0.032 8.650 0.000 0.278 0.492
## .bk3 0.478 0.037 13.014 0.000 0.478 0.832
## .bk4 0.481 0.038 12.586 0.000 0.481 0.777
## .s1 0.130 0.016 8.322 0.000 0.130 0.236
## .s2 0.137 0.015 9.209 0.000 0.137 0.269
## .s3 0.181 0.017 10.431 0.000 0.181 0.326
## .m1 0.712 0.080 8.888 0.000 0.712 0.736
## .m2 -0.250 0.328 -0.761 0.446 -0.250 -0.227
## .lm1 0.965 0.074 12.959 0.000 0.965 0.719
## .lm2 0.403 0.060 6.703 0.000 0.403 0.290
## .lm3 0.352 0.044 8.032 0.000 0.352 0.346
## .l1 0.119 0.027 4.352 0.000 0.119 0.329
## .l2 0.124 0.028 4.359 0.000 0.124 0.329
## .l3 0.381 0.028 13.703 0.000 0.381 0.913
## dogal 0.253 0.037 6.905 0.000 1.000 1.000
## bedensel 0.298 0.047 6.379 0.000 1.000 1.000
## uzamsal 0.423 0.040 10.475 0.000 1.000 1.000
## muziksel 0.255 0.078 3.290 0.001 1.000 1.000
## mantiksal 0.378 0.072 5.217 0.000 1.000 1.000
## dilsel 0.244 0.036 6.821 0.000 1.000 1.000
fitMeasures(fit_1, c("chisq", "df", "pvalue", "cfi", "tli", "rmsea", "srmr", "aic"))
## chisq df pvalue cfi tli rmsea srmr aic
## 408.495 174.000 0.000 0.932 0.918 0.059 0.074 17014.190
Elde edilen uyum indeksleri incelendiğinde altı faktörlü modelin veri ile genel olarak iyi düzeyde uyum gösterdiği görülmektedir.
CFI ve TLI değerlerinin .90’ın üzerinde olması modelin kabul edilebilir/good fit düzeyinde olduğunu göstermektedir. RMSEA değerinin .06’ya oldukça yakın olması modelin iyi uyum gösterdiğine işaret etmektedir. SRMR değerinin .08’in altında olması da model uyumunun kabul edilebilir düzeyde olduğunu desteklemektedir.
Ki-kare testi anlamlı bulunmuştur:
χ^2 (174)=408.495, p<.001
model_2 <- '
dogal =~ n1 + n2 + n3 + n4 + n5 + n6
bedensel =~ bk1 + bk2 + bk3 + bk4
uzamsal =~ s1 + s2 + s3
muziksel =~ m1 + m2
mantiksal =~ lm1 + lm2 + lm3
dilsel =~ l1 + l2 + l3
genel =~ dogal + bedensel + uzamsal +
muziksel + mantiksal + dilsel
'
fit_2 <- cfa(
model_2,
sample.cov = cov_mat,
sample.nobs = 393
)
## Warning: lavaan->lav_object_post_check():
## some estimated ov variances are negative
summary(fit_2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 70 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 48
##
## Number of observations 393
##
## Model Test User Model:
##
## Test statistic 441.138
## Degrees of freedom 183
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3653.020
## Degrees of freedom 210
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.925
## Tucker-Lewis Index (TLI) 0.914
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -8466.416
## Loglikelihood unrestricted model (H1) -8245.847
##
## Akaike (AIC) 17028.833
## Bayesian (BIC) 17219.576
## Sample-size adjusted Bayesian (SABIC) 17067.273
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.060
## 90 Percent confidence interval - lower 0.053
## 90 Percent confidence interval - upper 0.067
## P-value H_0: RMSEA <= 0.050 0.012
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.079
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dogal =~
## n1 1.000 0.503 0.642
## n2 0.929 0.090 10.329 0.000 0.467 0.584
## n3 1.071 0.089 12.068 0.000 0.539 0.702
## n4 1.345 0.102 13.187 0.000 0.676 0.786
## n5 1.596 0.112 14.311 0.000 0.803 0.879
## n6 1.529 0.105 14.558 0.000 0.769 0.903
## bedensel =~
## bk1 1.000 0.537 0.675
## bk2 1.004 0.108 9.291 0.000 0.539 0.718
## bk3 0.575 0.089 6.480 0.000 0.309 0.407
## bk4 0.705 0.095 7.453 0.000 0.378 0.481
## uzamsal =~
## s1 1.000 0.649 0.872
## s2 0.942 0.046 20.483 0.000 0.611 0.856
## s3 0.947 0.048 19.538 0.000 0.614 0.823
## muziksel =~
## m1 1.000 0.539 0.547
## m2 2.024 0.569 3.555 0.000 1.090 1.039
## mantiksal =~
## lm1 1.000 0.620 0.535
## lm2 1.600 0.159 10.060 0.000 0.992 0.842
## lm3 1.313 0.131 10.019 0.000 0.814 0.807
## dilsel =~
## l1 1.000 0.512 0.850
## l2 0.947 0.117 8.067 0.000 0.485 0.789
## l3 0.374 0.074 5.079 0.000 0.191 0.296
## genel =~
## dogal 1.000 0.479 0.479
## bedensel 1.393 0.248 5.625 0.000 0.625 0.625
## uzamsal 2.038 0.313 6.503 0.000 0.756 0.756
## muziksel 0.709 0.257 2.761 0.006 0.317 0.317
## mantiksal 1.907 0.334 5.712 0.000 0.741 0.741
## dilsel 0.749 0.170 4.401 0.000 0.352 0.352
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .n1 0.362 0.027 13.175 0.000 0.362 0.588
## .n2 0.423 0.032 13.398 0.000 0.423 0.659
## .n3 0.298 0.023 12.837 0.000 0.298 0.507
## .n4 0.284 0.024 12.035 0.000 0.284 0.383
## .n5 0.191 0.020 9.688 0.000 0.191 0.228
## .n6 0.134 0.016 8.475 0.000 0.134 0.185
## .bk1 0.344 0.037 9.411 0.000 0.344 0.544
## .bk2 0.273 0.033 8.287 0.000 0.273 0.485
## .bk3 0.479 0.037 12.998 0.000 0.479 0.834
## .bk4 0.476 0.038 12.458 0.000 0.476 0.769
## .s1 0.133 0.016 8.390 0.000 0.133 0.240
## .s2 0.136 0.015 9.120 0.000 0.136 0.268
## .s3 0.179 0.017 10.325 0.000 0.179 0.322
## .m1 0.678 0.092 7.362 0.000 0.678 0.700
## .m2 -0.088 0.321 -0.275 0.783 -0.088 -0.080
## .lm1 0.958 0.074 12.915 0.000 0.958 0.714
## .lm2 0.405 0.061 6.626 0.000 0.405 0.292
## .lm3 0.355 0.045 7.964 0.000 0.355 0.348
## .l1 0.100 0.031 3.216 0.001 0.100 0.277
## .l2 0.142 0.029 4.886 0.000 0.142 0.377
## .l3 0.381 0.028 13.705 0.000 0.381 0.912
## .dogal 0.195 0.029 6.627 0.000 0.771 0.771
## .bedensel 0.176 0.033 5.263 0.000 0.610 0.610
## .uzamsal 0.180 0.029 6.107 0.000 0.428 0.428
## .muziksel 0.261 0.076 3.418 0.001 0.899 0.899
## .mantiksal 0.173 0.040 4.351 0.000 0.451 0.451
## .dilsel 0.230 0.036 6.399 0.000 0.876 0.876
## genel 0.058 0.016 3.653 0.000 1.000 1.000
fitMeasures(
fit_2,
c("chisq","df","pvalue","cfi","tli","rmsea","srmr","aic")
)
## chisq df pvalue cfi tli rmsea srmr aic
## 441.138 183.000 0.000 0.925 0.914 0.060 0.079 17028.833
İkinci dereceden altı faktörlü modele ait uyum indeksleri incelendiğinde modelin veri ile kabul edilebilir düzeyde uyum gösterdiği görülmektedir.
CFI ve TLI değerlerinin .90’ın üzerinde olması model uyumunun kabul edilebilir düzeyde olduğunu göstermektedir. RMSEA değerinin .06 civarında olması iyi uyuma yakın kabul edilebilir bir uyuma işaret etmektedir. SRMR değerinin .08’in altında olması da modelin veri ile uyumlu olduğunu desteklemektedir.
Modelin ki-kare değeri anlamlı bulunmuştur: χ^2 (183)=441.138, p<.001
Ancak ki-kare istatistiğinin örneklem büyüklüğüne duyarlı olması nedeniyle model değerlendirmesinde diğer uyum indeksleri dikkate alınmıştır.
Üst düzey genel faktöre ait standartlaştırılmış yükler incelendiğinde özellikle uzamsal, mantıksal ve bedensel boyutların genel faktör ile daha güçlü ilişki gösterdiği görülmektedir.
İki model karşılaştırıldığında altı faktörlü birinci düzey modelin uyum indekslerinin ikinci dereceden modele göre bir miktar daha iyi olduğu görülmektedir. Bununla birlikte ikinci dereceden modelin uyum indeksleri de kabul edilebilir sınırlar içerisinde kalmıştır. Bu durum, alt boyutların hem birbirinden ayrıştığını hem de ortak bir genel yapı altında temsil edilebildiğini göstermektedir.
model_3 <- '
# Birinci düzey faktörler
dogal =~ n1 + n2 + n3 + n4 + n5 + n6
bedensel =~ bk1 + bk2 + bk3 + bk4
uzamsal =~ s1 + s2 + s3
muziksel =~ m1 + m2
mantiksal =~ lm1 + lm2 + lm3
dilsel =~ l1 + l2 + l3
# İkinci düzey faktörler
bilissel =~ dogal + uzamsal + mantiksal + dilsel
bilissel_olmayan =~ bedensel + muziksel
# Üst faktörler arası ilişki
bilissel ~~ bilissel_olmayan
'
fit_3 <- cfa(
model_3,
sample.cov = cov_mat,
sample.nobs = 393
)
## Warning: lavaan->lav_object_post_check():
## some estimated ov variances are negative
summary(fit_3, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 74 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 49
##
## Number of observations 393
##
## Model Test User Model:
##
## Test statistic 427.589
## Degrees of freedom 182
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3653.020
## Degrees of freedom 210
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.929
## Tucker-Lewis Index (TLI) 0.918
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -8459.642
## Loglikelihood unrestricted model (H1) -8245.847
##
## Akaike (AIC) 17017.284
## Bayesian (BIC) 17212.001
## Sample-size adjusted Bayesian (SABIC) 17056.525
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.059
## 90 Percent confidence interval - lower 0.051
## 90 Percent confidence interval - upper 0.066
## P-value H_0: RMSEA <= 0.050 0.025
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.080
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## dogal =~
## n1 1.000 0.503 0.642
## n2 0.929 0.090 10.324 0.000 0.467 0.583
## n3 1.071 0.089 12.064 0.000 0.538 0.702
## n4 1.345 0.102 13.188 0.000 0.676 0.786
## n5 1.597 0.112 14.316 0.000 0.803 0.879
## n6 1.529 0.105 14.559 0.000 0.769 0.903
## bedensel =~
## bk1 1.000 0.544 0.684
## bk2 0.985 0.104 9.519 0.000 0.536 0.713
## bk3 0.580 0.087 6.662 0.000 0.315 0.416
## bk4 0.682 0.092 7.410 0.000 0.371 0.471
## uzamsal =~
## s1 1.000 0.649 0.872
## s2 0.942 0.046 20.538 0.000 0.611 0.856
## s3 0.945 0.048 19.553 0.000 0.614 0.822
## muziksel =~
## m1 1.000 0.479 0.487
## m2 2.558 0.804 3.180 0.001 1.225 1.169
## mantiksal =~
## lm1 1.000 0.617 0.533
## lm2 1.604 0.160 10.017 0.000 0.989 0.840
## lm3 1.325 0.133 9.981 0.000 0.817 0.810
## dilsel =~
## l1 1.000 0.515 0.855
## l2 0.938 0.118 7.923 0.000 0.483 0.786
## l3 0.370 0.074 5.038 0.000 0.191 0.295
## bilissel =~
## dogal 1.000 0.473 0.473
## uzamsal 2.144 0.333 6.444 0.000 0.786 0.786
## mantiksal 1.930 0.340 5.675 0.000 0.744 0.744
## dilsel 0.735 0.171 4.292 0.000 0.340 0.340
## bilissel_olmayan =~
## bedensel 1.000 0.885 0.885
## muziksel 0.346 0.142 2.441 0.015 0.348 0.348
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## bilissel ~~
## bilissel_olmyn 0.076 0.015 5.128 0.000 0.661 0.661
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .n1 0.362 0.027 13.175 0.000 0.362 0.588
## .n2 0.423 0.032 13.399 0.000 0.423 0.660
## .n3 0.298 0.023 12.839 0.000 0.298 0.507
## .n4 0.284 0.024 12.035 0.000 0.284 0.383
## .n5 0.190 0.020 9.675 0.000 0.190 0.228
## .n6 0.134 0.016 8.475 0.000 0.134 0.185
## .bk1 0.337 0.036 9.369 0.000 0.337 0.533
## .bk2 0.277 0.032 8.598 0.000 0.277 0.492
## .bk3 0.475 0.037 12.974 0.000 0.475 0.827
## .bk4 0.482 0.038 12.584 0.000 0.482 0.778
## .s1 0.132 0.016 8.394 0.000 0.132 0.239
## .s2 0.136 0.015 9.146 0.000 0.136 0.268
## .s3 0.180 0.017 10.368 0.000 0.180 0.324
## .m1 0.738 0.086 8.544 0.000 0.738 0.763
## .m2 -0.402 0.449 -0.895 0.371 -0.402 -0.366
## .lm1 0.961 0.074 12.933 0.000 0.961 0.716
## .lm2 0.410 0.061 6.728 0.000 0.410 0.295
## .lm3 0.349 0.044 7.871 0.000 0.349 0.343
## .l1 0.098 0.032 3.049 0.002 0.098 0.270
## .l2 0.144 0.029 4.903 0.000 0.144 0.382
## .l3 0.381 0.028 13.709 0.000 0.381 0.913
## .dogal 0.196 0.030 6.637 0.000 0.776 0.776
## .bedensel 0.064 0.050 1.272 0.203 0.217 0.217
## .uzamsal 0.161 0.031 5.278 0.000 0.383 0.383
## .muziksel 0.202 0.064 3.171 0.002 0.879 0.879
## .mantiksal 0.170 0.040 4.270 0.000 0.446 0.446
## .dilsel 0.234 0.037 6.351 0.000 0.885 0.885
## bilissel 0.057 0.016 3.614 0.000 1.000 1.000
## bilissel_olmyn 0.231 0.061 3.785 0.000 1.000 1.000
fitMeasures(
fit_3,
c("chisq","df","pvalue","cfi","tli","rmsea","srmr","aic")
)
## chisq df pvalue cfi tli rmsea srmr aic
## 427.589 182.000 0.000 0.929 0.918 0.059 0.080 17017.284
Elde edilen uyum indeksleri incelendiğinde modelin veri ile kabul edilebilir düzeyde uyum gösterdiği görülmektedir.
CFI ve TLI değerlerinin .90’ın üzerinde olması model uyumunun kabul edilebilir düzeyde olduğunu göstermektedir. RMSEA değerinin .06’ya yakın olması modelin iyi uyuma yakın kabul edilebilir bir uyum gösterdiğine işaret etmektedir. SRMR değerinin .08 düzeyinde olması modelin sınırda kabul edilebilir uyuma sahip olduğunu göstermektedir.
Ki-kare değeri anlamlı bulunmuştur: χ^2 (182)=427.589, p<.001
Modelde bilişsel ve bilişsel olmayan üst faktörleri arasındaki ilişki pozitif ve anlamlı bulunmuştur. Bu bulgu, iki üst yapının birbirinden tamamen bağımsız olmadığını göstermektedir.
Karşılaştırma sonucunda en iyi uyumun birinci modelde elde edildiği görülmektedir. İki ikinci dereceden faktörlü model de kabul edilebilir uyum göstermesine rağmen negatif varyans problemi nedeniyle dikkatli değerlendirilmelidir.
model_4 <- '
# Genel faktör
genel =~ n1 + n2 + n3 + n4 + n5 + n6 +
bk1 + bk2 + bk3 + bk4 +
s1 + s2 + s3 +
m1 + m2 +
lm1 + lm2 + lm3 +
l1 + l2 + l3
# Grup faktörleri
dogal =~ n1 + n2 + n3 + n4 + n5 + n6
bedensel =~ bk1 + bk2 + bk3 + bk4
uzamsal =~ s1 + s2 + s3
muziksel =~ m1 + m2
mantiksal =~ lm1 + lm2 + lm3
dilsel =~ l1 + l2 + l3
# Orthogonal yapı
genel ~~ 0*dogal
genel ~~ 0*bedensel
genel ~~ 0*uzamsal
genel ~~ 0*muziksel
genel ~~ 0*mantiksal
genel ~~ 0*dilsel
dogal ~~ 0*bedensel
dogal ~~ 0*uzamsal
dogal ~~ 0*muziksel
dogal ~~ 0*mantiksal
dogal ~~ 0*dilsel
bedensel ~~ 0*uzamsal
bedensel ~~ 0*muziksel
bedensel ~~ 0*mantiksal
bedensel ~~ 0*dilsel
uzamsal ~~ 0*muziksel
uzamsal ~~ 0*mantiksal
uzamsal ~~ 0*dilsel
muziksel ~~ 0*mantiksal
muziksel ~~ 0*dilsel
mantiksal ~~ 0*dilsel
'
fit_4 <- cfa(
model_4,
sample.cov = cov_mat,
sample.nobs = 393
)
## Warning: lavaan->lav_model_vcov():
## Could not compute standard errors! The information matrix could not be
## inverted. This may be a symptom that the model is not identified.
summary(fit_4, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 79 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 63
##
## Number of observations 393
##
## Model Test User Model:
##
## Test statistic 322.644
## Degrees of freedom 168
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3653.020
## Degrees of freedom 210
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.955
## Tucker-Lewis Index (TLI) 0.944
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -8407.169
## Loglikelihood unrestricted model (H1) -8245.847
##
## Akaike (AIC) 16940.338
## Bayesian (BIC) 17190.688
## Sample-size adjusted Bayesian (SABIC) 16990.791
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.048
## 90 Percent confidence interval - lower 0.040
## 90 Percent confidence interval - upper 0.056
## P-value H_0: RMSEA <= 0.050 0.620
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.051
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## genel =~
## n1 1.000 0.317 0.404
## n2 0.580 NA 0.184 0.229
## n3 0.640 NA 0.203 0.265
## n4 1.070 NA 0.339 0.394
## n5 1.566 NA 0.497 0.543
## n6 1.138 NA 0.361 0.424
## bk1 0.987 NA 0.313 0.394
## bk2 0.923 NA 0.293 0.390
## bk3 0.181 NA 0.057 0.076
## bk4 1.244 NA 0.394 0.501
## s1 1.636 NA 0.519 0.697
## s2 1.492 NA 0.473 0.662
## s3 1.490 NA 0.472 0.633
## m1 0.435 NA 0.138 0.140
## m2 0.927 NA 0.294 0.280
## lm1 1.179 NA 0.374 0.323
## lm2 2.298 NA 0.728 0.618
## lm3 1.939 NA 0.615 0.609
## l1 0.524 NA 0.166 0.276
## l2 0.460 NA 0.146 0.237
## l3 0.857 NA 0.272 0.421
## dogal =~
## n1 1.000 0.393 0.501
## n2 1.114 NA 0.438 0.547
## n3 1.302 NA 0.512 0.667
## n4 1.492 NA 0.586 0.681
## n5 1.617 NA 0.635 0.695
## n6 1.740 NA 0.684 0.803
## bedensel =~
## bk1 1.000 0.426 0.536
## bk2 1.129 NA 0.481 0.640
## bk3 0.911 NA 0.388 0.512
## bk4 0.319 NA 0.136 0.173
## uzamsal =~
## s1 1.000 0.379 0.509
## s2 1.040 NA 0.394 0.552
## s3 1.050 NA 0.398 0.533
## muziksel =~
## m1 1.000 0.788 0.801
## m2 0.881 NA 0.694 0.662
## mantiksal =~
## lm1 1.000 0.533 0.460
## lm2 1.274 NA 0.680 0.577
## lm3 0.975 NA 0.520 0.516
## dilsel =~
## l1 1.000 0.495 0.822
## l2 0.921 NA 0.456 0.743
## l3 0.194 NA 0.096 0.148
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## genel ~~
## dogal 0.000 0.000 0.000
## bedensel 0.000 0.000 0.000
## uzamsal 0.000 0.000 0.000
## muziksel 0.000 0.000 0.000
## mantiksal 0.000 0.000 0.000
## dilsel 0.000 0.000 0.000
## dogal ~~
## bedensel 0.000 0.000 0.000
## uzamsal 0.000 0.000 0.000
## muziksel 0.000 0.000 0.000
## mantiksal 0.000 0.000 0.000
## dilsel 0.000 0.000 0.000
## bedensel ~~
## uzamsal 0.000 0.000 0.000
## muziksel 0.000 0.000 0.000
## mantiksal 0.000 0.000 0.000
## dilsel 0.000 0.000 0.000
## uzamsal ~~
## muziksel 0.000 0.000 0.000
## mantiksal 0.000 0.000 0.000
## dilsel 0.000 0.000 0.000
## muziksel ~~
## mantiksal 0.000 0.000 0.000
## dilsel 0.000 0.000 0.000
## mantiksal ~~
## dilsel 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .n1 0.360 NA 0.360 0.585
## .n2 0.416 NA 0.416 0.648
## .n3 0.285 NA 0.285 0.485
## .n4 0.282 NA 0.282 0.381
## .n5 0.185 NA 0.185 0.221
## .n6 0.128 NA 0.128 0.176
## .bk1 0.353 NA 0.353 0.558
## .bk2 0.247 NA 0.247 0.438
## .bk3 0.421 NA 0.421 0.732
## .bk4 0.445 NA 0.445 0.719
## .s1 0.141 NA 0.141 0.255
## .s2 0.131 NA 0.131 0.256
## .s3 0.175 NA 0.175 0.315
## .m1 0.328 NA 0.328 0.339
## .m2 0.532 NA 0.532 0.484
## .lm1 0.918 NA 0.918 0.684
## .lm2 0.396 NA 0.396 0.285
## .lm3 0.369 NA 0.369 0.363
## .l1 0.090 NA 0.090 0.248
## .l2 0.148 NA 0.148 0.392
## .l3 0.335 NA 0.335 0.801
## genel 0.100 NA 1.000 1.000
## dogal 0.155 NA 1.000 1.000
## bedensel 0.181 NA 1.000 1.000
## uzamsal 0.144 NA 1.000 1.000
## muziksel 0.621 NA 1.000 1.000
## mantiksal 0.284 NA 1.000 1.000
## dilsel 0.245 NA 1.000 1.000
fitMeasures(
fit_4,
c("chisq","df","pvalue","cfi","tli","rmsea","srmr","aic")
)
## chisq df pvalue cfi tli rmsea srmr aic
## 322.644 168.000 0.000 0.955 0.944 0.048 0.051 16940.338
Uyum indeksleri incelendiğinde bifactor modelin veri ile oldukça iyi uyum gösterdiği görülmektedir.
CFI ve TLI değerlerinin .95’e yakın olması modelin yüksek düzeyde uyum gösterdiğini ortaya koymaktadır. RMSEA değerinin .05’in altında olması modelin iyi uyuma sahip olduğunu göstermektedir. SRMR değerinin .08’in oldukça altında olması da model uyumunu desteklemektedir.
Ki-kare değeri anlamlı bulunmuştur:
χ^2(168)=322.644, p<.001
model_karsilastirma <- data.frame(
Model = c(
"Altı faktörlü model",
"Tek ikinci düzey model",
"İki ikinci düzey faktörlü model",
"Bifactor model"
),
CFI = c(0.932, 0.925, 0.929, 0.955),
TLI = c(0.918, 0.914, 0.918, 0.944),
RMSEA = c(0.059, 0.060, 0.059, 0.048),
SRMR = c(0.074, 0.079, 0.080, 0.051)
)
model_karsilastirma
## Model CFI TLI RMSEA SRMR
## 1 Altı faktörlü model 0.932 0.918 0.059 0.074
## 2 Tek ikinci düzey model 0.925 0.914 0.060 0.079
## 3 İki ikinci düzey faktörlü model 0.929 0.918 0.059 0.080
## 4 Bifactor model 0.955 0.944 0.048 0.051
Tüm modeller arasında en iyi uyumun bifactor modelde elde edildiği görülmektedir. Bifactor modelin CFI ve TLI değerlerinin en yüksek, RMSEA ve SRMR değerlerinin ise en düşük olması modelin veri yapısını diğer modellere göre daha iyi açıkladığını göstermektedir.
Bu bulgu, zeka yapısının hem genel bir faktör hem de birbirinden ayrışan özel alan faktörleri tarafından açıklanabileceğini desteklemektedir. Dolayısıyla bifactor modelin mevcut veri seti için en uygun model olduğu söylenebilir.
library(lavaan)
library(semTools)
library(psych)
# Veri setini yükleme
mot <- readRDS("mot.Rds")
# Değişken adlarını kontrol etme
names(mot)
## [1] "ext1" "ext2" "ext3" "ext4" "ext5" "ext6" "ext7" "ext8" "ext9"
## [10] "ext10" "ext11" "ext12" "int1" "int2" "int3" "int4" "int5"
# İki faktörlü model
model_1 <- '
dissal =~ ext1 + ext2 + ext3 + ext4 + ext5 + ext6 +
ext7 + ext8 + ext9 + ext10 + ext11 + ext12
icsel =~ int1 + int2 + int3 + int4 + int5
'
# DFA (kategorik veri için)
fit_1 <- cfa(
model_1,
data = mot,
ordered = names(mot),
estimator = "WLSMV"
)
# Sonuçlar
summary(
fit_1,
fit.measures = TRUE,
standardized = TRUE,
rsquare = 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
## dissal =~
## 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
## icsel =~
## 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
## dissal ~~
## icsel 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
## dissal 0.153 0.038 3.984 0.000 1.000 1.000
## icsel 0.673 0.051 13.305 0.000 1.000 1.000
##
## R-Square:
## Estimate
## ext1 0.153
## ext2 0.159
## ext3 0.043
## ext4 0.342
## ext5 0.005
## ext6 0.027
## ext7 0.310
## ext8 0.641
## ext9 0.549
## ext10 0.381
## ext11 0.631
## ext12 0.516
## int1 0.673
## int2 0.575
## int3 0.669
## int4 0.553
## int5 0.815
# Uyum indeksleri
fitMeasures(
fit_1,
c("cfi.scaled", "tli.scaled", "rmsea.scaled", "srmr")
)
## cfi.scaled tli.scaled rmsea.scaled srmr
## 0.879 0.861 0.061 0.119
# Modifikasyon indeksleri
modindices(fit_1, sort. = TRUE, minimum.value = 10)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 166 ext5 ~~ ext6 134.876 0.636 0.636 0.646 0.646
## 98 icsel =~ ext3 46.669 0.298 0.244 0.244 0.244
## 209 ext9 ~~ ext11 43.768 0.470 0.470 1.151 1.151
## 202 ext8 ~~ ext12 29.619 0.353 0.353 0.846 0.846
## 103 icsel =~ ext8 26.606 -0.288 -0.237 -0.237 -0.237
## 156 ext4 ~~ ext8 22.319 0.366 0.366 0.752 0.752
## 102 icsel =~ ext7 17.628 0.187 0.154 0.154 0.154
## 152 ext3 ~~ int5 14.509 0.219 0.219 0.519 0.519
## 210 ext9 ~~ ext12 11.933 -0.319 -0.319 -0.682 -0.682
## 150 ext3 ~~ int3 11.887 0.196 0.196 0.348 0.348
## 104 icsel =~ ext9 11.789 0.233 0.191 0.191 0.191
## 108 ext1 ~~ ext2 10.023 0.185 0.185 0.220 0.220
İlk kurulan iki faktörlü doğrulayıcı faktör analizi modelinin uyum indeksleri incelendiğinde modelin veri ile yeterli düzeyde uyum göstermediği belirlenmiştir (CFI = 0.879, TLI = 0.861, RMSEA = 0.061, SRMR = 0.119). Özellikle SRMR değerinin yüksek olması ve CFI ile TLI değerlerinin kabul edilebilir sınırın altında kalması modelin iyileştirilmesi gerektiğini göstermektedir.
Modeldeki faktör yükleri incelendiğinde, ext5 maddesinin standartlaştırılmış faktör yükünün çok düşük (0.071) ve istatistiksel olarak anlamsız (p > .05) olduğu görülmüştür. Bu nedenle, ilgili madde ölçülen yapıyı iyi düzeyde temsil etmediği için madde çıkarılmalıdır.
Modifikasyon indeksleri incelendiğinde, bazı maddeler arasında yüksek hata kovaryansları olduğu belirlenmiştir. Özellikle:
ext9 ile ext11 ext8 ile ext12
maddeleri arasında yüksek modifikasyon indeksleri gözlenmiştir. Bu maddelerin içerik açısından benzer özellikler taşıyabileceği düşünülerek hata kovaryanslarının modele eklenmesi uygun görülmüştür.
Bu doğrultuda model şu şekilde yeniden düzenlenmiştir:
ext5 maddesi modelden çıkarılmıştır ext9 ~~ ext11 ext8 ~~ ext12
hata kovaryansları modele eklenmiştir.
model_2 <- '
dissal =~ ext1 + ext2 + ext3 + ext4 + ext6 +
ext7 + ext8 + ext9 + ext10 + ext11 + ext12
icsel =~ int1 + int2 + int3 + int4 + int5
ext9 ~~ ext11
ext8 ~~ ext12
'
fit_2 <- cfa(
model_2,
data = mot,
ordered = names(mot),
estimator = "WLSMV"
)
summary(fit_2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 39 iterations
##
## Estimator DWLS
## Optimization method NLMINB
## Number of model parameters 35
##
## Used Total
## Number of observations 795 852
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 274.278 278.032
## Degrees of freedom 101 101
## P-value (Unknown) NA 0.000
## Scaling correction factor 1.084
## Shift parameter 25.067
## simple second-order correction
##
## Model Test Baseline Model:
##
## Test statistic 4244.564 2917.158
## Degrees of freedom 120 120
## P-value NA 0.000
## Scaling correction factor 1.475
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.958 0.937
## Tucker-Lewis Index (TLI) 0.950 0.925
##
## Robust Comparative Fit Index (CFI) 0.741
## Robust Tucker-Lewis Index (TLI) 0.693
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.046 0.047
## 90 Percent confidence interval - lower 0.040 0.040
## 90 Percent confidence interval - upper 0.053 0.054
## P-value H_0: RMSEA <= 0.050 0.803 0.766
## P-value H_0: RMSEA >= 0.080 0.000 0.000
##
## Robust RMSEA 0.154
## 90 Percent confidence interval - lower 0.134
## 90 Percent confidence interval - upper 0.175
## P-value H_0: Robust RMSEA <= 0.050 0.000
## P-value H_0: Robust RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.102 0.102
##
## 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
## dissal =~
## ext1 1.000 0.421 0.421
## ext2 1.020 0.170 6.002 0.000 0.429 0.429
## ext3 0.511 0.145 3.532 0.000 0.215 0.215
## ext4 1.464 0.257 5.698 0.000 0.616 0.616
## ext6 0.320 0.166 1.923 0.054 0.134 0.134
## ext7 1.421 0.205 6.936 0.000 0.598 0.598
## ext8 1.721 0.245 7.025 0.000 0.724 0.724
## ext9 1.319 0.251 5.253 0.000 0.555 0.555
## ext10 1.573 0.225 6.981 0.000 0.662 0.662
## ext11 1.651 0.241 6.852 0.000 0.695 0.695
## ext12 1.510 0.217 6.967 0.000 0.635 0.635
## icsel =~
## int1 1.000 0.819 0.819
## int2 0.926 0.066 14.090 0.000 0.759 0.759
## int3 0.998 0.051 19.684 0.000 0.818 0.818
## int4 0.908 0.057 15.968 0.000 0.744 0.744
## int5 1.100 0.050 21.884 0.000 0.901 0.901
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ext9 ~~
## .ext11 0.399 0.073 5.492 0.000 0.399 0.667
## .ext8 ~~
## .ext12 0.281 0.063 4.479 0.000 0.281 0.527
## dissal ~~
## icsel 0.055 0.019 2.846 0.004 0.160 0.160
##
## Thresholds:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ext1|t1 0.039 0.044 0.886 0.376 0.039 0.039
## ext2|t1 0.585 0.047 12.354 0.000 0.585 0.585
## ext3|t1 0.494 0.047 10.620 0.000 0.494 0.494
## ext4|t1 1.541 0.070 21.968 0.000 1.541 1.541
## ext6|t1 -1.060 0.055 -19.316 0.000 -1.060 -1.060
## ext7|t1 0.244 0.045 5.418 0.000 0.244 0.244
## ext8|t1 1.043 0.054 19.143 0.000 1.043 1.043
## ext9|t1 1.482 0.068 21.895 0.000 1.482 1.482
## ext10|t1 0.623 0.048 13.042 0.000 0.623 0.623
## ext11|t1 1.049 0.055 19.201 0.000 1.049 1.049
## ext12|t1 0.011 0.044 0.248 0.804 0.011 0.011
## int1|t1 -0.654 0.048 -13.590 0.000 -0.654 -0.654
## int2|t1 -1.243 0.060 -20.883 0.000 -1.243 -1.243
## int3|t1 0.195 0.045 4.357 0.000 0.195 0.195
## int4|t1 -0.874 0.051 -17.051 0.000 -0.874 -0.874
## int5|t1 -0.273 0.045 -6.054 0.000 -0.273 -0.273
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ext1 0.823 0.823 0.823
## .ext2 0.816 0.816 0.816
## .ext3 0.954 0.954 0.954
## .ext4 0.620 0.620 0.620
## .ext6 0.982 0.982 0.982
## .ext7 0.643 0.643 0.643
## .ext8 0.476 0.476 0.476
## .ext9 0.692 0.692 0.692
## .ext10 0.562 0.562 0.562
## .ext11 0.517 0.517 0.517
## .ext12 0.597 0.597 0.597
## .int1 0.329 0.329 0.329
## .int2 0.424 0.424 0.424
## .int3 0.332 0.332 0.332
## .int4 0.447 0.447 0.447
## .int5 0.187 0.187 0.187
## dissal 0.177 0.043 4.089 0.000 1.000 1.000
## icsel 0.671 0.051 13.274 0.000 1.000 1.000
fitMeasures(fit_2, c("cfi.scaled","tli.scaled","rmsea.scaled","srmr"))
## cfi.scaled tli.scaled rmsea.scaled srmr
## 0.937 0.925 0.047 0.102
fitMeasures(fit_1, c("cfi.scaled","tli.scaled","rmsea.scaled","srmr"))
## cfi.scaled tli.scaled rmsea.scaled srmr
## 0.879 0.861 0.061 0.119
fitMeasures(fit_2, c("cfi.scaled","tli.scaled","rmsea.scaled","srmr"))
## cfi.scaled tli.scaled rmsea.scaled srmr
## 0.937 0.925 0.047 0.102
model_compare <- rbind(
fitMeasures(fit_1, c("cfi.scaled","tli.scaled","rmsea.scaled","srmr")),
fitMeasures(fit_2, c("cfi.scaled","tli.scaled","rmsea.scaled","srmr"))
)
model_compare <- as.data.frame(model_compare)
rownames(model_compare) <- c("Model 1", "Model 2")
model_compare
## cfi.scaled tli.scaled rmsea.scaled srmr
## Model 1 0.8793303 0.8609231 0.06089006 0.1189035
## Model 2 0.9367100 0.9248040 0.04698455 0.1019527
Karşılaştırma sonucunda, modifiye edilen modelin tüm uyum indeksleri açısından ilk modele göre daha iyi sonuç verdiği görülmektedir.CFI ve TLI değerleri artmış ve bu değerler kabul edilebilir sınır olan .90’ın üzerine çıkmıştır. RMSEA değerinin düşerek .05’in altına inmesi, modelin veri ile oldukça iyi bir uyum sağladığını göstermektedir.
SRMR değerinde de azalma görülmekle birlikte bu değerin hâlâ .08’in üzerinde olması model uyumunun ideal olmadığını göstermektedir. Ancak genel olarak değerlendirildiğinde ikinci modelin ilk modele kıyasla daha iyi uyum gösterdiği söylenebilir.
library(psych)
library(lavaan)
# Veri setini oku
aidiyet <- readRDS("aidiyet.Rds")
str(aidiyet)
## 'data.frame': 794 obs. of 12 variables:
## $ kurumsal1 : num 1 0 0 1 1 1 1 1 0 0 ...
## $ kurumsal2 : num 0 0 1 0 0 1 0 1 0 1 ...
## $ kurumsal3 : num 0 0 1 1 1 0 0 0 0 0 ...
## $ kurumsal4 : num 0 0 0 0 0 0 0 1 0 0 ...
## $ bireysel1 : num 1 0 1 1 1 1 1 1 1 1 ...
## $ bireysel2 : num 0 0 1 0 1 0 0 1 0 0 ...
## $ bireysel3 : num 1 1 1 0 1 0 0 1 0 1 ...
## $ bireysel4 : num 0 0 1 1 1 1 0 1 1 1 ...
## $ katilimsal1: num 1 0 1 1 1 1 1 1 0 1 ...
## $ katilimsal2: num 1 0 1 1 1 1 1 1 1 1 ...
## $ katilimsal3: num 0 0 1 0 0 1 0 0 1 1 ...
## $ katilimsal4: num 0 1 1 1 1 1 1 1 0 1 ...
## - attr(*, "na.action")= 'omit' Named int [1:58] 5 14 28 54 59 77 81 95 99 107 ...
## ..- attr(*, "names")= chr [1:58] "6" "22" "44" "101" ...
tetra <- tetrachoric(aidiyet)
R <- tetra$rho
round(R, 2)
## kurumsal1 kurumsal2 kurumsal3 kurumsal4 bireysel1 bireysel2
## kurumsal1 1.00 0.30 0.18 0.09 0.16 0.17
## kurumsal2 0.30 1.00 0.01 -0.02 0.07 0.02
## kurumsal3 0.18 0.01 1.00 -0.01 0.13 0.22
## kurumsal4 0.09 -0.02 -0.01 1.00 0.17 0.18
## bireysel1 0.16 0.07 0.13 0.17 1.00 0.47
## bireysel2 0.17 0.02 0.22 0.18 0.47 1.00
## bireysel3 0.12 0.09 0.29 0.12 0.29 0.41
## bireysel4 0.11 0.07 0.21 0.13 0.28 0.38
## katilimsal1 0.10 0.19 0.18 0.12 0.40 0.12
## katilimsal2 0.14 -0.02 0.23 0.01 0.50 0.05
## katilimsal3 0.06 -0.01 0.22 0.16 0.36 0.20
## katilimsal4 0.15 0.21 0.21 0.02 0.40 0.03
## bireysel3 bireysel4 katilimsal1 katilimsal2 katilimsal3 katilimsal4
## kurumsal1 0.12 0.11 0.10 0.14 0.06 0.15
## kurumsal2 0.09 0.07 0.19 -0.02 -0.01 0.21
## kurumsal3 0.29 0.21 0.18 0.23 0.22 0.21
## kurumsal4 0.12 0.13 0.12 0.01 0.16 0.02
## bireysel1 0.29 0.28 0.40 0.50 0.36 0.40
## bireysel2 0.41 0.38 0.12 0.05 0.20 0.03
## bireysel3 1.00 0.80 0.27 0.23 0.17 0.27
## bireysel4 0.80 1.00 0.31 0.31 0.16 0.35
## katilimsal1 0.27 0.31 1.00 0.67 0.64 0.63
## katilimsal2 0.23 0.31 0.67 1.00 0.60 0.65
## katilimsal3 0.17 0.16 0.64 0.60 1.00 0.57
## katilimsal4 0.27 0.35 0.63 0.65 0.57 1.00
model_1 <- '
kurumsal =~ kurumsal1 + kurumsal2 + kurumsal3 + kurumsal4
katilimsal =~ katilimsal1 + katilimsal2 +
katilimsal3 + katilimsal4
bireysel =~ bireysel1 + bireysel2 +
bireysel3 + bireysel4
'
items <- names(aidiyet)
fit_1 <- cfa(
model_1,
data = aidiyet,
ordered = items,
estimator = "WLSMV"
)
summary(fit_1, 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
fitMeasures(
fit_1,
c("chisq.scaled","df.scaled","pvalue.scaled",
"cfi.scaled","tli.scaled",
"rmsea.scaled","srmr")
)
## chisq.scaled df.scaled pvalue.scaled cfi.scaled tli.scaled
## 189.809 51.000 0.000 0.926 0.904
## rmsea.scaled srmr
## 0.059 0.088
Elde edilen uyum indeksleri incelendiğinde üç faktörlü modelin veri ile genel olarak kabul edilebilir düzeyde uyum gösterdiği görülmektedir.
CFI ve TLI değerlerinin .90’ın üzerinde olması modelin kabul edilebilir uyuma sahip olduğunu göstermektedir. RMSEA değerinin .06’ya yakın olması modelin iyi uyuma yakın kabul edilebilir bir uyum sergilediğini göstermektedir. SRMR değerinin .08 sınırına yakın olmakla birlikte kabul edilebilir düzeyde olduğu söylenebilir. Standartlaştırılmış faktör yükleri incelendiğinde katılımsal ve bireysel boyutlardaki maddelerin çoğunlukla orta ve yüksek düzeyde faktör yüklerine sahip olduğu görülmektedir. Bununla birlikte kurumsal boyuttaki bazı maddelerin görece düşük yük değerlerine sahip olduğu dikkat çekmektedir.
model_2 <- '
# Birinci düzey faktörler
kurumsal =~ kurumsal1 + kurumsal2 +
kurumsal3 + kurumsal4
katilimsal =~ katilimsal1 + katilimsal2 +
katilimsal3 + katilimsal4
bireysel =~ bireysel1 + bireysel2 +
bireysel3 + bireysel4
# İkinci düzey faktör
aidiyet_genel =~ kurumsal +
katilimsal +
bireysel
'
fit_2 <- cfa(
model_2,
data = aidiyet,
ordered = items,
estimator = "WLSMV"
)
summary(
fit_2,
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
## aidiyet_genel =~
## 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
## aidiyet_genel 0.076 0.035 2.180 0.029 1.000 1.000
fitMeasures(
fit_2,
c("chisq.scaled","df.scaled","pvalue.scaled",
"cfi.scaled","tli.scaled",
"rmsea.scaled","srmr")
)
## chisq.scaled df.scaled pvalue.scaled cfi.scaled tli.scaled
## 189.809 51.000 0.000 0.926 0.904
## rmsea.scaled srmr
## 0.059 0.088
Elde edilen uyum indeksleri incelendiğinde ikinci dereceden modelin veri ile kabul edilebilir düzeyde uyum gösterdiği görülmektedir.
CFI değerinin 0.926 ve TLI değerinin 0.904 olması, modelin kabul edilebilir uyuma sahip olduğunu göstermektedir. RMSEA değerinin 0.059 olması modelin iyi uyuma yakın kabul edilebilir bir uyum sergilediğine işaret etmektedir. Benzer şekilde SRMR değerinin 0.088 olduğu görülmüş olup bu değer sınırda kabul edilebilir uyuma işaret etmektedir.
İkinci düzey faktör yükleri incelendiğinde:
katılımsal boyutun genel aidiyet faktörüne standartlaştırılmış yükünün 0.631, bireysel boyutun 0.732, kurumsal boyutun ise 0.761
olduğu görülmektedir. Bu bulgular, üç alt boyutun da genel aidiyet yapısını anlamlı biçimde temsil ettiğini göstermektedir.