Почему объявленная порядковая переменная как эндогенная переменная в SEM не работает? - PullRequest
0 голосов
/ 02 мая 2019

У меня есть модель CFA + модель структурной регрессии для моего набора данных. Модель CFA работает хорошо. Однако структурная регрессия не работает, потому что у меня есть порядковая переменная в структурной модели как эндогенная переменная. Я всегда получаю предупреждающее сообщение, за которым следует сообщение об ошибке:

lavaan ПРЕДУПРЕЖДЕНИЕ: проблема построения матрицы W; используется обобщенное обратное значение для подматрицы A11

Ошибка в nlminb (начало = start.x, цель = цель_функция, градиент = GRADIENT,:

NA / NaN оценка градиента

Я использовал RStudio 1.1.463 и R 3.5.2 для создания и запуска модели. Моя лаваан версия 0.6-3.

Экзогенные переменные в структурной модели:

  • пол (3 уровня, номинальная переменная)
  • длительность (6 уровней, порядковая переменная)
  • задание (6 уровней, порядковая переменная)
  • время (6 уровней, порядковая переменная)

Я превратил их в фиктивные переменные.

Эндогенные переменные:

  • F1 (скрытая переменная)
  • F2 (скрытая переменная)
  • цена (порядковая переменная)
  • вероятно (числовая, конечная эндогенная переменная)

Я объявил «цену» как «порядковый», как указано на этой странице http://lavaan.ugent.be/tutorial/cat.html,, но она все еще не работает.

Ниже приведены мои коды для этого вопроса:

sem.initial.model.dummy2 <- '
  # Measurement model
  F1 =~ Y1 + Y2 + Y3 + Y4
  F2 =~ Y5 + Y6 + Y7 + Y8 + Y9
  Y8 ~~ Y9
  Y5 ~~ Y6
  Y2 ~~ Y4

  # Structural Regression model
  F1 ~ b2*gender_2 + b3*gender_3 + d2*duration_2 + d3*duration_3 + d4*duration_4 + d5*duration_NA + g2*job_2 + g3*job_3 + g4*job_4
  F2 ~ l*F1 + c2*gender_2 + c3*gender_3 + e2*duration_2 + e3*duration_3 + e4*duration_4 + e5*duration_NA + h2*job_2 + h3*job_3 + h4*job_4
  price ~ f2*duration_2 + f3*duration_3 + f4*duration_4 + f5*duration_NA + i2*job_2 + i3*job_3 + i4*job_4
  likely ~ o*F1 + r*F2 + p*price + j2*time_2 + j3*time_3 + j4*time_NA

  #I skipped the codes for indirect effects here'

sem.initial.model.dummy2.fit <- sem(sem.initial.model.dummy2, data = dat4, ordered = 'price')

summary(sem.initial.model.dummy2.fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE, modindices = TRUE)

Я просто хочу успешно запустить модель структурной регрессии с "ценой" в качестве порядковой эндогенной переменной. Кто-нибудь может помочь с этим? Спасибо!

...