Stata:横截⾯及⾯板分位数回归
分位数回归⽅法从1978年提出后,⽆论从理论还是应⽤⽅⾯都得到了很⼤的发展。它不仅能够拓展模型使⽤的范围,⽽且还能够度量出回归变量对分布的影响,以及分布的尾部特征,较之经典的最⼩⼆乘法更具有优势。随着分位数回归理论和算法的不断发展,分位数应⽤的领域更加⼴泛。
⼀、分位数回归分析解决实际问题的研究背景
传统的线性回归模型具有悠久的历史,其中经典的最⼩⼆乘回归应⽤最为⼴泛。它描述了因变量的条件均值分布受⾃变量X的影响过程。最⼩⼆乘法是估计回归系数的最基本的⽅法。如果模型的随机误差项来⾃均值为零,且⽅差相同的分布,那么回归系数的最⼩⼆乘估计为最佳线性⽆偏估计如果随机误差项是正态的,那么回归系数的最⼩⼆乘估计,与极⼤似然估计⼀致,均为最⼩⽅差⽆偏估计。此时它具有⽆偏性、有效性等优良性质。
但是,在实际的经济⽣活中,这种假设常常得不到满⾜。例如当数据中存在严重的异⽅差,或者存在厚尾、尖峰等情况时,最⼩⼆乘法的估计将不再具有上述的优良性质,⽽且稳健性极其糟糕。特别的,对于⼤量数据⽽⾔,应⽤最⼩⼆乘回归只能得到⼀条回归线,⽽⼀条回归线所能反映的信息量是有限的。因此,⼈们在使⽤经典的线性回归的同时,也⼀直在不断的探索更新更好的回归⽅法。
为了弥补最⼩⼆乘法在回归分析中的缺陷,有科学家提出了分位数回归,分位数回归相对于最⼩⼆乘回归,应⽤条件更加宽松,挖掘的信息量更加丰富。它依据因变量的条件分位数对⾃变量X进⾏回归,这样得到了所有分位数下的回归模型。因此分位数回归相⽐普通的最⼩⼆乘回归,能够更精确的描述⾃变量X对于因变量Y的变化范围,以及条件分布形状的影响。分位数回归能够捕捉到分布的尾部特征,当⾃变量对因变量分布的不同位置产⽣不同的影响时,它就能更加全⾯的刻画分布的特征,从⽽得到全⾯的分析,⽽且分位数回归系数估计⽐最⼩⼆乘回归系数估计更加稳健。
⼆、分位数回归stata操作汇总
本部分综合整理⾃stata该命令介绍
分位数回归相关的命令语法格式:
分位数回归相关的命令:
(1)只做⼀个分位数回归,使⽤默认的标准误
Quantile regression
qreg depvar [indepvars] [if] [in] [weight] [, qreg_options]
qreg y x1 x2 x3 (默认中位数回归)
qreg y x1 x2 x3,q(#) (#分位数回归)
(2)使⽤⾃助标准误法,只做⼀个分位数回归
Bootstrapped quantile regression
bsqreg depvar [indepvars] [if] [in] [, bsqreg_options]
s et seed #
bsqreg y x1 x2 x3,q( #) reps( #)
(3)使⽤⾃助法计算协⽅差矩阵,做多个分位数回归
Simultaneous-quantile regression
sqreg depvar [indepvars] [if] [in] [, sqreg_options]
sqreg y x1 x2 x3,q(0.25 0.5 0.75) reps(#)
检验系数是否相等
test [q25=q50=q75]:x1
(4)不同分位数系数和置信区间图形⽐较
ssc install grqreg# 安装grqreg命令
set seed #
bsqreg y x1 x2 x3,reps(#) q(#)
grqreg ,cons ci ols olsci
案例1:
1、同时进⾏0.25,0.5,0.75的分位数回归
.
sysuse auto sqreg price weight length foreign, quantile( .25.5.75) reps( 100)结果为:
2、分位数检验:test [q25=q50=q75]:weight
bootstrapped
.sqreg price weight , quantile(.25 .5 .75) reps(100) (fittingbase model) Bootstrapreplications (100)----+---1 ---+--- 2 ---+---3 ---+--- 4 ---+--- 5 ..................................................50..................................................100Simultaneousquantile regressio
n Number of obs = 74bootstrap(100)SEs .25 Pseudo R2 = 0.0688.50Pseudo R2 = 0.0905.75Pseudo R2 = 0.2026------------------------------------------------------------------------------|Bootstrapprice| Coef. Std. Err. t P>|t| [95% Conf. Interval]-------------+----------------------------------------------------------------q25|weight| .7540984 .2525686 2.99 0.004 .250612 1.257585_cons| 2188.639 740.2909 2.96 0.004 712.8965 3664.382-------------+----------------------------------------------------------------q50|weight| .9688312 .3973103 2.44 0.017 .1768076 1.760855_cons| 2232.39 937.1269 2.38 0.020 364.2613 4100.518-------------+----------------------------------------------------------------q75|weight| 2.614474 .6280936 4.16 0.000 1.362392 3.866555_cons| -102.4737 1250.495 -0.08 0.935 -2595.29 2390.342------------------------------------------------------------------------------.test
[q25=q50=q75]:weight(1) [q25]weight - [q50]weight = 0(2) [q25]weight - [q75]weight = 0F(2, 72) = 5.06Prob> F = 0.0088三、⾯板分位数回归⾯板数据分位数回归所使⽤到的命令是qregpd,由于这是⼀个外部命令,因此⾸先需要先下载安装,我们来看⼀下下载安装出来的这样的⼀个结果语法格式为: qregpd depvar indepvars [ if] [ in] [weight] , [quantile( #)instruments(varlist) identifier(varlist) fix(varlist)optimize( string) MCMC options Grid-search options ] 选项含义为:depvar表⽰被解释变量indepvars表⽰解释变量[if]表⽰条件语句[in]表现范围语句[weight]表⽰权重quantile(#)设置分位数,取值范围是0--1,默认为0.5,中位数。identifier(varlist) 设置个体变量名fix (varlist)设置时点固定效应
optimize(string)在估计qregpd时, Nelder-Mead (default)默认,⾃适应MCMC和 Grid-search2⾯板分位数回归案例以Stata数据集为例来进⾏⾯板数据分位数回归的案例操作。该数据研究的是任职职位、⼯会组织对⼯资⽔平的影响。该数据与Stata⾼级班中A10⾯板数据专题数据⼀致use"C:\Users\admin\Desktop\wage1810.dta", clearxtset idcode yeardescqregpd ln_wage tenure union, id(idcode) fix( year)