我试图找到我的概率的边际效应(但如果有人知道如何用 logit 回归来做到这一点,我可以用那个来代替)回归。我的因变量(我的 Y)告诉我一个人可以做的 4 种可能的行动,并按行动的积极性排序(行动 1:最积极的反应,行动 4 最不积极的反应)。我的自变量是 4 个变量(都是连续的),它们告诉我系统的状态。回归的目标是了解系统状态的变化如何影响反应的选择。
我看过几个包(mlogit、erer、VGAM 等),但两个包似乎都没有边际效应函数,它只是给你每个自变量的边际效应。
我想获得类似于使用 maBina 等边际效应函数进行二项式 logit/probit 回归的结果。例如,如果我要使用 glm 运行一个简单的 logit/probit 回归,我会得到:
mylogit <- glm(admit ~ gre + gpa + rank, family = binomial(link = "logit"), x=TRUE, data = mydata)
> summary(mylogit)
Call:
glm(formula = admit ~ gre + gpa + rank, family = binomial(link = "logit"),
data = mydata, x = TRUE)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6268 -0.8662 -0.6388 1.1490 2.0790
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.989979 1.139951 -3.500 0.000465 ***
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank2 -0.675443 0.316490 -2.134 0.032829 *
rank3 -1.340204 0.345306 -3.881 0.000104 ***
rank4 -1.551464 0.417832 -3.713 0.000205 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
但由于这是一个 logit 回归,因此系数并不能告诉我 GPA 对被大学录取概率的边际效应。为了获得这样的边际效应,因此要回答“GPA 值的增加如何影响我被大学录取的可能性?”)我需要运行一个单独的命令,例如 maBina,我得到:
>maBina(mylogit, x.mean = FALSE, rev.dum = TRUE, digits = 3)
Call: glm(formula = admit ~ gre + gpa + rank, family = binomial(link = "logit"),
data = mydata, x = TRUE)
Coefficients:
(Intercept) gre gpa rank2 rank3 rank4
-3.989979 0.002264 0.804038 -0.675443 -1.340204 -1.551464
Degrees of Freedom: 399 Total (i.e. Null); 394 Residual
Null Deviance: 500
Residual Deviance: 458.5 AIC: 470.5
$out
effect error t.value p.value
(Intercept) **-0.776** 0.233 -3.337 0.001
gre **0.000** 0.000 1.931 0.054
gpa **0.156** 0.069 2.263 0.024
rank2 **-0.136** 0.061 -2.221 0.027
rank3 **-0.261** 0.072 -3.614 0.000
rank4 **-0.251** 0.049 -5.106 0.000
其中“效果”(最新表格左侧第二列,粗体)是我正在寻找的。