问题标签 [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 投票
1 回答
676 浏览

r - How to get marginal effects for categorical variables in mlogit?

I want to compute marginal effects for a "mlogit" object where explanatory variables is categorical (factors). While with numerical data effects() throws something, with categorical data it won't.

For simplicity I show a bivariate example below.

numeric variables

factor variables

While glm() still throws something,

the mlogit() approach

throws this error:

How could I solve this?

I already tried to manipulate effects.mlogit() with this answer but it didn't help to solve my problem.

Note: This question is related to this solution, which I want to apply to categorical explanatory variables.


edit

(To demonstrate the issue when applying the given solution to an underlying problem related to a question linked above. See comments.)


data

0 投票
0 回答
305 浏览

r - 使用 plot_model() 在原始尺度上绘制边际效应

我试图从一个模型(用 lme4 完成)绘制边际效应plot_model()

模型(同一模型的 2 个版本)看起来像

版本 1:

版本 2:

在这两个版本中,连续预测变量 X 和 Z 使用scale()函数进行缩放,但在版本 1 中,它在创建模型 m1 之前完成,并作为单独的列(Xs 和 Zs)保存在 中dataframe=dat,而在版本 2 中,它在模型中指定平方米

我现在的问题是如果我按原样绘制 m1

没有重新调整 x 轴的绘图

我想绘制 X 的边际效应,但不是 x 轴上 X 的缩放值,我想拥有我尝试过的原始值

myfun被定义为scale()

绘制一个

b地块

所以,这给了我两个不同的情节。由于情节 b 看起来类似于 m1 的情节而没有重新调整 x 轴,所以我会说情节 b 是正确的情节。但我不明白 term="..." 中的 "[myfun]" 是如何工作的以及它的作用。谢谢你的帮助!

0 投票
1 回答
428 浏览

r - Probit回归:分类变量的边际效应?

我在 R 中运行概率回归。该模型混合了一些连续变量和分类变量(编码为因子)。我想计算每个变量的边际效应。为此,我使用 margins 包中的命令margins,该命令返回 AME 并识别因子并显示它们每个级别的边际效应。因此,在计算边际效应时如何处理分类变量?如果连续变量保持其平均值(默认情况下),这些分类变量是如何固定的?

我希望这个问题足够清楚,这更像是一个理论问题。

0 投票
0 回答
932 浏览

r - 具有复杂交互项的 R 中的平均边际效应

我正在使用 R 计算以下模型的线性回归,并在特定点 (20,30,40,50,55) 找到年龄对披萨的边际影响。

我遇到的问题是在使用 margins 命令时,R 看不到使用I((age x age) x income)插入到 lm 中的交互项。仅当交互项采用variable1 x variable1的形式时,margins 命令才会产生准确的平均边际效应。我也无法在表table$newvariable <- table$variable1^2中创建新变量,因为边距命令不会将newvariable标识为与variable1相关。

到目前为止,这一直很好,我的交互项只是二次或 xy 交互,但现在我需要使用模型中包含的交互项AGE^2xINCOME计算平均边际效应,但我似乎可以使汇总 lm 输出正确的唯一方法是使用 I(age^2*(income)) 或在我的表中创建一个新变量。如前所述,margins 命令无法读取 I(age^2*(income)),如果我创建一个新变量,margins 命令无法识别变量是相关的,并且产生的平均边际效应不正确.

我收到的错误:

我提前感谢任何帮助。

数据总结: Pizza 是每年在 Pizza 上的支出,female,hs,college 和 grad 是虚拟变量,年收入是千美元,年龄是岁。

使用的库:

tldr

这有效:

mod6.22 <- lm(pizza ~ 年龄 + 收入 + 年龄 * 收入,数据 = piz4)

这不起作用:

mod6.22c <- lm(pizza ~ age + income + age*income + I((age * age)*income), data = piz4)

如何获得利润来读取我的交互变量 I((age*age)*income)?

0 投票
0 回答
62 浏览

r - 根据通过混淆变量调整的连续变量预测疾病概率

我对 R 包的“边距”有疑问。我正在估计一个逻辑模型:

其中:
VD2是二分变量(1 种疾病/0 不是疾病)
VE12是二分暴露变量(值为 0 和 1)
VE.cont连续暴露变量
VCx(其余变量)是混杂变量。

我的目标是获得每个组VD2的值向量的预测疾病概率( ) ,但通过变量进行调整。换句话说,我想获得组间和组间的剂量反应线,但假设每个剂量反应线的分布相同(即没有混淆)。VE.contVE12VCxVD2VE.contVE12VCx

按照本文的命名法(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4052139/)我认为我应该做一个可以用stata完成的“边际标准化”(方法1),但我不确定如何使用 R 来做到这一点。我正在使用这种语法(使用 R):

但我不确定我是否做得对,因为这种方法给出的结果与使用没有混淆变量和函数的模型相似predict.glm

也许,我应该使用边距选项,但我不理解结果,因为在列VE.cont中获得的值不在概率标度中(0 到 1 之间)。

这是我想获得的图形示例:

0 投票
3 回答
536 浏览

r - 测试跨因子计算的边际效应之间的差异

我正在尝试测试两个边际效应之间的差异。我可以让 R 来计算效果,但我找不到任何资源来解释如何测试它们的差异。

我查看了边距文档和其他边际效果包,但无法找到可以测试差异的东西。

我想进行一个测试来确定每一行 marg 中的边际效应是否显着不同;即,边际效应图中的斜率不同。这似乎是正确的,因为置信区间不重叠——表明位移的影响对于 am=0 和 am=1 是不同的。

我们在下面的评论中讨论我们可以使用 emmeans 测试对比,但这是对 am=0 和 am=1 的平均响应的测试。

这里 p 值很大,表明当 am=0 时的平均响应与 am=1 时的平均响应没有显着差异。

这样做是否合理(例如测试两种方法的差异)?

该 p 值似乎与非重叠置信区间的分析一致。

0 投票
0 回答
110 浏览

plot - 绘制与连续和虚拟交互的边际效应

我对如何绘制多重交互的作业有疑问,如果有人能提供帮助,我将不胜感激。我知道这是一个热门话题,但我还没有看到解决我的具体问题的问题。我希望不是重复

我有一个具有 3 个解释变量和两个交互作用的模型。两个变量是连续的,一个是虚拟变量。我想将三种交互的边际效应绘制成一张图像。模型是这样的

y = a+ b_1c1 + b_2c2 + b_3d + b_4c1c2 + b_5c1d

总之,我有一个连续变量(c1),它与另一个连续变量(c2)和虚拟变量(d)相互作用。下面的代码使用 MASS 包中的数据来提供可重现的示例。

我创建了我的模型

我想将Horsepoweron的估计影响绘制priceEngineSizefor =0(否)的函数,并将on的Man.trans.avail相同条件效应绘制为 for =1(是)的函数。可能将它们放在同一个情节中。HorsepowerpriceEngineSizeMan.trans.avail

使用该interplot函数,我可以将条件Horsepower视为pricethe 的函数,EngineSize但无需控制Man.trans.avail

结果绘制了 和 的边际效应线HorsepowerEngineSize但是,无法为不同的值绘制两条线,Man.trans.avail我想知道您是否对如何在类似情况下绘制边际效应有一些想法。

非常感谢您的回复

0 投票
1 回答
235 浏览

r - 如何从交互项中提取边际效应?

我试图从一个交互式术语中提取边际效应,该术语捕获治疗 X(X 编码为 1 或 0)对结果 Y(Y 编码为 -10 到 10)的影响,由变量 A 调节(A 编码在 0 到 10 之间)。但是,我不确定如何从 A 的最高和最低度量的交互项中提取边际效应

总的来说,我设法使用 interplot 函数生成边际效应图:

此外,我尝试使用 ggpredict 在不同的 A 水平上提取具有 90% 置信区间的边际效应:

但是,使用 ggpredict 产生的边际系数与我在 m 的摘要中看到的不一致,并且与边际效应图不一致。相反,我得到的估计显然不准确或不精确。如何提取插值图中看到的边际效应?

0 投票
1 回答
246 浏览

r - 边际效应图与 R 中的发生率比率不对应

我试图在泊松回归中绘制特定变量的边际效应,然后将该图形与其相应的发生率比率相关联。

我的大部分情节都实现了这一点。然而,对于其中一个,发病率比率表示我感兴趣的变量的总体正相关,并且该图显示了明显的负相关。根据我的理解,这应该有问题。

你可以帮帮我吗 ?:) 我可能在我的分析中理解了一些错误......

我首先创建泊松模型:

我从中得到以下内部收益率

然后我绘制模型(x1)中第一个变量的边际效应,得到以下图:

x1 与 y 泊松回归图(负相关)

这清楚地表明 x1 和 y 之间存在明显的负相关

先感谢您 !!

(我正在使用mfx包来计算 IRR 和sjPlot::plot_model用于绘图)

0 投票
1 回答
204 浏览

graph - 在一张图中绘制不同回归的边际效应

probit在不同的数据集上运行了五次相同的回归。

如何在同一张图上绘制每个回归的边际效应曲线,以便以简单的方式比较它们?

以下是我尝试过的代码:

这段代码的问题是,我获得的图表不是每个专业角色都有一条曲线,并且 x 轴上有年份虚拟变量,而是每个虚拟年份有一条线。