作者:连玉君 | 杨柳
扫码查看连享会最新专题、公开课视频和 100 多个码云计量仓库链接。
文章目录
1. 边际效应简介
1.1 引言
考研复试结束后,你和闺蜜决定去成都旅游。当你和闺蜜正在品尝当地最有名气的麻辣火锅时,你们感觉心情非常愉快。此时,麻辣火锅将有助于有一个好心情,它对心情的边际效应是正值;当你们吃到一半时,手机上收到了一条消息,是考研复试的排名结果,打开消息后,发现你们俩都榜上有名。你们看到被录取的消息后万分高兴,吃的更high了,又多点了一些菜,并决定吃完后再去KTV庆祝下。此时,考研成功的结果极大的增加了吃火锅对心情的边际效应值。
研究生入学后,你和闺蜜都十分努力学习,认真的完成导师布置的课题任务并将课题研究内容整理成小论文投到了一个C刊上,但遭到拒稿。此时,努力学习对科研成果的边际效应是负值。不过你们没有就此停止努力,继续请教导师、按照意见认真修改并写成英文投到了一个SSCI期刊上,结果被录用了。此时,随着努力程度的增加,它对科研成果的边际效应变为正值。
总结上面的例子,我们发现,吃麻辣火锅(x1)对心情(y)的边际效应受到其他变量(x2:考研成功)的调节作用,使得该边际效应值增加了。一开始,努力学习(x3)对科研成果的边际效应为负,但随着努力程度的增加(x3值的增加),它对科研成果的边际效应变为正值。
1.2 边际效应分析的必要性
虽然回归结果表格中的变量的系数估计值反映了该变量对被解释变量影响作用的大小,并且一直是学者们交流回归模型结果的重要方式,但是,当回归模型中包含 类别变量、交乘项 或者回归模型为非线性(诸如 Logit
, Probit
等非线性模型)时,对系数估计值的解释就非常具有挑战性。这时,就需要计算变量的 边际效应
或者计算预测边际值, 以探求自变量变化对因变量变化的影响作用` 或分析比较不同情况时的因变量预测边际值的大小。
下面,我们就一起来学习如何在 Stata 中计算边际效应并绘制图形。
1.3 边际效应的定义
所谓 边际效应
是从已有拟合模型结果中计算出来的统计量,该数值表示 自变量的变化
对 因变量的变化
的 影响作用
的 大小
。
在对模型结果进行分析时,可以计算 连续变量取某一个值 时,连续变量 对 因变量 的边际效应,也可以计算 连续变量平均值处 的边际效应,或者还可以计算 其他变量取均值 时 连续变量 对 因变量 的平均边际效应。
2. 计算边际效应命令(margins)与绘图命令(marginsplot)
2.1 margins 命令
margins
命令的语法如下所示:
margins [marginlist] [if] [in] [weight] [, response_options options]
- 命令含义:
Note: 有关如何使用因子变量的介绍请参见 「往期推文:stata中因子变量的使用方法」。
2.2 marginsplot 绘图命令
-
使用
marginsplot
命令可以将之前刚刚计算的边际效应的结果以图的形式展示出来。语法如下:marginsplot [, options]
-
命令含义:
3. margins与marginsplot命令举例
3.1 基础案例
-
在美国的种族文化中,不可否认白人与黑人之间的差异性。例如,存在着白人与黑人在行业类别与工资方面差异的现象。于是,我们想检验种族是否为工资的显著影响因素,还想了解当行业类别相当时,不同种族的工资的平均水平分别是多少,它们之间的差别有多少。
-
接下来,我们使用 Stata 的自带数据 nlsw88.dta (1988年美国妇女小时工资) ,以 wage (妇女的小时工资) 作为被解释变量、以 industry (行业类别)、 race (种族类别) 作为解释变量建立线性回归模型。
-
race
变量为类别变量
,它包括三个类别,分别为 white、black、other
。可以使用 因子变量 的语法格式,在变量前面加上前缀i.
生成虚拟变量(i.race)
,基准组为第一个类别 white。industry
变量也同样使用 因子变量 的语法格式生成虚拟变量(i.industry)
,基准组为第一个类别Ag/Forestry/Fisheries
。 Stata 中的回归命令和结果如下所示:
. sysuse "nlsw88.dta", clear
(NLSW, 1988 extract)
. reg wage i.race i.industry
Source | SS df MS Number of obs = 2,232
-------------+---------------------------------- F(13, 2218) = 13.00
Model | 5246.90865 13 403.608358 Prob > F = 0.0000
Residual | 68870.3701 2,218 31.0506628 R-squared = 0.0708
-------------+---------------------------------- Adj R-squared = 0.0653
Total | 74117.2788 2,231 33.2215503 Root MSE = 5.5723
------------------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------------------+----------------------------------------------------------------
race |
black | -1.099771 .2743495 -4.01 0.000 -1.63778 -.5617626
other | .1317467 1.103937 0.12 0.905 -2.033111 2.296604
|
industry |
Mining | 9.469702 3.097312 3.06 0.002 3.395767 15.54364
Construction | 1.832193 1.702718 1.08 0.282 -1.506895 5.17128
Manufacturing | 2.021802 1.382963 1.46 0.144 -.6902358 4.733841
Transport/Comm/Utility | 5.891929 1.473775 4.00 0.000 3.001807 8.782052
Wholesale/Retail Trade | .4639784 1.38559 0.33 0.738 -2.25321 3.181167
Finance/Ins/Real Estate | 4.10511 1.410372 2.91 0.004 1.339321 6.870898
Business/Repair Svc | 1.888596 1.479264 1.28 0.202 -1.01229 4.789483
Personal Services | -.9699527 1.466554 -0.66 0.508 -3.845914 1.906009
Entertainment/Rec Svc | 1.038595 1.911355 0.54 0.587 -2.709638 4.786828
Professional Services | 2.252467 1.365435 1.65 0.099 -.4251976 4.930132
Public Administration | 3.602952 1.415632 2.55 0.011 .8268485 6.379055
|
_cons | 5.879891 1.353025 4.35 0.000 3.226563 8.533219
------------------------------------------------------------------------------------------
回归结果显示:妇女种族为 black 的系数值为 -1.099
并在1%的水平上显著;妇女种族为 other
的系数值为 0.131
但在统计上不显著。上述结果表明:当控制各行业类别变量时,黑人妇女的小时工资比白人妇女的小时工资低 1.099
个单位。我们还想进一步了解当控制行业类别变量时,各个种族类别(white, black, other
)的妇女的小时工资的平均水平是多少。于是,我们使用 margins
命令附加 atmeans
的选项就可以计算当 其他变量取均值时
,不同种族的妇女
的小时工资的 预测边际值
。Stata 命令和结果如下所示:
. margins i.race, atmeans //前缀 i. 可省略不写
Adjusted predictions Number of obs = 2,232
Model VCE : OLS
Expression : Linear prediction, predict()
at : 1.race = .7289427 (mean)
2.race = .2594086 (mean)
3.race = .0116487 (mean)
1.industry = .0076165 (mean)
2.industry = .0017921 (mean)
3.industry = .0129928 (mean)
4.industry = .1644265 (mean)
5.industry = .0403226 (mean)
6.industry = .1491935 (mean)
7.industry = .0860215 (mean)
8.industry = .0385305 (mean)
9.industry = .0434588 (mean)
10.industry = .0076165 (mean)
11.industry = .3691756 (mean)
12.industry = .078853 (mean)
------------------------------------------------------------------------------
| Delta-method
| Margin Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
race |
white | 8.067219 .1387997 58.12 0.000 7.795028 8.33941
black | 6.967447 .2345358 29.71 0.000 6.507515 7.42738
other | 8.198965 1.094967 7.49 0.000 6.051697 10.34623
------------------------------------------------------------------------------
计算结果表明:当行业类别变量取均值时,白人妇女的小时工资的预测边际值为 8.067
、黑人妇女的小时工资的预测边际值为 6.967
、其他种族的妇女的小时工资的预测边际值为 8.198
。
我们还想将边际效应的计算结果用图的形式表示。使用 marginsplot
命令就可以很方便的实现这个想法。Stata 命令如下所示:
marginsplot
marginsplot
命令的输出图片如下所示:
连享会计量方法专题……
3.2 交乘项案例
下面,继续以研究妇女工资的影响因素为例对计算交乘项的边际效应的使用方法进行说明。
3.2.1 类别变量与类别变量交乘
从3.1节案例的回归结果中,我们已知道种族 race
是妇女工资 wage 的影响因素之一。但是,除此之外,还有诸多因素会影响妇女工资,例如是否大学毕业 collgrad
。因此,我们想探究是否大学毕业 collgrad
能否调节种族 race
对妇女工资 wage 的影响作用。于是,拟在回归模型中加入这两个变量的 交乘项 来检验是否存在调节效应。
使用 Stata 的自带数据 nlsw88.dta (1988年美国妇女小时工资),以 wage (妇女的小时工资) 作为被解释变量、以 industry
(行业类别)、collgrad
(是否大学毕业) 、 race
(种族类别) 、race
(种族类别) 与 collgrad
(是否大学毕业) 的交乘项建立线性回归模型。
使用因子变量的语法格式,collgrad##i.race
表示在模型中既包括 collgrad
与 race
变量,还包括 collgrad
与 race
变量的交乘项。Stata 中的回归命令和结果如下所示:
. reg wage i.industry collgrad##i.race
Source | SS df MS Number of obs = 2,232
-------------+---------------------------------- F(16, 2215) = 23.20
Model | 10639.3304 16 664.958149 Prob > F = 0.0000
Residual | 63477.9484 2,215 28.658216 R-squared = 0.1435
-------------+---------------------------------- Adj R-squared = 0.1374
Total | 74117.2788 2,231 33.2215503 Root MSE = 5.3533
------------------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interv