Я пытаюсь использовать пакет mlogit
в R, чтобы смоделировать основной выбор студента колледжа на выпускном экзамене, в зависимости от основного среднего балла успеваемости, дохода семьи журнала и сначала выбранной специальности.Первый выбранный мажор - это факторная переменная со всеми возможными вариантами выбора в majorcode
, за исключением 6
, что означает исключение из школы.Для справки вот примерные данные для трех студентов:
studentid majorcode choice majorgpa faminc firstmajor
1001 1 0 0 9.2 5
1001 2 0 0 9.2 5
1001 3 0 1.9 9.2 5
1001 4 0 0 9.2 5
1001 5 1 3.4 9.2 5
1001 6 0 0 9.2 5
1006 1 1 2.7 10.7 1
1006 2 0 2 10.7 1
1006 3 0 2.8 10.7 1
1006 4 0 0 10.7 1
1006 5 0 3 10.7 1
1006 6 0 0 10.7 1
1019 1 0 0 9.6 5
1019 2 0 0 9.6 5
1019 3 0 0 9.6 5
1019 4 0 0 9.6 5
1019 5 1 3.2 9.6 5
1019 6 0 0 9.6 5
Моя проблема возникает, когда я пытаюсь запустить mlogit.Добавление первой переменной основного фактора приводит к следующей ошибке:
> mlogit(choice ~ majorgpa | 1 + faminc + firstmajor,
+ data=mydata,
+ reflevel=6)
Error in solve.default(H, g[!fixed]) :
system is computationally singular: reciprocal condition number = 1.04405e-16
Я почти уверен, что эта ошибка возникает из-за того, что в моих данных нет ни одного ученика, чей выбор - майор 3, но чей первый майор был мажор 4, предотвращаяидентификация одной из моих факторных переменных.Тем не менее, asclogit
в Stata может запустить модель и дать мне результаты, если я использую следующую команду:
asclogit choice majorgpa2, case(studentid) alt(majorcode) casevars(faminc i.firstmajor) base(6)
Оценки включают оценочный коэффициент для факторной переменной, которую не следует идентифицировать (4.firstmajor
под majorcode = 3
), хотя стандартная ошибка очень большая.Я не могу понять, как Stata мог бы найти коэффициент для этой переменной - обычно я бы предположил, что Stata отбросит переменную из-за пустой ячейки.Может ли кто-нибудь пролить свет на различия между тем, как R решает mlogit
и Stata решает asclogit
, или с максимальной вероятностью в целом, которые могут вызвать эту странную проблему?