Ошибка получения сингулярности матрицы, когда данные не единичны - PullRequest
0 голосов
/ 10 мая 2019

Я объединил набор данных об образовании Барро с таблицей мира Пенна.Сейчас я выполняю регрессию на наборе данных панели, используя системный оценщик GMM, с временными эффектами в выражении ошибки (twoways).Я получаю сообщение об ошибке, говорящее, что моя матрица является единственной.Я понимаю, что это означает, что мой детерминант не существует, но я считаю, что это проблема кодирования, поскольку модель будет работать, если я использую лаг dplyr, а не plm.

sauer.fvm3.pgmm1 <- pgmm(GDP.Growth ~ plm::lag(GDP.Growth,1)+Pop.Growth+ Ge.f+Cap.Growth|plm::lag(GDP.Growth,2:99),
                       data = sauer.fvm3,effect= 'twoways',index=c('country','year'), 
                       transformation="ld"
                       )
summary(sauer.fvm3.pgmm1)

Ошибка вsolve.default (crossprod (WX, t (crossprod (WX, A1))))): подпрограмма Лапака dgesv: система точно единственная: U [1,1] = 0

Дополнительно:

Предупреждающее сообщение: в пгмм (GDP.Growth ~ plm :: lag (GDP.Growth, 1) + Pop.Growth + Ge.f +: матрица первого шага является единственной, общая обратнаяиспользуется

и когда я использую:

sauer.fvm3.pgmm1 <- pgmm(GDP.Growth ~ dplyr::lag(GDP.Growth,1)+Pop.Growth+ Ge.f+Cap.Growth|dplyr::lag(GDP.Growth,2:99),
                       data = sauer.fvm3,effect= 'twoways',index=c('country','year'), 
                       transformation="ld"
                       )
summary(sauer.fvm3.pgmm1)

Я получаю только это предупреждение:

Предупреждающее сообщение: в пгмм (GDP.Growth ~dplyr :: lag (GDP.Growth, 1) + Pop.Growth + Ge.f +: матрица второго шага является единственной, используется общая обратная *

Коэффициенты dplyr не имеютимеет теоретический смысл и не соответствует статье, которую я воссоздаю. Я не понимаю, почему лаги PLM не работают или даже если они являются проблемой. Любая помощь с этимбыл бы очень признателен.

...