带有 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) 

我感到困惑的是modealt。我会认为因变量将是多项选择,这似乎是alt(海滩、船、包机或码头)。

取而代之的是这个逻辑变量modemode 是什么?

为了澄清我的理解,我阅读了有关该主题的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 选择模型的主要内容,如果未能解决你的问题,请参考以下文章

一个 VPC 终端节点用于 AWS 中的多项服务

Paypal 立即付款按钮:单个项目的多项费用说明

限制反应中的多项选择

报表生成器 3 中的多项选择

TreeView 中的多项选择

where 子句中的多项选择