Пакет mlogit в R: перехват и альтернативные отдельные переменные

Я пытаюсь разобраться с пакетом mlogit в R, чтобы построить модель выбора режима транспортировки. Я искал похожие проблемы, но ничего не нашел.

У меня есть набор из 3 альтернатив (ходьба, авто, транспорт) в модели logit с альтернативными конкретными переменными (те же параметры для разных альтернатив) и отдельными альтернативными конкретными переменными (например: 0 (если нет) / 1 (если да) домой) -поездка по месту назначения, только для режима ходьбы).

Я хотел бы иметь перехват только в одной из альтернатив (авто), но я не могу этого сделать. Используя Reflevel, который относится только к одной из альтернатив, я получаю два перехвата.

    ml.data <- mlogit(choice ~ t + cost | dhome, mode, reflevel = "transit")

Это работает не так, как мне хотелось бы.

Более того, я хотел бы установить альтернативные конкретные переменные, как я сказал ранее. Вставьте их в часть 2 формулы mlogit, и я получу два значения параметра, но я бы хотел иметь только один параметр для упомянутой альтернативы.

Кто-нибудь может мне помочь?


person Gio    schedule 23.07.2017    source источник


Ответы (2)


Вы не можете делать то, что хотите. Это не вопрос конкретно mlogit, это вопрос того, как работает полиномиальная логистическая регрессия. Если ваша зависимая переменная имеет 3 уровня, у вас будет 2 перехвата. И вы должны использовать одни и те же независимые переменные для всей модели (это верно для всех методов регрессии).

person Peter Flom    schedule 23.07.2017
comment
Спасибо за ответ, Питер. Может вопрос явно не выставлен, извините, но я студент. Я знаю, что могу иметь максимальное количество (n-1) модальных переменных, как сказано в моем справочнике, и это верно также для отдельных переменных, которые не различаются между альтернативами. Я не могу понять, почему у меня не может быть меньше (n-1) переменной, я думал, что можно реализовать такую ​​модель. - person Gio; 25.07.2017
comment
Потому что так работает полиномиальная логистическая регрессия. Но в любом случае перехват обычно не представляет интереса. - person Peter Flom; 25.07.2017

Однако, ссылаясь на вторую часть вопроса («отдельные альтернативные конкретные переменные (например: 0 (если нет) / 1 (если да) поездка домой к месту назначения, только для режима ходьбы»), я попытался изменить набор данных, вставив 3 столбцы (dhome.auto [все нули], dhome.transit [все нули] и dhome.walk [0, если нет / 1, если да, это поездка домой]), чтобы эта переменная действовала только для режима ходьбы, даже если он теперь указан как альтернативная конкретная переменная. Тогда

    ml.data <- mlogit(choice ~ t + cost + dhome, mode, reflevel = "transit")

это своего рода уловка, но вроде работает

person Gio    schedule 25.07.2017