我正在尝试处理R中的包mlogit以构建运输模式选择模型。我搜索了类似的问题,但我找不到任何东西。
我在logit模型中有一组3个替代方案(步行,自动,中转),具有替代的特定变量(不同替代方案的相同参数)和单独的替代特定变量(例如:0(如果没有)/ 1(如果是的)家庭目的地旅行,仅适用于步行模式)。
我想只在其中一个替代品(自动)中进行拦截,但我无法做到这一点。使用reflevel,它只涉及其中一个替代方案,我得到两个拦截。
ml.data <- mlogit(choice ~ t + cost | dhome, mode, reflevel = "transit")
这不符合我的意愿。
此外,我想像之前所说的那样设置替代的特定变量。将它们插入mlogit公式的第2部分,我会得到两个参数值,但我想只提供一个参数,用于上述替代方案。
有人可以帮助我吗?
答案 0 :(得分:1)
你无法做你想做的事。这不是mlogit
的问题,而是多项逻辑回归如何运作的问题。如果您的因变量有3个级别,您将有2个截距。而且你必须对整个模型使用相同的自变量(对于所有回归方法都是如此)。
答案 1 :(得分:0)
然而,参考问题的第二部分(“个别替代特定变量(例如:0(如果没有)/ 1(如果是)家庭目的地旅行,仅适用于步行模式”)我试图修改数据集通过插入3列(dhome.auto [全零],dhome.transit [全零]和dhome.walk [0如果没有/ 1如果是的话它是一个家庭目的地旅行])以获得这个变量有效的步行模式,即使它现在作为替代特定变量被追踪。然后
setHasOptionsMenu(true);
这是一种技巧,但似乎有效