SEM с лавой в R, проблемы с указанием модели с коррелированными субшкалами. ВНИМАНИЕ: не удалось вычислить стандартные ошибки.

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

Первая модель имеет пять коррелированных латентных факторов (FNR, FOB...FAA) с фиксированной дисперсией 1. Эта модель сходится без ошибок и соответствует данным. Вторая модель также работает, пока я не укажу, что субшкалы (FNR, FOB..), составляющие скрытую переменную FTOTAL, коррелированы. Однако, если я укажу, что эти субшкалы коррелированы (часть #Residual correlations), модель все равно будет работать, но выдает ошибку "ПРЕДУПРЕЖДЕНИЕ: не удалось вычислить стандартные ошибки! Не удалось инвертировать информационную матрицу. Это может быть признаком того, что модель не идентифицирована ". Если я удалю корреляцию остатков из модели 2, модель будет работать без ошибок. Код R для обоих следующий:

      
Model1 <- "
  #Measurements model
  FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
  
  FOB =~ FOB1 + FOB2 +FOB3 +FOB4
  
  FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
  
  FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
  
  FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
  

  #Residual correlations
 FAA ~~ FNJ + FOB + FDS + FNR
 FNR ~~ FNJ + FOB+ FDS
 FNJ ~~ FOB + FDS
 FOB ~~ FDS 

"
fit5factor <- sem(Model1, data=SEMDATA, std.lv=TRUE)


Model2 <- "
#Measurements model
  FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
  
  FOB =~ FOB1 + FOB2 +FOB3 +FOB4
  
  FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
  
  FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
  
  FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
  

  FTOTAL =~ FNR + FOB + FDS + FNJ+ FAA 
 

#Residual correlations
 FAA ~~ FNJ + FOB + FDS + FNR
 FNR ~~ FNJ + FOB+ FDS
 FNJ ~~ FOB + FDS
 FOB ~~ FDS 
"

fitTotal <- sem(Model2, data=SEMDATA, std.lv=TRUE)

Я впервые использую SEM, и я не уверен, что делаю не так. Разве не уместно указывать, что этим субшкалам, составляющим скрытую переменную FTOTAL, разрешено коррелировать? Из литературы я понял, что именно так должна была быть указана вторая модель (с коррелированными пятью факторами), учитывая, что в первой модели коррелированы пять аспектов. Однако, возможно, это не так, и мне следует запустить модель 2 без корреляций, но я хотел бы узнать обоснование этого и почему это не подходит.

Заранее всем спасибо за помощь.

1 ответ

Решение

Вам не нужно указывать корреляции между факторами первого порядка. Параметры по умолчанию lavaanсоотнесет их. Если вы не хотите соотносить их, вы можете использовать orthogonal=T внутри cfa() функция.

      
Model1 <- "
  #Measurements model
  FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
  
  FOB =~ FOB1 + FOB2 +FOB3 +FOB4
  
  FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
  
  FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
  
  FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
"
fit5factor <- sem(Model1, data=SEMDATA, std.lv=TRUE)

Что касается иерархической структуры, у вас нет корреляций между факторами первого порядка, поскольку на них воздействует одна и та же скрытая (то есть второго порядка) нагрузка:

      Model2 <- "
#Measurements model
  FNR =~ FNR1 + FNR2 + FNR3 +FNR4 +FNR5
  
  FOB =~ FOB1 + FOB2 +FOB3 +FOB4
  
  FDS =~ FDS1 +FDS2 +FDS3 + FDS4 + FDS5
  
  FNJ =~ FNJ1 + FNJ2 + FNJ3 +FNJ4 + FNJ5
  
  FAA =~ FAA1 + FAA2 +FAA3 + FAA4 +FAA5
  
  FTOTAL =~ FNR + FOB + FDS + FNJ+ FAA 
"

fitTotal <- sem(Model2, data=SEMDATA, std.lv=TRUE)

Если это решит вашу проблему, отметьте ее как решенную.

Другие вопросы по тегам