”,(n
k)个观测值满足“yi>
”,故
(n
k)q+k(1
q)=0
经整理可得k=nq。
k必须是整数。
故最优解
,即样本分位数。
四、分位数回归的估计方法
将单变量情形下对样本分位数的估计方法推广到线性回归。
假设条件分布y|x的总体q分位数yq(x)是x的线性函数:
称为“q分位数回归系数”,其估计量
由以下最小化问题来定义:
如果q=1/2,则为“中位数回归”:
中位数回归也称为“最小绝对离差估计量”。
它比均值回归(OLS)更不易受到极端值的影响,更加稳健。
由于分位数回归的目标函数带有绝对值,不可微分,通常使用线性规划的方法来计算。
五、分位数回归模型的估计
由于分位数回归的目标函数带有绝对值,不可微,因此传统的对目标函数求导的方法不再适用。
估计分位数回归方程参数
的一种较好的方法是改进的BR算法。
下面讨论分位数回归系数估计量的渐近分布。
在弱条件下,分位数回归系数渐近服从正态分布。
回归系数的方差协方差矩阵的计算在分位数回归的系数估计中占有重要位置。
其方差协方差矩阵的估计方法根据分位数密度函数是否与解释变量相关分为三种方法:
①误差项独立同分布(i.i.d.)假设下的直接估计方法。
②误差项独立但不同分布(i.n.i.d.)条件下的直接估计方法。
③误差项独立同分布(i.i.d.)和独立但不同分布(i.n.i.d.)条件下都可使用的自举法。
六、R软件操作分位数回归
6.1操作一个简单的中位数回归模型及结果说明
install.packages("quantreg")#下载安装包
library("quantreg")#加载包
data(engel)#加载quantreg包自带的数据集
fit1=rq(foodexp~income,tau=0.5,data=engel,method=“br”)
这里因变量为食物支出(foodexp),自变量为家庭收入(income)。
tau表示计算50%分位点的参数,这里可以同时计算多个分位点的分位数回归结果,如tau=c(0.1,0.5,0.9)是同时计算10%、50%、90%分位数下的回归结果。
data=engel指明这里处理的数据集为engel。
method:
进行拟合的方法,取值包括:
A.默认值“br”,表示BR算法的修改版;B.“fn”,针对大数据可以采用的Frisch–Newton内点算法;C.“pfn”,针对特别大数据,使用经过预处理的Frisch–Newton逼近方法;D.“fnc”,针对被拟合系数特殊的线性不等式约束情况;E.“lasso”和“scad”,基于特定惩罚函数的平滑算法进行拟合。
fit1#直接显示分位数回归的模型和系数
summary(fit1)#得到更加详细的显示结果,包括系数和上下限。
r1=resid(fit1)#得到残差序列,并赋值为变量r1
acf(r1)#画出残差的自相关图
pacf(r1)#画出残差的偏自相关图
Box.test(r1,type="Ljung-Box")#对残差进行LB检验
c1=coef(fit1)#得到模型的系数,并赋值给变量c1。
coef()函数得到的系数为向量形式,第一个元素为常数项的系数,第二个及以后为自变量的系数。
summary(fit1,se="nid")#通过设置参数se,可以得到系数的假设检验
summary函数se参数的说明。
A.se=“rank”:
按照排秩方法计算得到的置信区间,默认残差为独立同分布,上下限是不对称的。
B.se=“iid”:
假设残差为独立同分布,用KB(1978)的方法计算得到近似的协方差矩阵。
C.se=“nid”:
表示按照Huber方法逼近得到的估计量。
D.se=“ker”:
采用Powell(1990)的核估计方法。
E.se=“boot”:
采用bootstrap方法自助抽样的方法估计系数的误差标准差。
运行结果:
>fit1=rq(foodexp~income,tau=0.5,data=engel,method="br")#进行分位数回归
>fit1#直接显示分位数回归的模型和系数
Call:
rq(formula=foodexp~income,tau=0.5,data=engel,method="br")
Coefficients:
(Intercept)income
81.48224740.5601806
Degreesoffreedom:
235total;233residual
说明:
以食物支出(foodexp)为因变量及家庭收入(income)为自变量拟合中位数回归模型,得到的常数项系数为81.48,自变量系数为0.56。
由此可知即使家庭没有收入来源,这个家庭也有食物支出81.48。
家庭收入每变动1个单位,食物支出同向变动0.56个单位。
运行结果:
>summary(fit1)#得到更加详细的显示结果
Call:
rq(formula=foodexp~income,tau=0.5,data=engel,method="br")
tau:
[1]0.5
Coefficients:
coefficientslowerbdupperbd
(Intercept)81.4822553.25915114.01156
income0.560180.487020.60199
说明:
summary函数这里分别给出了中位数回归常数项系数和自变量系数的上下限,相当于给出了(1-α)%的置信区间。
中位数到上下限的距离并不相等,可以看出食物支出和家庭收入的分布是偏态的。
运行结果:
>r1=resid(fit1)#得到残差序列,并赋值为变量r1
>acf(r1)
>pacf(r1)
>Box.test(r1,type="Ljung-Box")#对残差进行LB检验
Box-Ljungtest
data:
r1
X-squared=18.762,df=1,p-value=1.481e-05
说明:
通过r1=resid(fit1)命令得到中位数回归模型的残差,然后对其画自相关图和偏自相关图,来直观的观察残差是否是白噪声序列。
根据自相关图可以看出,存在一阶自相关,其余的相关系数大部分在两倍标准差以内。
再观察偏自相关图的值,也存在一阶偏自相关,其他滞后项大多都在两倍标准差以内,得出可能不是白噪声序列。
下面进行LB统计量的检验,给出统计学的证据。
LB统计量的原假设H0:
p1=p2=……=Pm,得到的p值=1.481e-05<0.05,拒绝原假设,说明残差项不是白噪声序列。
运行结果:
>summary(fit1,se="nid")#通过设置参数se,可以得到系数的假设检验
Call:
rq(formula=foodexp~income,tau=0.5,data=engel,method="br")
tau:
[1]0.5
Coefficients:
ValueStd.ErrortvaluePr(>|t|)
(Intercept)81.4822519.250664.232700.00003
income0.560180.0282819.810320.00000
说明:
进行系数的显著性检验。
由于残差项不是白噪声序列A.se=“rank”和B.se=“iid”并不适用。
选择C.se=“nid”:
表示按照Huber方法逼近得到的估计量。
H0:
系数与零没有显示出差异。
由上式结果知,常数项的P值为0.00003<0.05拒绝原假设,说明系数是显著的;自变量的P值为0.00000<0.05拒绝原假设,说明系数是显著的。
6.2不同分位点下的回归模型差异是否显著
fit1=rq(foodexp~income,tau=2:
98/100,data=engel)
windows(5,5)#新建一个图形窗口
plot(fit1)
运行结果
说明:
上图显示的是不同分位数回归模型得到的不同系数值。
从2%分位点到98%分为点,每隔1个百分点记录1个值,总共有97个值。
第一个图是常数项系数,第二个图是自变量系数。
从图可知,当拟合的分位数回归,从低分位点到高分位点时,常数项系数逐渐减少的,而自变量系数逐渐增加的。
fit2=rq(foodexp~income,tau=c(0.05,0.25,0.5,0.75,0.95),data=engel)
windows(5,5)
plot(fit2)
运行结果
说明:
上图绘制了五个分位点的回归模型的系数值,这五个分为点分别是0.05,0.25,0.5,0.75,0.95。
图中的小圆点为对应的系数值。
从图我们可以看得更加清晰,当拟合的分位数回归,从低分位点到高分位点时,常数项系数逐渐减少的,而自变量系数逐渐增加的。
直观来看,不同分位点的系数是明显不同的。
下面进行方差分析检验,验证不同分位点回归模型是否显著不同,给出统计学的证据。
a=rq(foodexp~income,tau=0.25)
b=rq(foodexp~income,tau=0.5)
c=rq(foodexp~income,tau=0.75)
anova(a,b,c)#对三个对象进行方差分析
运行结果
QuantileRegressionAnalysisofDevianceTable
Model:
foodexp~income
JointTestofEqualityofSlopes:
tauin{0.250.50.75}
DfResidDfFvaluePr(>F)
1270315.5572.449e-07***
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
说明:
对三个不同分位点的回归模型进行方差分析。
原假设H0:
三个回归模型拟合的值没有显著性差异。
P值=2.449e-07<0.05,拒绝原假设。
说明不同分位数下的回归系数估计量不同,即解释变量对不同水平被解释变量的影响不同。
也就是家庭收入对不同水平的食品消费的影响不同。
y0.25=95.48+0.47x;Y0.5=81.48+0.56x;y0.75=62.39+0.64x。
低水平的食品支出受到x影响较小,常数项更大;高水平的食品支出受到x影响较大,常数项更小。
6.3不同分位点回归与均值回归的比较
attach(engel)#打开engel数据集,直接运行其中的列名,就可以调用相应列
plot(income,foodexp,cex=0.25,type="n",xlab="HouseholdIncome",ylab="FoodExpenditure")#画图,
points(income,foodexp,cex=0.5,col="grey")#添加点,点的大小为0.5
abline(rq(foodexp~income,tau=0.5),col="blue")#画中位数回归的拟合直线,颜色蓝
abline(lm(foodexp~income),lty=2,col="red")#画普通最小二乘法拟合直线,颜色红
taus=c(0.05,0.1,0.25,0.75,0.9,0.95)
for(iin1:
length(taus))#绘制不同分位点下的拟合直线,颜色为灰色
{
abline(rq(foodexp~income,tau=taus[i]),col="gray")
}
运行结果
说明:
首先画食品支出和家庭收入的散点图,为图中灰色的小圆圈。
然后画中位数回归的拟合直线,为图中蓝色的线。
再是画均值回归的拟合直线,为图中红色的线。
其余直线从下往上分别是0.05,0.1,0.25,0.75,0.9,0.95的分位回归拟合直线。
可以看出,均值回归容易受到极端值的影响。
summary(lm(foodexp~income)#最小二乘法的详细说明
运行结果
>summary(lm(foodexp~income))
Call:
lm(formula=foodexp~income)
Residuals:
Min1QMedian3QMax
-725.70-60.24-4.3253.41515.77
Coefficients:
EstimateStd.ErrortvaluePr(>|t|)
(Intercept)147.4753915.957089.242<2e-16***
income0.485180.0143733.772<2e-16***
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:
114.1on233degreesoffreedom
MultipleR-squared:
0.8304,AdjustedR-squared:
0.8296
F-statistic:
1141on1and233DF,p-value:
<2.2e-16
说明:
对因变量食品支出和自变量家庭收入的线性最小二乘回归,y=147.47539+0.48518x,系数的显著性水平‘***’是非常显著的,其中调整的R方是0.8296;F统计量的值为1140,p值2.2e-16,说明方程模拟的很好。
由于R软件找不到关于分位数回归的评价检验,如拟合优度、F统计量。
所以转为用Eviews来进行分位数回归的拟合。
先来看看Eviews拟合均值回归模型的一些输出结果。
DependentVariable:
Y
Method:
LeastSquares
Date:
12/24/16Time:
11:
11
Sample:
1235
Includedobservations:
235
Variable
Coefficient
Std.Error
t-Statistic
Prob.
C
147.4754
15.95708
9.242005
0.0000
X
0.485178
0.014366
33.77179
0.0000
R-squared
0.830365
Meandependentvar
624.1501
AdjustedR-squared
0.829637
S.D.dependentvar
276.4570
S.E.ofregression
114.1079
Akaikeinfocriterion
12.32064
Sumsquaredresid
3033805.
Schwarzcriterion
12.35008
Loglikelihood
-1445.675
Hannan-Quinncriter.
12.33251
F-statistic
1140.534
Durbin-Watsonstat
1.410754
Prob(F-statistic)
0.000000
说明:
用Eviews拟合的均值回归模型y=147.4754+0.485178x,调整的R方是0.829637;F统计量的值为1140.534,p值为0.000000。
跟R软件计算出来的统计量的数值都是一一对应的。
下面我们用eviews来拟合分位数回归的模型。
运行结果:
eviews来拟合中位数回归的模型
DependentVariable:
Y
Method:
QuantileRegression(Median)
Date:
12/24/16Time:
12:
21
Sample:
1235
Includedobservations:
235
HuberSandwichStandardErrors&Covariance
Sparsitymethod:
Kernel(Epanechnikov)usingresiduals
Bandwidthmethod:
Hall-Sheather,bw=0.15744
Estimationsuccessfullyidentifiesuniqueoptimalsolution
Variable
Coefficient
Std.Error
t-Statistic
Prob.
C
81.48235
24.03494
3.390162
0.0008
X
0.560181
0.031370
17.85707
0.0000
PseudoR-squared
0.620556
Meandependentvar
624.1501
AdjustedR-squared
0