0

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

我在 logit 模型中有一组 3 个备选方案(步行、汽车、运输),具有备选特定变量(不同备选方案的相同参数)和单独备选特定变量(例如:0(如果否)/1(如果是)家-目的地旅行,仅适用于步行模式)。

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

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

这不像我希望的那样工作。

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

有人可以帮我吗?

4

2 回答 2

1

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

于 2017-07-23T18:13:15.617 回答
0

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

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

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

于 2017-07-25T07:20:45.883 回答