我试图找到我的probit的边际效应(但如果有人知道如何使用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
其中“效果”(最新表中左起第2列,粗体)是我正在寻找的。 p>
答案 0 :(得分:0)
通常一个人使用summary.glm并从该对象中提取系数表,如果你想要的只是系数和标准误差表,它就是这样的情况:
summary(glmfit)$coefficients # or
coef( summary(glmfit))
另一方面,如果你想要的是比例或概率的预测,那么predict.glm
的使用能够在测量的尺度上传递预测的响应,而不是在估计回归系数的变换尺度上:
?predict.glm
还有一个effects
包提供图形显示,并允许指定选定的对比。
install.packages("effects", dependencies=TRUE)
help(package="effects")
如果你提出一个简单的例子并说出你的意思是“效果”,它会澄清你的期望。
因此,在澄清之后,我现在想知道您是否需要一种用于提取特定值的编程方法。如果是这样,那就简单了:
> ea$out['gpa', 'effect']
[1] 0.534 # where ea is the object created in ?maBina example