Почему моя модель лавы не запускается, если она работает в AMOS?
Меня попросили перейти от дорогостоящей AMOS SPSS к R для запуска моделей структурных уравнений. У нас есть конкретная (и сложная) модель СЭМ, которую я пытаюсь воспроизвести в R с помощью lavaan
пакет. При запуске модели в AMOS можно рассчитать стандартные ошибки, а также все остальные запрошенные выходные данные. Я установил вероятность "wishart" в соответствии с методом AMOS. Тем не менее, когда я запускаю то, что я думаю, точно такая же модель в R lavaan
, lavaan
выдает предупреждения (см. ниже) и я получаю странный вывод. Что я пропускаю или неправильно указываю в lavaan
? Или делает lavaan
имеют другие пороги или механизмы, чем AMOS, о которых я не знаю?
Наша модель имеет три результата, связанных с преднамеренным циклом обратной связи (т. Е. Нерекурсивным). Два из этих результатов - латентные элементы. Остальная часть модели содержит 13 эндогенных переменных, довольно много из которых состоят только из двух элементов. Мы не устанавливаем никаких ковариаций. Нам известны проблемы мультиколлинеарности. Наши данные ненормальны (но были проверены в прошлом и приняты). Мы списочно-удаляем отсутствующие данные. Несмотря на все это, мы можем запустить модель в AMOS. Хотя мы никогда не достигаем незначительного значения p, мы получаем статистику приличного соответствия.
Я вернулся к более базовым моделям, чтобы посмотреть, смогу ли я в любой момент получить обе программы для запуска подходящей модели. В достаточной степени (включая все эндогенные переменные, кроме трех), lavaan
Программное обеспечение запускается, и выходные данные совпадают с выходом AMOS и работают без каких-либо предупреждений.
lav_qs_for_latents <- '
# latent variables
ELM =~ Q7855_08S + Q7355_04S
SLM =~ Q8227_06S + Q1266_06S + Q4234_06S + Q9806_15S + Q6979_13S
SP =~ Q8117_08S + Q8260_06S
RE =~ Q5074_04S + Q8641_13S + Q5704_13S + Q8511_04S
PD =~ Q3437_06S + Q9183_04S + Q9292_04S
TM =~ Q8179_04S + Q8355_04S + Q4882_06S
TW =~ Q4332_11S + Q5113_11S + Q7644_15S
SW =~ Q9958_04S + Q2928_06S
PB =~ Q1718_06S + Q2593_06S + Q8152_11S
RC =~ Q4636_08S + Q5601_06S
JS =~ Q5079_04S + Q1344_06S
EMP =~ Q8520_06S + Q8385_06S + Q3182_08S
VMG =~ Q1782_04S + Q5178_04S
COMMIT =~ Q3373_06S + Q6957_06S
# regressions
SLM ~ ELM
SP ~ ELM + SLM
RE ~ ELM + SLM + SP
PD ~ ELM + SLM + SP + RE
TM ~ SLM + RE
TW ~ ELM + PD + TM
SW ~ ELM + SLM + RE + PD + TW
PB ~ ELM + SP + TW + SW
RC ~ ELM + SLM + SP + RE + PD + SW + PB
JS ~ ELM + SLM + PD + TM
EMP ~ ELM + SLM + RE + PD + RC + JS
VMG ~ ELM + PD + TM + TW
Q2327_06S ~ SW + JS + EMP + COMMIT
Q2958_06S ~ Q2327_06S + ELM + SW + PB + EMP + VMG
COMMIT ~ Q2327_06S + Q2958_06S + TW + JS + PB + VMG
'
sem_qs_for_latents <- sem(model = lav_qs_for_latents, likelihood = "wishart", sample.cov = datacov, sample.nobs = data_N)
summary(sem_qs_for_latents, standardized=TRUE, rsquare=TRUE)
Я ожидал, что информационная матрица будет обратимой и будут рассчитаны стандартные ошибки. Вместо этого я получил следующие предупреждения:
Warning messages:
1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
Could not compute standard errors! The information matrix could
not be inverted. This may be a symptom that the model is not
identified.
2: In lav_object_post_check(object) :
lavaan WARNING: some estimated lv variances are negative
3: In lavaan::lavaan(model = lav_qs_for_latents, sample.cov = datacov, :
lavaan WARNING: not all elements of the gradient are (near) zero;
the optimizer may not have found a local solution;
use lavInspect(fit, "optim.gradient") to investigate
lavInspect(sem_qs_for_latents, "optim.gradient")
дал мне значение 0,000 для всех, кроме следующего:
TW~ELM = 0.005; TW~PD = 0.008; TW~TM = 0.002; JS~ELM = -0.002; JS~SLM = -0.002; JS~PD = -0.001; JS~TM = -0.001
Я не знаю, как загрузить свою ковариационную матрицу, но я не думаю, что это проблема, так как я могу запустить более базовые модели в lavaan
на этой ковариационной матрице с выходом, соответствующим моделям AMOS. Приношу свои извинения, если это не соответствующий вопрос. Я застрял на этом в течение нескольких недель и не знаю, куда обратиться за помощью.