带有 mnlogit() 的 R 中的多项 Logit 选择模型
Posted
技术标签:
【中文标题】带有 mnlogit() 的 R 中的多项 Logit 选择模型【英文标题】:Multinomial Logit Choice Model in R with mnlogit() 【发布时间】:2014-12-03 07:46:40 【问题描述】:我对 R 中的 mnlogit
包有疑问,我会在 *** 上询问它,因为它与特定的语言和库有关,但是如果有人决定将其移至交叉验证(它是哪个 StackExchange 站点最合适的艰难选择)。
我只是想确保我理解它是如何工作的,因为文档不是太详细,我在这个包上看到了一些令人困惑/冲突的博客条目,而且因为我已经有几年时间了处理选择模型。
mnlogit
的示例用法基本如下:
> require(mnlogit)
> data(Fish)
> head(Fish)
mode income alt price catch chid
1.beach FALSE 7083.332 beach 157.930 0.0678 1
1.boat FALSE 7083.332 boat 157.930 0.2601 1
1.charter TRUE 7083.332 charter 182.930 0.5391 1
1.pier FALSE 7083.332 pier 157.930 0.0503 1
2.beach FALSE 1250.000 beach 15.114 0.1049 2
2.boat FALSE 1250.000 boat 10.534 0.1574 2
> fm <- formula(mode ~ price | income | catch)
> result <- mnlogit(fm, Fish, "alt", ncores = 2)
我感到困惑的是mode
和alt
。我会认为因变量将是多项选择,这似乎是alt
(海滩、船、包机或码头)。
取而代之的是这个逻辑变量mode
。 mode
是什么?
为了澄清我的理解,我阅读了有关该主题的R-Bloggers article。它实际上通过重复 Fish
示例使事情变得更加混乱,但是以这种方式描述数据集的序言:
一个数据框包含:
mode - The choice set: beach, pier, boat, and charter price - price for a mode for an individual catch - fish catch rate for a mode for an individual income - monthly income of the individual decision-maker chid - decision maker ID
它描述mode
好像它是alt
然后没有提到alt
。谁能给我解释一下?
如果mode
确实采用了 R-Bloggers 文章中描述的离散选择值,那么模型 formula(mode ~ price | income | catch)
对我来说是有意义的......但 mode
是一个逻辑变量,所以我是彻底糊涂了。
【问题讨论】:
【参考方案1】:哦,好的。我想我现在明白了——mode
表示根据每个选项集的特征,选择了四个可能选项中的哪一个。这是有道理的。
【讨论】:
以上是关于带有 mnlogit() 的 R 中的多项 Logit 选择模型的主要内容,如果未能解决你的问题,请参考以下文章