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

r - 在 R 中运行 mlogit 函数后生成预测概率的置信区间

我一直在努力解决以下问题一段时间,非常感谢您的帮助。我正在使用 mlogit 函数在 R 中运行一个 logit 模型,并且能够生成为给定的预测变量值选择每个备选方案的预测概率,如下所示:

但是,我无法弄清楚如何将置信区间添加到预测的概率估计中。我已经尝试向 predict 函数添加参数,但似乎没有一个生成它们。任何关于如何实现它的想法都将不胜感激。

0 投票
0 回答
35 浏览

r - Logit 模型输出的问题

我正在尝试运行一个 logit 模型,以查看是否存在与海龟和其他变量中发现的碎片的链接。我尝试使用下面的两个代码,发现我的输出列出了每个不同的变量而不是变量类型:

当我希望它们仅限于变量(即性别,年龄......)时,因为我有一些类别有很多不同的分类。

我假设我在准备数据时做错了什么,或者我缺少或需要删除部分代码。

0 投票
3 回答
55 浏览

r - 1 和 0 的列表示个人在一系列备选方案中的选择?

我正在尝试将我的数据设置为在 R 中的 mlgit 包中工作

我有一个使用以下代码创建的数据框:

我想创建一个二进制变量来指示每个 id 值的站点选择。由于 id 变量是一个重复的序列,除了其中“site”等于“choice”的相关值的那一行之外,每一行新的指标变量都需要为 0。对于 id == 1,这将是“选择”向量的第一个元素。对于 id == 2,它将是选择向量的第二个元素,依此类推。

包含变量的最终数据帧应如下所示:

我已经尝试了很多次,但无法弄清楚,也无法在网上找到相关答案。

提前致谢 :)

0 投票
1 回答
310 浏览

r - 需要帮助,我在安装(VGAM)以及如何使用 mlogit 时卡住了。我从那个pdf示例中看不懂

我需要帮助解决我的问题。我有2个问题。

  1. 我无法在我的 RStudio 上安装库 (VGAM)。对另一个回归逻辑序数包有任何想法或对我的问题有解决方案吗? 在此处输入图像描述

  2. 使用 mlogit 时,我坚持第一步。我有 3 个选项的因变量 = Kategori.Kredit。我有自变量 = FD、FC、ND、NC、CASA。请帮我解决这个问题,我尝试阅读 pdf 上的示例但仍然不明白。 在此处输入图像描述

0 投票
1 回答
133 浏览

sas - SAS 9.4 中带有 PROC LOGIT 和时间序列数据的迭代回归

我想为具有多项分布的因变量的 Logit 回归找到最佳模型规范。Y 有三个结果,我想制作一个包含 2 个变量的预测模型——一个滞后和不同的即期汇率时间序列和一个估计的已实现波动率的时间序列。

我最初的想法是创建一个遍历每个规范的循环,并输出 AIC 值,然后我可以回溯并找到最佳模型。

这是有效的,但有一个障碍。我想通过以下方式查看即期汇率(示例):Spot_t - Spot_t-n(n 可能是 21)。这为一大堆规范打开了大门。在我的试验回归中,我包含了每个变量的 12 个变量,每个变量滞后 21 天 * 变量数。这给出了一个很好的模型,但我认为我需要一个更好的迭代过程。

如果我将我的模型限制为每个变量包含 12 个变量/滞后,我们正在谈论 24 个循环。在这些循环中将有许多相同的迭代,在我看来这既耗时又愚蠢。也许有办法绕过这个问题。

我不习惯在 SAS 中编码。我在 VBA 方面有不错的经验。

我的代码在下面裁剪,如果您知道如何以不同的方式执行此操作,我将不胜感激!也许可以使用数组或类似的东西 - 但我不习惯 SAS 编程,所以也许你可以对如何做这一切有所了解:)

对不起,疯狂的宽代码。希望您能够帮助我。也许我把问题复杂化了。:)

非常感谢。最好的问候,克里斯蒂安

编辑:我设置z = 2只是为了测试目的。理想情况下,这会高得多。

0 投票
1 回答
2701 浏览

r - 多项回归误差:“重新调整”仅适用于因子

我有以下数据:

我正在使用 mlogit 包运行多项回归,但出现问题:

请你看看我错在哪里。型号为:

Class 和 Batch 与 Class(0 或 1)和 Batch(1 到 6)是分类的。在运行模型之前,我将其应用于将 Class 和 Batch 转移到因子:

非常感谢!

0 投票
0 回答
511 浏览

python - Python - 条件 logit 模型的溢出问题

这是我关于堆栈溢出的第一篇文章,所以请放纵!

我正在尝试为多项式(或条件)logit 模型开发代码(如http://data.princeton.edu/wws509/notes/c6s3.html中所述)这种类型的模型可以看作是经典的二元逻辑回归。多项式 logit 模型经常用于离散选择建模。

在下面的代码中,我描述了一个模型,解释了当所有参与者 (N) 面临相同的选择题 (T) 时在 2 个选项 (J) 之间的选择。我已经为 R 开发了一段类似的代码,它工作得很好,但速度很慢(因为“优化”例程)。由于溢出问题,使用 PYTHON 开发这种类型的代码似乎更加困难。第一个操作(即 numpsy.dot(X,beta))可能导致非常大/小的值,然后变得与 numpsy.exp()“不兼容”。如https://lingpipe-blog.com/2012/02/16/howprevent-overflow-underflow-logistic-regression/中所示, 溢出问题往往发生在:abs(np.dot(X,beta)) > 500 时。初始溢出问题具有重要的后果,因为它们将导致其余代码中的 0、NaN 和 Inf 值,从而生成其他问题(例如,np.log(0) 或 number/Inf)。我花了很多时间试图用十进制模块、bigfloat 模块等解决这个问题,但似乎没有用(使用 numpy 处理 exp 中的溢出)。

第二个最佳选项似乎通过包含一些舍入操作(例如 num[num > 400] = 400)来修改似然函数,然后使用“Nelder-Mead”算法来最小化对数似然。理想情况下,我会使用“BFGS”算法,但它与舍入操作不兼容。

关于如何修复代码中的溢出问题的任何想法?

备注:非常大的 np.dot(X,beta) 值在 R、MATLAB 和 STATA 中似乎不是问题。

非常感谢您的帮助!

蟒蛇代码

代码

0 投票
2 回答
269 浏览

estimation - OxMetrics - 条件 logit 模型

我正在尝试为多项(或条件)logit 模型开发 OxMetrics 代码(如http://data.princeton.edu/wws509/notes/c6s2.html中所述)。我是 OxMetrics 的新手,仍然难以理解优化例程 (MaxBFGS) 的工作原理。

任何帮助都非常受欢迎!

0 投票
0 回答
387 浏览

r - R:条件logit模型的似然函数计算时间过长

我正在尝试最大化对数似然函数以获取条件 logit 模型的系数。我有一个包含大约 9M 行(300k 选择集)和大约 40 个要估计的参数的大数据框。它看起来像这样:

其中 ChoiceSet 是购买时商店中可用的一组产品,选择 SKU 时 Choice=1。

由于 ChoiceSets 可能会有所不同,我使用对数似然函数:

创建没有 SKU(不需要)和零向量的新数据框:

我在 maxLike 包的帮助下最大化了这个函数,在这个包中我使用梯度来加快计算速度:

最大化问题如下:

一般来说,它适用于小样本,但对于大样本来说太长了:

但是当我为 5000+ 选择集 R 终止会话时。

那么(如果您仍在阅读它)如果我有 300,000 多个选择集和 1.5 周的时间来完成我的课程作业,我该如何最大化此功能?请帮忙,我没有任何想法。

0 投票
1 回答
897 浏览

r - 多项/条件logit与R中的分组数据

我正在寻找一种方法来在 R 中的分组数据上拟合条件 logit。我有多项选择计数以及响应和个人特定变量。不幸的是,扩展的数据集太大而无法使用。mlogit因此,例如,我不能使用我知道的大多数软件包。我vglmVGAM包中发现,但如果响应类别缺少一个解释变量,它就不起作用。

有人在 R 中尝试过类似的东西吗?

谢谢!