分位数回归文档格式.docx
- 文档编号:13295024
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:31
- 大小:682.35KB
分位数回归文档格式.docx
《分位数回归文档格式.docx》由会员分享,可在线阅读,更多相关《分位数回归文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
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"
)
}
detach(engel)
3、穷人和富人的消费分布比较
比较穷人(收入在10%分位点的那个人)和富人(收入在90%分位点的那个人)的估计结果
#rq函数中,tau不在[0,1]时,表示按最细的分位点划分方式得到分位点序列
z=rq(foodexp~income,tau=-1)
z$sol
这里包含了每个分位点下的系数估计结果
x.poor=quantile(income,0.1)#10%分位点的收入
x.rich=quantile(income,0.9)#90%分位点的收入
ps=z$sol[1,]
每个分位点的tau值
qs.poor=c(c(1,x.poor)%*%z$sol[4:
5,])
#10%分位点的收入的消费估计值
qs.rich=c(c(1,x.rich)%*%z$sol[4:
#90%分位点的收入的消费估计值
windows(,10,5)
par(mfrow=c(1,2))
把绘图区域划分为一行两列
plot(c(ps,ps),c(qs.poor,qs.rich),type="
#type=”n”表示初始化图形区域,但不画图
xlab=expression(tau),ylab="
quantile"
plot(stepfun(ps,c(qs.poor[1],qs.poor)),do.points=F,
add=T)
plot(stepfun(ps,c(qs.poor[1],qs.rich)),do.points=F,
add=T,col.hor="
col.vert="
ps.wts=(c(0,diff(ps))+c(diff(ps),0))/2
ap=akj(qs.poor,z=qs.poor,p=ps.wts)
ar=akj(qs.rich,z=qs.rich,p=ps.wts)
plot(c(qs.poor,qs.rich),c(ap$dens,ar$dens),
type="
xlab="
Density"
lines(qs.rich,ar$dens,col="
lines(qs.poor,ap$dens,col="
black"
legend("
topright"
c("
poor"
"
rich"
),lty=c(1,1),
col=c("
))
上图表示收入(income)为10%分位点处(poor,穷人)和90%分位点处(rich,富人)的食品支出的比较。
从左图可以发现,对于穷人而言,在不同分位点估计的食品消费差别不大。
而对于富人而言,在不同分位点对食品消费的差别比较大。
右图反应了穷人和富人的食品消费分布曲线。
穷人的食品消费集中于400左右,比较陡峭;
而富人的消费支出集中于800到1200之间,比较分散。
(四)模型比较
比较不同分位点下,收入对食品支出的影响机制是否相同
fit1=rq(foodexp~income,tau=0.25)
fit2=rq(foodexp~income,tau=0.5)
fit3=rq(foodexp~income,tau=0.75)
anova(fit1,fit2,fit3)
结果:
QuantileRegressionAnalysisofDevianceTable
Model:
foodexp~income
JointTestofEqualityofSlopes:
tauin{
0.250.50.75
DfResidDfFvalue
Pr(>
F)
1
2
703
15.5572.449e-07***
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
其中P值远小于0.05,故不同分位点下收入对食品支出的影响机制不同。
(五)残差形态的检验
也可以理解为是比较不同分位点的模型之间的关系。
主要有两种模型形式:
(1)位置漂移模型:
不同分位点的估计结果之间的斜率相同或近似,只是截距不同;
表现为不同分位点下的拟合曲线是平行的。
(2)位置-尺度漂移模型:
不同分位点的估计结果之间的斜率和截距都不同;
表现为不同分位点下的拟合曲线不是平行的。
残差形态的检验
source("
C:
/ProgramFiles/R/R-2.15.0/library/quantreg/doc/gasprice.R"
x=gasprice
n=length(x)
p=5
X=cbind(x[(p-1):
(n-1)],x[(p-2):
(n-2)],x[(p-3):
(n-3)],x[(p-4):
(n-4)])
y=x[p:
n]
位置漂移模型的检验
T1=KhmaladzeTest(y~X,taus=-1,nullH="
location"
T2=KhmaladzeTest(y~X,taus=10:
290/300,
nullH="
se="
ker"
位置尺度漂移模型的检验
T3=KhmaladzeTest(y~X,taus=-1,nullH="
location-scale"
T4=KhmaladzeTest(y~X,taus=10:
运行T1,可以查看其检验结果。
其中nullH表示原假设为“location”,即原假设为位置漂移模型。
Tn表示模型整体的检验,统计量为4.8。
THn是对每个自变量的检验。
比较T1和T3的结果(T3的原假设为“位置尺度漂移模型”),T1的统计量大于T3的统计量,可见相对而言,拒绝“位置漂移模型”的概率更大,故相对而言“位置尺度漂移模型”更加合适一些。
>
T1
$nullH
[1]"
$Tn
[1]4.803762
$THn
X1
X2
X3
X4
1.00031990.53216930.50208340.8926828
attr(,"
class"
KhmaladzeTest"
T3
[1]2.705583
1.21028990.69317850.50451630.8957127
(六)非线性分位数回归
这里的非线性函数为Frankcopula函数。
##DemoofnonlinearquantileregressionmodelbasedonFrankcopula
vFrank<
-function(x,df,delta,u)
某个非线性过程,得到的是[0,1]的值
-log(1-(1-exp(-delta))/(1+exp(-delta*pt(x,df))*((1/u)-1)))/delta
非线性模型
FrankModel<
-function(x,delta,mu,sigma,df,tau){
z<
-qt(vFrank(x,df,delta,u=tau),df)
mu+sigma*z
n<
-200
样本量
df<
-8
自由度
delta<
-8#
初始参数
set.seed(1989)
x<
-sort(rt(n,df))
生成基于T分布的随机数
v<
-vFrank(x,df,delta,u=runif(n))
基于x生成理论上的非参数对应值
y<
-qt(v,df)
#v
对应的T分布统计量
windows(5,5)
plot(x,y,pch="
o"
col="
cex=.25)#
Dat<
-data.frame(x=x,y=y)
基本数据集
us<
-c(.25,.5,.75)
length(us)){
-vFrank(x,df,delta,u=us[i])
lines(x,qt(v,df))
#v为概率,计算每个概率对应的T分布统计量
cfMat<
-matrix(0,3,length(us)+1)#
初始矩阵,用于保存结果的系数
length(us)){
tau<
-us[i]
cat("
tau="
format(tau),"
.."
fit<
-
nlrq(y~FrankModel(x,delta,mu,sigma,df=8,tau=tau),#
非参数模型
data=Dat,tau=tau,
#data表明数据集,tau分位数回归的分位点
start=list(delta=5,mu=0,sigma=1),#
初始值
trace=T)#
每次运行后是否把结果显示出来
lines(x,predict(fit,newdata=x),lty=2,col="
绘制预测曲线
cfMat[i,1]<
-tau
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 位数 回归