2017-07-23 48 views
0

我正试图在R中处理软件包mlogit以构建一个交通模式选择模型。我搜索了类似的问题,但我没有找到任何东西。我有一个logit模型,替代特定变量(不同替代品的相同参数)和个别替代特定变量(例如:0(如果否)/ 1((如果不))如果是)本地 - 目的地旅行,仅适用于步行模式)。m中的mlogit软件包:拦截和替代特定的单个变量

我想只在其中一个选项(自动)中有一个拦截,但我无法做到这一点。使用reflevel,这是指只有一种选择,我得到两个拦截。

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

这不是我想要的。

此外,我想设置替代特定变量,如我之前所说。在mlogit公式的第2部分中插入它们需要两个参数值,但我希望只有一个参数,用于上述替代方法。

任何人都可以帮助我吗?

回答

0

你不能做你想做的。这并不是mlogit的问题,这是多项逻辑回归如何工作的问题。如果你的因变量有3个等级,你将有2个拦截。而且你必须为整个模型使用相同的独立变量(所有回归方法都是如此)。

+0

谢谢您的回答彼得。也许,问题是没有明确Ë xposed,我很抱歉,但我是一名学生。我知道我可以有最大数量的(n-1)模态变量,正如我的参考书所说的那样,对于不同替代品不会变化的个别变量也是如此。我不明白为什么我不能少于(n-1)个变量,我认为应该可以实现这样的模型。 – Gio

+0

因为这就是多项逻辑回归的工作原理。无论如何,拦截通常并不感兴趣。 –

0

然而,指的是问题(第二部分“个人替代特定变量(例如:0(如果没有)/ 1(如果是)家庭目的地的行程,只为行走模式”),我试图修改通过插入3列(dhome.auto [全零],dhome.transit [全零]和dhome.walk [0,如果不是/ 1,如果是,它是本地目的地旅行]),以便获得这个变量,行走模式,即使它现在traited作为替代特定变量,然后

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

它是一种一招,但似乎工作