R中的多项Logit选择模型与mnlogit()

时间:2014-10-08 15:14:50

标签: r choice mlogit

我对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 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 个答案:

答案 0 :(得分:2)

哦,好的。我想我现在看到 - mode表示根据每个选择集的特征选择了四种可能的选择中的哪一种。这是有道理的。