Как не допустить корреляции терминов ошибок в SEM с lavaan

#r #r-lavaan #sem

#r #r-lavaan #sem

Вопрос:

В настоящее время я работаю над проведением анализа моделирования структурных уравнений с набором данных, и я сталкиваюсь с несколькими проблемами. Перед запуском полного sem я намеревался запустить CFA для репликации психометрического тестирования, выполненного с помощью этой меры, которую я использую. Эта мера имеет 24 элемента, которые составляют 5 подшкал (скрытые переменные), которые, в свою очередь, загружаются на «общий» коэффициент более высокого порядка. В литературе они описывают, что «Во всех моделях элементы были ограничены для загрузки только по одному фактору, условия ошибки не допускали корреляции, а дисперсия факторов была зафиксирована на 1».

У меня есть элементы ограничений для загрузки в один фактор и установки дисперсии этих факторов на 1, но у меня возникли проблемы с указанием в моей модели, что условия ошибки не могут коррелировать. Означают ли они, что срок ошибки элементов не может коррелировать? Есть ли простой способ сделать это в lavaan или мне нужно буквально перейти «y1 ~ ~ 0 y2″, «y1 ~ ~ 0 y3″ .. и так далее для каждого элемента?

Заранее благодарю вас за помощь.

Ответ №1:

По умолчанию термины ошибок не коррелируют, авторы намеревались упомянуть, что они не использовали такого рода индексы модификации. Обычно остатки элементов коррелируют внутри одного и того же фактора. Вот пример иерархической модели с тремя факторами первого порядка, с коэффициентами, дисперсия которых фиксирована на единицу, и без корреляции условий ошибки:

 library(lavaan)
#> This is lavaan 0.6-7
#> lavaan is BETA software! Please report any bugs.
#> 
HS.model3 <- ' visual  =~ x1   x2   x3
               textual =~ x4   x5   x6
               speed   =~ x7   x8   x9
                     higher =~ visual   textual   speed'

fit6 <- cfa(HS.model3, data = HolzingerSwineford1939, std.lv=T)
summary(fit6)
#> lavaan 0.6-7 ended normally after 36 iterations
#> 
#>   Estimator                                         ML
#>   Optimization method                           NLMINB
#>   Number of free parameters                         21
#>                                                       
#>   Number of observations                           301
#>                                                       
#> Model Test User Model:
#>                                                       
#>   Test statistic                                85.306
#>   Degrees of freedom                                24
#>   P-value (Chi-square)                           0.000
#> 
#> Parameter Estimates:
#> 
#>   Standard errors                             Standard
#>   Information                                 Expected
#>   Information saturated (h1) model          Structured
#> 
#> Latent Variables:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>   visual =~                                           
#>     x1                0.439    0.194    2.257    0.024
#>     x2                0.243    0.108    2.253    0.024
#>     x3                0.320    0.138    2.326    0.020
#>   textual =~                                          
#>     x4                0.842    0.064   13.251    0.000
#>     x5                0.937    0.071   13.293    0.000
#>     x6                0.780    0.060   13.084    0.000
#>   speed =~                                            
#>     x7                0.522    0.066    7.908    0.000
#>     x8                0.616    0.067    9.129    0.000
#>     x9                0.564    0.064    8.808    0.000
#>   higher =~                                           
#>     visual            1.791    0.990    1.809    0.070
#>     textual           0.617    0.129    4.798    0.000
#>     speed             0.640    0.143    4.489    0.000
#> 
#> Variances:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>    .x1                0.549    0.114    4.833    0.000
#>    .x2                1.134    0.102   11.146    0.000
#>    .x3                0.844    0.091    9.317    0.000
#>    .x4                0.371    0.048    7.779    0.000
#>    .x5                0.446    0.058    7.642    0.000
#>    .x6                0.356    0.043    8.277    0.000
#>    .x7                0.799    0.081    9.823    0.000
#>    .x8                0.488    0.074    6.573    0.000
#>    .x9                0.566    0.071    8.003    0.000
#>    .visual            1.000                           #fixed...
#>    .textual           1.000                           #fixed...
#>    .speed             1.000                           #fixed...
#>     higher            1.000
 

Создано 2021-03-08 пакетом reprex (версия 0.3.0)

Как вы можете наблюдать, никаких корреляций, коэффициентов первого и второго порядка с фиксированными отклонениями до 1 (т.Е. std.lv=T ).

Комментарии:

1. Большое вам спасибо за помощь, Синвал. Я не был уверен в том, как интерпретировать описания автора, но теперь все ясно. Приветствия!

2. Приятно это знать. Если ответ решил вашу проблему, пожалуйста, отметьте ее как решенную.