问题标签 [mlogit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
300 浏览

r - 在 R 依赖和独立分类变量中使用 mlogit

我有两个向量(A 和 B),其中包含 36 个主题的分类数据。A_i,j 是 categorytype1 j,主题 i 适合,B_i,k 是主题 i 的 categorytype2 k。i=1:36, j=1:5 和 k=1:6。

我想找到每个类别组合的概率。因此,对于所有 j=1:5 和 k=1:6,受试者有什么机会选择类别 j和k。

我被告知 probit/logit 模型是解决这个问题的好工具,我尝试在 R 中估计它。

给我一个错误,我找不到我的错误。

我尝试查看帮助文件,但对我帮助不大。

我希望有人能指出我正在犯的错误。

非常感谢您的帮助。

0 投票
1 回答
2224 浏览

constraints - 约束所有系数相等,mlogit,Stata

我有一个多项式 logit 模型,我想用 mlogit 进行估计。我想将一个自变量(但不是其余变量)的系数限制为在所有备选方案中都相等。我尝试了以下约束,但总是从 Stata 收到错误,“约束编号 # 导致错误 r(198))”:

或者

总共有 6 个备选方案,我以第 6 个为基础。任何帮助将非常感激。

0 投票
1 回答
639 浏览

r - 在 R 中使用 mlogit 计算边际效应

我在 Cross Validated 上问过这个问题,但我认为我可能得不到帮助,因为这更像是一个编程问题,而不是对统计数据的理论/解释。

我正在尝试mlogit在 R 中使用该包,并且一直在关注小插图,试图弄清楚如何获得我的数据的边际效应。提供的示例使用连续变量,但我想知道如何使用分类解释变量来做到这一点。

我的风险值作为协变量是连续的,但我也有年龄、阶级和性别作为协变量。我想看看“女性”或“年轻女性”在风险方面的边际效应。我该怎么做?

帮助文档说:

我不确定如何操纵z数据框来获得女性或年轻女性的平均风险,然后才能计算边际效应。我会分开做吗?我是否以某种方式将数据框按年龄类别划分(比如我只有 2 个年龄类别:年轻人和老年人),这样我就有 1 个年轻人数据框和一个单独的新数据框用于老年人,然后计算平均风险?

我希望从我自己的数据中得到的是能够解释产生我的后代类别的可能性的大小。举个例子,我想说的是,如果风险增加 1 个单位,那么年长的雌性产生 2 个后代的可能性会增加 10%。由于风险增加 1 个单位,年轻女性生育 2 个后代的可能性增加 15%。

我不确定如何手动计算边际效应,因此对如何获得一个包来为我做这件事感到困惑。我也一直在nnet图书馆或图书馆尝试VGAM,但这些似乎都没有提供很大的帮助。

0 投票
1 回答
339 浏览

r - 如何使用mlogit函数中的字符列表作为自变量列表

我正在使用mlogitr 估计多项式 logit。有没有办法在 mlogit 函数中使用变量列表,而不是枚举其中的所有变量?这是一个可重现的例子。我的问题是如何避免输入AGE + SEX函数mlogit

0 投票
1 回答
1881 浏览

r - 带有 mnlogit() 的 R 中的多项 Logit 选择模型

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

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

的示例用法mnlogit基本如下:

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

相反,它是这个逻辑变量,mode. 是什么mode

为了澄清我的理解,我阅读了一篇关于该主题的R-Bloggers 文章。它实际上通过重复Fish示例使事情变得更加混乱,但是以这种方式描述数据集的序言:

一个数据框包含:

它描述mode得好像是alt然后不提alt。谁可以给我解释一下这个?

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

0 投票
1 回答
1670 浏览

r - 不允许使用 mlogit 重复的“row.names”

R 新手,想使用mlogit函数。

但是,在将我的数据放入数据框并运行之后

我明白了 duplicate 'row.names' are not allowed

如果需要,我可以上传我的文件我花了几天时间试图让它工作,所以任何帮助将不胜感激

0 投票
3 回答
1534 浏览

r - McFadden R^2 和似然比检验未显示在 R 中的 mLogit 中

我的问题很容易理解,但我找不到解决方案。

我使用 mLLogit 库在 R 中使用以下代码:

我得到的输出如下:

我想获得McFadden 和似然比检验

怎么了??

0 投票
2 回答
3324 浏览

r - mlogit:需要 TRUE/FALSE 的缺失值

我有来自离散选择实验 (DCE) 的数据,研究了来自不同行业的个人的招聘偏好。我已经格式化为长格式。我想使用 mlogit 建模。我已经导出了数据,并且可以使用 asclogit 命令在 Stata 中成功运行模型,但是我无法让它在 R 中运行。

这是前 25 行数据的快照:

userid 和 chid 是因子变量,其余是数字变量。变量: Userid 是唯一的受访者 ID chid 是唯一的选择集 ID 每个受访者项目是选择集 ID(它们在受访者中重复) 部门是替代品(3 个不同的部门) 结果是受访者在给定的选择集 cul-rel 中选择的替代品是二元因子变量,是根据实验设计在备选方案中变化的备选方案。

这是我的 mlogit 语法:

这是我得到的错误:

我已确保没有丢失数据,并且每个选项集都有 1 个选定的选项。当模型在具有完全相同数据集的 Stata 中运行良好时,关于我为什么会收到此错误的任何想法?我可能在某处误读了 mlogit 语法。如果有帮助,我的 Stata 语法是: asclogit 结果 cul fit rel ind fit led prj, case(chid) alternatives(sector)

0 投票
0 回答
584 浏览

r - R nnet multiniom(多项逻辑回归模型) - 分配惩罚以避免错误分类

我正在使用 nnet 包中的 multinom 来将逻辑回归模型拟合到由 3 个类组成的数据,但是这些类的普遍性并不平衡。我想分配权重/惩罚,以告诉模型避免对某个类别进行错误分类。这是我的代码和一部分数据:

任何人都知道如何分配错误分类处罚?具体来说,我想分配一个 10:5:1 的惩罚比(对应于 1,2,3 类),这意味着我真的很喜欢在 1 类上准确。我的目标变量 cut.rank 的分布是 ~ 0.04,0.08, 0.88。由于第 1 类的流行率较低,因此该类的模型敏感性较低。

0 投票
0 回答
120 浏览

r - R:mlogit 返回不正确的系数

编辑:我提供的数据框的子集给出了不同的错误,所以我用完整的数据框替换了 pastebin 条目。

这是数据框的顶部,然后通过以下方式读入mlgit格式clogitdf <- mlogit.data(df1, choice= "y", shape="long", alt.var="id_var")

http://pastebin.com/ytisEDfD

变量:

PriceNorm= 按尺寸标准化的品牌价格(例如,美元/盎司)

Inc= 收入

y=(消费者的选择:Tide、Surf 或 Wisk)

这是模型: reg2 <- mlogit(y ~ PriceNorm | Inc, data=clogitdf, id.var="id_var", reflevel="surf")

目标是模拟消费者对 Tide、Surf 和 Wisk 这三个品牌的偏好。当我运行模型时,我得到一个正系数PriceNorm,它应该是负数。我不完全确定出了什么问题,但我觉得我可能需要包含虚拟变量。但是,当我这样做时,我收到一条错误消息,指出该模型是单数的。

任何人都可以帮助理解这一点吗?