R中的mlogit包:拦截和替代的特定个体变量

时间:2017-07-23 17:38:40

标签: r model choice multiple-choice mlogit

我正在尝试处理R中的包mlogit以构建运输模式选择模型。我搜索了类似的问题,但我找不到任何东西。

我在logit模型中有一组3个替代方案(步行,自动,中转),具有替代的特定变量(不同替代方案的相同参数)和单独的替代特定变量(例如:0(如果没有)/ 1(如果是的)家庭目的地旅行,仅适用于步行模式)。

我想只在其中一个替代品(自动)中进行拦截,但我无法做到这一点。使用reflevel,它只涉及其中一个替代方案,我得到两个拦截。

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

这不符合我的意愿。

此外,我想像之前所说的那样设置替代的特定变量。将它们插入mlogit公式的第2部分,我会得到两个参数值,但我想只提供一个参数,用于上述替代方案。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

你无法做你想做的事。这不是mlogit的问题,而是多项逻辑回归如何运作的问题。如果您的因变量有3个级别,您将有2个截距。而且你必须对整个模型使用相同的自变量(对于所有回归方法都是如此)。

答案 1 :(得分:0)

然而,参考问题的第二部分(“个别替代特定变量(例如:0(如果没有)/ 1(如果是)家庭目的地旅行,仅适用于步行模式”)我试图修改数据集通过插入3列(dhome.auto [全零],dhome.transit [全零]和dhome.walk [0如果没有/ 1如果是的话它是一个家庭目的地旅行])以获得这个变量有效的步行模式,即使它现在作为替代特定变量被追踪。然后

setHasOptionsMenu(true);

这是一种技巧,但似乎有效