logit模型和简单的线性模型不同,自变量的边际效应并不是简单等于其系数。
x_j对于y的边际效应一般来讲计算方法如下
\[\frac{\partial E(y_i|x_i,\beta)}{\partial x_{ij}}=f(-x_i'\beta)\beta_j\]
EViews本身并没有直接求边际效应的程序。不过,可以通过EViews的预测功能求得边际效应。如果简单的样本内预测值是XB,那么@dlogistic(-xb)乘以x的系数就是边际效应了。
下面是一个实例。
首先,估计我们需要的logit模型。被解释变量是foreign,解释变量是price和mpg。我们一会儿来求mpg的边际效应。
模型估计好之后,记下mpg的系数。
然后,我们来进行样本内的预测。记得要预测index,不是probability。
预测之后就可以生成边际效应了。
这个序列的均值就是我们要求的平均边际效应(average marginal effect)。
我们可以在Stata里进行同样的回归并求mpg的边际效应作为验算。命令和结果如下:
- . sysuse auto
- (1978 Automobile Data)
- . logit foreign price mpg
- Iteration 0: log likelihood = -45.03321
- Iteration 1: log likelihood = -36.627434
- Iteration 2: log likelihood = -36.462562
- Iteration 3: log likelihood = -36.46219
- Iteration 4: log likelihood = -36.462189
- Logistic regression Number of obs = 74
- LR chi2(2) = 17.14
- Prob > chi2 = 0.0002
- Log likelihood = -36.462189 Pseudo R2 = 0.1903
- ------------------------------------------------------------------------------
- foreign | Coef. Std. Err. z P>|z| [95% Conf. Interval]
- -------------+----------------------------------------------------------------
- price | .000266 .0001166 2.28 0.022 .0000375 .0004945
- mpg | .2338353 .0671449 3.48 0.000 .1022338 .3654368
- _cons | -7.648111 2.043673 -3.74 0.000 -11.65364 -3.642586
- ------------------------------------------------------------------------------
- . margins, dydx(mpg)
- Average marginal effects Number of obs = 74
- Model VCE : OIM
- Expression : Pr(foreign), predict()
- dy/dx w.r.t. : mpg
- ------------------------------------------------------------------------------
- | Delta-method
- | dy/dx Std. Err. z P>|z| [95% Conf. Interval]
- -------------+----------------------------------------------------------------
- mpg | .0376126 .0074022 5.08 0.000 .0231045 .0521207
- ------------------------------------------------------------------------------
复制代码