查看原文
其他

分位数回归及Stata实现

连享会 连享会 2023-10-24

👇 连享会 · 推文导航 | www.lianxh.cn

连享会视频课 · 因果推断实用计量方法

作者: 胡雨霄  (伦敦政治经济学院)

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:


目录

  • 0. 简介

  • 1. 分位数回归基本命令:qreg

  • 2. 分位数回归绘图命令: grqreg

    • 举例

  • 3. 广义分位数回归 (generalized quantile regression) 命令: genqreg

    • 例子

  • 4. 面板数据分位数回归命令:qregpd

    • 例子

  • 4. 非条件分位数固定效应模型回归命令: xtrifreg



0. 简介

最小二乘法 (OLS) 是在实证中最常用到的回归方法。标准的最小二乘线性回归,关注解释变量 x 对被解释变量 y 的 条件均值 的影响。OLS 回归关注的是因变量的条件均值函数。然而,实证中,研究者可能对 分布的其它重要分位数感兴趣。例如,劳动经济学家研究性别收入差距不平等问题时,若想探究高收入女性是否更难获得升职机会,就需要更关注女性群体收入的 90% 分位数水平。

与 OLS 不同,分位数回归估计的是解释变量 x 与被解释变量 y 的 分位数 之间线性关系。OLS 回归以残差平方最小化 作为目标,中位数回归则目标最小化离差绝对值 。对于分位数回归,其目标为最小化非对称性绝对值残值。

表示分位数水平,分位数回归估计量 最小化目标函数

相较于 OLS, 分位数回归的优点主要是:更全面描述解释变量 x 和被解释变量 y 的关系。实际上,在不同分位数上,因为解释变量 x 对被解释变量 y 可能影响不同,因此分位数回归系数可能和 OLS 的回归系数不同。

1. 分位数回归基本命令:qreg

分位数回归最基本的命令为 qreg,其语法格式如下:

qreg depvar [indepvars] [if] [in] [weight] [, qreg_options]

其中,

  • depvar 为被解释变量
  • [indepvars] 为解释变量
  • [, qreg_options] 具化分位数水平,例如 quantile (.25) 。如不特别设定,则 Stata 默认为中位数,即 quantile (.50)

2. 分位数回归绘图命令: grqreg

若想绘制不同分位数的回归系数,则可使用 grqreg 命令。该命令的基本语法如下:

grqreg [varlist] [weight], qmin(integer) qmax(integer)  ///
     qstep(integer) cons ci ols olsci

其中:

  • varlist 为选择的要被绘制的变量。若无特别设定,则默认为所有的估计系数。
  • qmin 为估计的分位数的最小值。若无特别设定,则默认为 50%。
  • qmax 为估计的分位数的最大值。若无特别设定,则默认为 95%。
  • qstep 为分位数间距。若无特别设定,则默认为 5%。
  • cons 为绘制截 (intercept) 的估计系数。若无特别设定,则默认为 off 。
  • ci 为绘制分位数回归的置信区间水平。若无特别设定,则默认为 off 。
  • ols 为绘制 OLS 的估计系数。若无特别设定,则默认为 off 。
  • olsci 为绘制 OLS 回归的置信区间水平。若无特别设定,则默认为 off 。
  • title 为命名参数。

举例


ssc install grqreg, replace //下载外部命令

. qreg price mpg headroom

Iteration 1: WLS sum of weighted deviations = 70255.799

Iteration 1: sum of abs. weighted deviations = 70990.429
Iteration 2: sum of abs. weighted deviations = 67518.917
note: alternate solutions exist
Iteration 3: sum of abs. weighted deviations = 64777
Iteration 4: sum of abs. weighted deviations = 64587.083
Iteration 5: sum of abs. weighted deviations = 64574.074
Iteration 6: sum of abs. weighted deviations = 64552.093
Iteration 7: sum of abs. weighted deviations = 64549.833

Median regression Number of obs = 74
Raw sum of deviations 71102.5 (about 4934)
Min sum of deviations 64549.83 Pseudo R2 = 0.0922

--------------------------------------------------------------------
price | Coef. Std. Err. t P>|t| [95% Conf. Interval]
---------+----------------------------------------------------------
mpg | -127.3333 60.78234 -2.09 0.040 -248.5299 -6.136791
headroom | -130.6667 415.6721 -0.31 0.754 -959.4933 698.16
_cons | 8272.333 2158.205 3.83 0.000 3968.995 12575.67
--------------------------------------------------------------------

. grqreg, ci title(Fig.1a Fig.1b)

3. 广义分位数回归 (generalized quantile regression) 命令: genqreg

genqreg 命令基于广义的分位数回归 ( Powell (2016) ),可以用来估计非条件的分位数回归。该命令的基本语法为

genqreg depvar indepvars [if] [in] [weight] , [quantile(#) ///
instruments(varlist) proneness(varlist) technique(string)

具体说明如下:

  • instruments(varlist) 列举外生变量。如果没有特别设定,则认为所有的变量都是外生的。
  • proneness(varlist) 允许加入一些额外的控制变量。
  • technique(string) 可以允许进行 Logit 或者 Probit 回归,technique("logit") 或者 technique("probit"),默认为 technique("linear")

例子

. ssc install genqreg, replace

. genqreg price mpg headroom
Nelder-Mead optimization
initial: f(p) = -.02029463
rescale: f(p) = -.02029463
Iteration 0: f(p) = -.02029463
Iteration 1: f(p) = -.00089208
Iteration 2: f(p) = -.00089208
Iteration 3: f(p) = -.00089208

Generalized Quantile Regression (GQR)
Observations: 74

--------------------------------------------------------------------
price | Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------+----------------------------------------------------------
mpg | -137.3333 64.03182 -2.14 0.032 -262.8334 -11.83326
headroom | -120.6667 327.3533 -0.37 0.712 -762.2673 520.934
_cons | 8462.333 2063.802 4.10 0.000 4417.356 12507.31
--------------------------------------------------------------------
No excluded instruments and no proneness variables.
--> Estimation is equivalent to standard quantile regression.

4. 面板数据分位数回归命令:qregpd

该命令适用于面板数据,可参照 Powell (2015)。其具体命令为:

 qregpd depvar indepvars [if] [in] [weight] ,  
   [quantile(#) instruments(varlist)  
    identifier(varlist) fix(varlist)]

其中,

  • identifier(varlist) 类似于 xtset 中的 panelvar,是观测值单位的固定效应。
  • fix(varlist) 类似于 xtset 中的 timevar,是时间的固定效应。

例子

. webuse nlswork, clear
(National Longitudinal Survey. Young Women 14-26 years of age in 1968)

. qregpd ln_wage tenure union, id(idcode) fix(year)
Nelder-Mead optimization
initial: f(p) = -298.32357
rescale: f(p) = -1.2889814
Iteration 0: f(p) = -1.2889814
Iteration 1: f(p) = -1.2889814
Iteration 2: f(p) = -1.2889814
Iteration 3: f(p) = -1.2889814
Iteration 4: f(p) = -1.2889814
Iteration 5: f(p) = -1.2889814
Iteration 6: f(p) = -1.2889814
Iteration 7: f(p) = -1.2889814
Iteration 8: f(p) = -1.2889814
Iteration 9: f(p) = -1.2889814
Iteration 10: f(p) = -.657829
Iteration 11: f(p) = -.657829
Iteration 12: f(p) = -.57754087
Iteration 13: f(p) = -.02146447
Iteration 14: f(p) = -.00537403
Iteration 15: f(p) = -.00537403
Iteration 16: f(p) = -.00171472
Iteration 17: f(p) = -.00164654
Iteration 18: f(p) = -.00164654
Iteration 19: f(p) = -.00164654
Iteration 20: f(p) = -.00164654
Iteration 21: f(p) = -.00164654
Iteration 22: f(p) = -.00164654
Iteration 23: f(p) = -.00164654


Quantile Regression for Panel Data (QRPD)
Number of obs: 19010
Number of groups: 4134
Min obs per group: 1
Max obs per group: 12
-----------------------------------------------------------------
ln_wage | Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------+-------------------------------------------------------
tenure | .0207134 .0018152 11.41 0.000 .0171556 .0242712
union | .0922837 .0122922 7.51 0.000 .0681915 .116376
-----------------------------------------------------------------
No excluded instruments - standard QRPD estimation.

4. 非条件分位数固定效应模型回归命令: xtrifreg

该命令可以用于估计非条件分位数回归固定效应模型。其基本命令如下

 xtrifreg depvar indepvars [if] [in] [weight], 
          fe i(varname)  quantile(#)

其中,

  • i(varname) 可用于表明固定效应变量。
. findit xtrifreg //根据页面提示进行安装

. xtrifreg ln_wage tenure union, fe i(idcode)

------------------------------------------------------------------------
Model UQR
------------------------------------------------------------------------

Fixed-effects (within) regression Number of obs = 19010
Group variable: idcode Number of groups = 4134

R-sq: within = 0.0588 Obs per group: min = 1
between = 0.1609 avg = 4.6
overall = 0.1100 max = 12

F(2,4133) = 192.70
corr(u_i, Xb) = 0.1377 Prob > F = 0.0000

(Std. Err. adjusted for 4,134 clusters in idcode)
----------------------------------------------------------------------
| Robust
rif_50 | Coef. Std. Err. t P>|t| [95% Conf. Interval]
---------+------------------------------------------------------------
tenure | .0276753 .0015301 18.09 0.000 .0246755 .0306752
union | .1120068 .0154023 7.27 0.000 .0818101 .1422035
_cons | 1.596251 .0070095 227.73 0.000 1.582509 1.609994
---------+------------------------------------------------------------
sigma_u | .45465567
sigma_e | .37483862
rho | .59534098 (fraction of variance due to u_i)
-------------------------------------------------------------------------
F test that all u_i=0: F(4133, 4133) = . Prob > F = .

课程推荐:因果推断实用计量方法
主讲老师:邱嘉平教授
🍓 课程主页https://gitee.com/lianxh/YGqjp

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存