R 中使用 mnlogit() 的多项式 Logit 选择模型

Multinomial Logit Choice Model in R with mnlogit()

提问人:Hack-R 提问时间:10/8/2014 最后编辑:Daniel WiddisHack-R 更新时间:1/4/2023 访问量:2125

问:

我对 R 中的包有疑问,我会在 StackOverflow 上问它,因为它与特定的语言和库有关,但是如果有人决定将其移动到交叉验证,我不会被冒犯(这是一个艰难的选择哪个 StackExchange 站点最合适)。mnlogit

我只是想确保我理解它是如何工作的,因为文档不是太详细,我在这个包上看到了一些令人困惑/冲突的博客条目,而且因为我已经处理了几年的选择模型。

的示例用法基本如下: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) 

我发现令人困惑的是和.我本来以为因变量是多项式选择,它似乎是(海滩、船、包机或码头)。modealtalt

相反,它是这个逻辑变量。什么 ?modemode

为了澄清我的理解,我阅读了一篇关于该主题的 R-Bloggers 文章。它实际上通过重复这个例子使事情变得更加混乱,但前言是这样描述数据集的: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

它描述好像当时没有提到.有人可以向我解释一下吗?modealtalt

如果真的采用了 R-Bloggers 文章中描述的离散选择值,那么该模型对我来说是有意义的......但是一个逻辑变量,所以我完全困惑了。modeformula(mode ~ price | income | catch)mode

R mlogit

评论


答:

2赞 Hack-R 10/8/2014 #1

哦,好吧。我想我现在明白了 -- 表示选择了四个可能的选项中的哪一个,给定每个选项集的特征。这是有道理的。mode