问题标签 [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 回答
296 浏览

r - 从另一个函数内部调用 mlogit(),使用附加时变量的范围问题

我需要从另一个函数内部调用mlogit() R函数。

这是一个用于演示目的的函数:

显然存在环境问题,因此 mlogit() 函数找不到未全局声明的变量作为参数。

此示例不起作用:

如果在主环境中分配变量,则它可以工作:

或者,如果我从函数内部全局分配变量,它也可以工作

关于如何避免全局分配变量的任何想法?

0 投票
1 回答
1143 浏览

r - R mlogit 在我的数据上给出错误'系统在计算上是奇异的?

谁能解释错误是什么,我该如何解决?

0 投票
1 回答
434 浏览

r - 在垂直列中组织 mlogit 生成的结果

我正在尝试组织我使用 mlogit 获得的结果,以便使用xtable. 但是,我发现很难像学术出版物中经常发现的那样在相邻列中准备结果。

特别是,我在最后一步遇到问题,其中方程需要彼此相邻移动。

我正在展示一个带有小数据框的示例,以及到目前为止我已经走了多远。如果有更简单的方法可以做到这一点,如果你让我知道,我会很高兴。

我需要帮助创建一个可以适应不同数量的方程(取决于结果变量有多少级别)和每个方程的不同长度(取决于预测变量的数量)的解决方案。

0 投票
1 回答
7479 浏览

r - 多项式混合 logit 模型 mlogit r-package

我发现了多项式 logit 模型的mlogit-,以搜索估计多项式混合 logit 模型。在阅读了优秀的小插图后,我发现我无法将我的数据应用于任何描述的示例。

我现在写信希望对我的问题有所帮助,并创建了一个最小的例子来说明我的情况。

问题如下:某处有辅音“Q”的单词。现在进行了一项实验,这些人的任务是听这些单词并说出他们是否听到了 Q、U 或其他辅音。这必须根据音节位置或真实/非真实单词等因素进行建模。

在最小的例子中,我用音节位置创建了 4 个人和他们的答案。

据我所知nnetmultinom功能不包括混合模型。

首先,我使用mlogit.data-function 来重塑文件。在与一位同事讨论后,我们得出的结论是没有替代的具体变量。

不,我不知道该怎么做,所以我在这里寻求帮助。但我相信这种问题可以解决,mlogit我只是还没有看到;)

0 投票
0 回答
3037 浏览

scipy - BFGS 无法收敛

我正在研究的模型是多项 logit 选择模型。这是一个非常具体的数据集,因此其他现有的 MNLogit 库不适合我的数据。

所以基本上,这是一个非常复杂的函数,它接受 11 个参数并返回一个对数似然值。然后我需要找到可以使用 scipy.optimize.minimize 最小化对数似然的最佳参数值。

以下是我使用不同方法遇到的问题:

'Nelder-Mead':效果很好,而且总是给我正确的答案。但是,它非常缓慢。对于另一个设置更复杂的功能,需要 15 个小时才能达到最佳点。同时,使用 fminunc(默认使用 BFGS)在 Matlab 上相同的功能仅需 1 小时

'BFGS':这是 Matlab 使用的方法。它适用于任何简单的功能。但是,对于我拥有的函数,它总是无法收敛并返回“由于精度损失而不一定实现的期望错误。”。我花了很多时间玩这些选项,但仍然无法工作。

'Powell':快速收敛,但返回错误的答案。代码打印在下面(x0 是正确答案,Nelder-Mead 适用于任何初始值),您可以在此处获取数据:https ://www.dropbox.com/s/aap2dhor5jyxy94/data.csv

谢谢!

更新:2014 年 3 月 7 日更简单的代码版本现在 Powell 在非常小的容差下运行良好,但是在这种情况下 Powell 的速度比 Nelder-Mead 慢。BFGS 仍然无法正常工作。

0 投票
0 回答
1102 浏览

r - R中多项logit回归的奇怪错误

我尝试在 R 中进行多项 logit 回归。我使用了以下命令:

适合 <- glmnet(xdata, newdata2$state, family="multinomial" )

但我收到了这个错误:

错误:来自 glmnet Fortran 代码(错误代码 8001);第 1 类 < 1.0e-5 的空概率

我不知道我应该如何解决这个错误,我会感谢任何帮助。另外请让我知道是否有任何更简单的方法可以在 R 中执行多项 logit 回归(而不是仿生回归)。

编辑:

0 投票
0 回答
1210 浏览

r - R,将数据集转换为 mlogit(/mnlogit) 长格式

我想使用这个R mlogit包。文档(http://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.pdf)写得很好,但我还有一个问题。

假设我有一个由三个分类变量组成的数据集:modeagecostmode有三个水平(mode1, mode2, mode3),另外两个变量有两个水平(age1,age2cost1, cost2)。

基本上,它采用以下形式:

使用该命令mlogitSample <- mlogit.data(df, choice = "mode", shape = "wide"),我可以将此数据集“转换”为以下mlogit格式:每行扩展为三行(对应于三个不同的响应类别),mode列转换为TRUEor的序列FALSE。这非常适合使用mlogit;但是,我认为这也是我得到错误的原因Lapack routine dgesv: system is exactly singular: U[8,8] = 0,因为我有多个不再独立的行。

因为我知道可以将多项式 logit 方法应用于我的案例,所以我想知道如何使用这个包来做到这一点。为了类似的目标,multinompackage的功能nnet工作正常,但它不适合我想到的同一模型:我想拟合模型 $\log(\pi_j(x)) = \alpha_j + \beta\cdot x$,每个模式类别 $j$ 的截距 $\alpha_j$ 和常数系数 $\beta$ 的向量不同。

0 投票
1 回答
2295 浏览

r - 多项式 logit 模型和嵌套 logit 模型

我在程序 R 中使用 mlogit 包。我已将数据从原始宽格式转换为长格式。这是转换后的 data.frame 的示例,我将其称为“long_perp”。所有的自变量都是个体特定的。我在数据集中有 4258 个独特的观察结果。

“act2”是因变量,包括漂浮在水面上的鸟在靠近船时可能做出的选择;飞行、潜水或无。我对这些概率如何与 data.frame 中的剩余自变量相关感兴趣,即与船舶路径 (pdist) 的垂直距离海况 (sea)、速度 (avgknots)、到岸边的距离 (shore) 等。变量由二分变量、因子变量和连续变量组成。

我运行了两个多项式 logit 模型,一个包括所有选择选项,另一个只包括一个子集。然后,我将这些模型与 hmftest() 函数进行了比较,以测试 IIA 假设。至少可以说,结果令人困惑。我将包含两个模型的代码和测试输出(以防我在代码中未指定模型)。

如您所见,卡方统计量为负!我假设我要么 1. 做错了事,要么 2. 违反了 IIA。这个结果适用于选择子集(飞行,潜水),但是选择子集(无,潜水)支持 IIA 假设?这让我很困惑。

接下来,我尝试制定一个嵌套模型来放松 IIA 假设。我将选项嵌套为nest1 = none,nest2 = fly,dive。这对我来说很有意义,因为这似乎是一个合乎逻辑的中断,鸟决定做出反应或不做出反应,然后决定做出哪种反应。

我不清楚如何运行嵌套的 logit 模型(即使在阅读了 mlogit、Croissant vignetteTrain vignette的两个小插图之后)。

当我按照羊角面包小插图中的示例运行分析时,我收到以下错误。

我已经阅读了一些有关此错误消息的信息,它可能由于完全分离而发生。我查看了一些数据表,但不相信这种情况正在发生,因为我有 4,000 多个观察值,并且只有一个因子变量具有 2 个以上的水平(它有 3 个)。

非常感谢您对这些特定问题的帮助,但我也愿意接受可以用来回答我的问题的替代分析。我主要对飞行概率作为与船舶路径垂直距离的函数感兴趣。

谢谢,蒂姆

0 投票
0 回答
247 浏览

r - Lapack 例程 dgesv mlogit mlogit in R

当我尝试运行 mlgit 时,我在R中遇到错误。

我尝试估计以下内容:

出现的错误如下:

logit3 <- mlogit(choice~1|prod1+prod2+camp1+camp2+salm1+salm2+orig1+orig2+price1+price2, data=CNLdata)
solve.default(H, g[!fixed]) 中的错误:
系统是计算奇异:倒数条件数 = 5.49164e-20

谁能帮我解决这个问题?

数据示例:

0 投票
0 回答
322 浏览

r - Mlogit 多项概率模型:需要 TRUE/FALSE 的缺失值

我正在尝试使用该mlogit包来估计多项概率模型,但出现以下错误。

这些是我使用的语句

我的数据如下所示:

最后 4 列仅是个人特定的,而其他列是替代特定的。有人可以帮忙吗?