在R中使用mnlogit()进行多项Logit选择模型

8
我有关于R中mnlogit包的问题,这与特定语言和库相关,我将在StackOverflow上提问,但如果有人决定将其移动到Cross Validated,我不会感到不满(选择哪个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(海滩、船、包租、码头)。
相反,它是这个逻辑变量mode。什么是mode
为了尝试澄清我的理解,我阅读了R-Bloggers文章。它通过重复Fish示例来解释问题,但使用前言描述了数据集:

A data frame containing :

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个回答

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接