我对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)
我发现令人困惑的是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
是一个逻辑变量,所以我很困惑。
答案 0 :(得分:2)
哦,好的。我想我现在看到 - mode
表示根据每个选择集的特征选择了四种可能的选择中的哪一种。这是有道理的。