问题标签 [marginal-effects]

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 投票
0 回答
207 浏览

r - 从 R 中的多项 logit 回归复制 Stata 的边际效应

我试图从 R 中的多项 logit 模型复制 Stata 的边际效应,但没有成功。对于多项 logit 模型,我使用了包中的multinom()函数,nnet对于边际效应,我使用了margins包,但该marginal_effects函数似乎只显示单个变量的效果。如果我想让变量的边际效应以另一个变量为条件怎么办?这是Stata的输出:

我尝试使用该marginal_effects函数计算男性的边际效应:

数据

数据可以从http://www.stata-press.com/data/r13/sysdsn1.dta下载并导入 R

0 投票
1 回答
67 浏览

r - 多项模型的边际效应

我试图从从mlogit包派生的多项模型中获得边际效应,但它显示错误。谁能提供一些指导来解决这个问题?非常感谢!

0 投票
0 回答
137 浏览

r - 使用“margins”函数计算边际效应

我正在尝试使用该margins()函数计算边际效应,但它返回错误:Error in jacobian %*% vcov : non-conformable arguments. 这是什么问题?如何解决?

该文件说它确实支持 multinom() 对象:

0 投票
0 回答
32 浏览

marginal-effects - 具有聚类 SE 的 glm logit 模型的边际效应曲线

我正在使用miceadds 包中的glm.cluster 来开发一个由“状态”聚类的横截面logit 模型。我在聚类模型中得到与非聚类模型完全相同的优势比。然而,两个模型之间的标准误差会发生变化,因此 CI 也会发生变化。我想为聚类模型开发以下内容:1)按性别分层的连续预测变量之一的平均边际效应曲线;以及按性别分层的同一连续预测变量的预测概率模型。我已经使用 margins 包来为非集群模型做到这一点。看来这个包不支持 glm.cluster。请帮忙。我是 R 的新手。

0 投票
1 回答
94 浏览

r - 如何使用 margins 包来评估因变量的不同值的边际影响

我正在使用margins包(vignette)来很好地计算关于序数变量的边距。margins 包试图“移植 Stata(封闭源)边距的功能”。该视频(大约 4:25)显示,对于 Stata 中的序数概率模型,在我的示例中,我可以评估变量在序数变量的不同值下的边际效应x2

我试过polr_1st_margins <- summary(margins(fit.polr, at = list(x2= 2:4)))了,这适用于示例数据。出于某种奇怪的原因,当我在我的实际数据上运行它时,我得到了一个错误。在这两种情况下x2都是一个因子变量(否则polr不会运行)。

我得到错误:Error in dat[, not_numeric, drop = FALSE] : incorrect number of dimensions即使变量在那里。

有人知道会发生什么吗?

示例代码:

编辑

我决定添加我的实际代码示例(也发布在GitHub 上)。

不知何故,它没有找到变量,即使我可以看到它在那里。

数据

0 投票
0 回答
53 浏览

linear-regression - 如何在具有多个变化变量的线性回归中计算单个变量的百分比变化?

我有一个方程 y = 5 + 25 x1 + 10 log(x2) - 3*x3。x1、x3 和 y 的单位为百万美元,而 x2 的单位为美元。我的问题是

  1. 如果 x1 有 1 个单位的变化,y 的百分比变化是多少
  2. 如果 x2 有 50% 的变化,y 的百分比变化是多少
  3. 如果 x3 有 1% 的变化,y 的百分比变化是多少
0 投票
1 回答
73 浏览

stata - AME-dy/dx 之后的 Suest 不为 suest 保存

整天运行这些命令后,我的头着火了,我现在伸出手来。请不要将我引向网络上经常提到的有关 Suest 的论文,我已经检查过了。 存储 AME 的 dy/dx 值以在 suest 命令中合并不同模型以执行测试命令似乎存在问题。

我想测试的是,一个政权/背景下的下层阶级/上层阶级/中产阶级的 AME 与位于另一个政权/背景下的下层阶级相比是否具有统计学意义。因变量:3 类:租房者、抵押房屋所有权、完全房屋所有权。

*错误消息 Liberal_market 是用非标准的 vce (delta) r(322) 估计的;

- 不幸的是,Statalist 关于 suest 中的非标准 vce 的以下回答对我也没有帮助 https://www.statalist.org/forums/forum/general-stata-discussion/general/1511169-can-not-use -suest-for-margins-after-probit-or-regress

将感谢您的解决方案:)

0 投票
0 回答
65 浏览

r - R绘制一个斜率,描绘两个斜率与预测值(或边际效应)图形的差异[使用ggpredict和绘图]

我想绘制一个带有置信区间的斜率,描述两个斜率与预测值(或边际效应)图的差异。作为说明,我在“mtcars”数据下方使用并执行以下交互模型:

其中,我的因变量“mpg”是一个连续变量,我的自变量是“am”(二进制变量)和“wt”(连续变量)。

在执行模型后,我使用“ggpredict”来估计我的因变量的预测值,基于“am”和以“wt”为条件的两个可能值:

然后,我使用“绘图”绘制预测值:

这会产生以下情节: 预测值图

图中有两个斜率: 1.当“am”为0时(实线斜率);2.当“am”为1时(带虚线的斜率)。现在,我想绘制一个类似的图形,但只有一个斜率是这两个斜率(1 和 2)之间的差异,置信区间为 95%。

是否有任何软件包可以直接生成我想要的情节,或者在调用“ggpredict”或“情节”时?

0 投票
1 回答
100 浏览

r - 如何计算使用 nnet 包创建的多项 logit 模型的边际效应?

我有一个使用nnetR 包创建的多项 logit 模型,使用multinom命令。因变量具有三个类别/选择选项。我正在根据农民特征对选择某种灌溉类型(不灌溉、地表灌溉、滴灌)的概率进行建模。

我想估计边际效应,即当我将自变量 X 增加一个单位时,选择灌溉类型 Y 的概率会改变多少?我曾尝试使用margins包 ( marginal_effects) 执行此操作,但这仅给出数据集中每个观察值的 1 个值。我期待三个值,因为我想要三种灌溉类型中的每一种的边际效应。

有人知道是否有更好的 R 包可用于此?margins或者我是否对包裹做错了什么?谢谢你。

0 投票
0 回答
71 浏览

r - 边际结构模型:如何将时变治疗和过去治疗的条件结合起来

这是我在 stackoverflow 上的第一篇文章。我试图根据指南提出问题。

我目前正在研究一个边际结构模型。我已经阅读了 Hernan 关于这个主题的大部分文章,并阅读了他的书What if和提供的 R 代码。但是,我发现的所有示例都相当简单。例如,患者在随访开始时接受或不接受治疗 A 并在整个期间保持该治疗。我发现很难将我学到的知识应用到我的数据集上。

我的数据集是关于事件发生时间的数据。在患者的随访期间,他们可以接受治疗A。一些患者在随访开始时已经接受治疗A,而其他患者在随访期间较晚开始或根本不接受治疗。此外,正在接受治疗A的患者可以在他们的随访期间停止治疗并再次重新开始治疗,即随时间变化的治疗。

在这里,我提供了一个示例数据集,其中包含事件时间数据的粗略 MSM 代码。我使用合并逻辑回归代替 Cox PH 回归,其优势比类似于 Cox 模型的风险比。为简单起见,我没有计算审查权重。

然而,在上面的例子中,权重不考虑以前的治疗史和随时间变化的混杂因素治疗史。所以我的问题是,如何将这些历史纳入时变治疗。Fewell等人的这篇文章。描述了针对时变治疗但患者无法退出并重新开始治疗的方法。我引用:

为了估计每个受试者到每个月的完整治疗史的概率(3中的分母),我们将每个月观察到的治疗的估计概率乘以时间累积。每个受试者的第一个估计概率保持不变。对于所有其他情况,当前时间点的估计概率乘以前一个时间点的估计概率。[Fewell Z,Hernán MA,Wolfe F,Tilling K,Choi H,Sterne JAC。使用边际结构模型控制时间相关的混杂。统计杂志。2004;4(4):402-420。doi:10.1177/1536867X0400400403]

从他们文章的代码中可以看出,一旦患者开始治疗,他们的权重就设置为 1。我知道很多人用来计算权重的另一种方法是ipw 包。但是,当患者开始治疗时,此软件包还将权重设置为 1,之后权重也保持为 1。

ipw 包的一位作者也为Grafféo 等人的文章做出了贡献。它扩展了 ipw 包以允许随时间变化的权重。他们通过计算在不接受治疗时开始治疗的权重和在接受治疗时停止治疗的权重来做到这一点。(代码可作为文章中的支持信息)但是,他们没有考虑治疗的历史/随时间变化的混杂因素。

更准确地说,我们没有考虑混杂治疗暴露的整个历史,而只是认为在时间 t 的感兴趣的暴露仅取决于在时间 t 给出的混杂治疗。然后,不是计算直到第一次修改感兴趣的曝光时的权重,而是计算所有时间点的权重,即,计算感兴趣状态处理的所有变化和所有事件时间的权重。[Grafféo, N, Latouche, A, Geskus, RB, Chevret, S. 使用治疗权重的反概率对时变暴露进行建模。生物识别杂志。2018; 60: 323–332. https://doi.org/10.1002/bimj.201600223]

他们为此提出以下建议

我们没有考虑混杂因素的历史。对于感兴趣的暴露和混杂因素之间的关系中的每个转换,可以使用不同的模型来解决这个问题。需要进一步的工作来研究这种建模选项。最简单的方法是将先前暴露的计数器作为协变量包含在治疗模型中。[Grafféo, N, Latouche, A, Geskus, RB, Chevret, S. 使用治疗权重的反概率对时变暴露进行建模。生物识别杂志。2018; 60: 323–332. https://doi.org/10.1002/bimj.201600223]

因此,Fewell 的方法确实结合了治疗和随时间变化的变量历史,但不允许在开始治疗后改变体重。Grafféo 的方法确实允许权重随时间变化,但不包含处理和随时间变化的变量历史。所以我真正想要的是结合这些方法,但我绝对不知道这怎么可能。

我希望我的问题很清楚(并且问得正确)并且有人有建议。谢谢!