最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

分位数回归.

IT圈 admin 21浏览 0评论

2024年5月25日发(作者:阙承志)

__________________________________________________

2、不同分位点拟合曲线的比较

# 散点图

attach(engel) # 打开engel数据集,直接运行其中的列名,就可以调用相应列

plot(income,foodexp,cex=0.25,type="n", # 画图,说明①

xlab="Household Income", ylab="Food Expenditure")

points(income,foodexp,cex=0.5,col="blue") # 添加点,点的大小为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(i in 1: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 # 这里包含了每个分位点下的系数估计结果

= quantile(income, 0.1) # 10%分位点的收入

= quantile(income, 0.9) # 90%分位点的收入

ps = z$sol[1,] # 每个分位点的tau值

= c( c(1,) %*% z$sol[4:5,] ) # 10%分位点的收入的消费估计值

= c( c(1,) %*% z$sol[4:5,] ) # 90%分位点的收入的消费估计值

windows(, 10,5)

__________________________________________________

__________________________________________________

par(mfrow=c(1,2)) # 把绘图区域划分为一行两列

plot(c(ps,ps),c(,),type="n", # type=”n”表示初始化图形区域,但不画图

xlab=expression(tau), ylab="quantile")

plot(stepfun(ps,c([1],)), =F,

add=T)

plot(stepfun(ps,c([1],)), =F,

add=T, ="gray", ="gray")

= ( c(0,diff(ps)) + c(diff(ps),0) )/2

ap = akj(, z=, p=)

ar = akj(, z=, p=)

plot(c(,), c(ap$dens, ar$dens),

type="n", xlab="Food Expenditure", ylab="Density")

lines(,ar$dens,col="gray")

lines(,ap$dens,col="black")

legend("topright", c("poor","rich"), lty=c(1,1),

col=c("black","gray"))

上图表示收入(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)

结果:

__________________________________________________

2024年5月25日发(作者:阙承志)

__________________________________________________

2、不同分位点拟合曲线的比较

# 散点图

attach(engel) # 打开engel数据集,直接运行其中的列名,就可以调用相应列

plot(income,foodexp,cex=0.25,type="n", # 画图,说明①

xlab="Household Income", ylab="Food Expenditure")

points(income,foodexp,cex=0.5,col="blue") # 添加点,点的大小为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(i in 1: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 # 这里包含了每个分位点下的系数估计结果

= quantile(income, 0.1) # 10%分位点的收入

= quantile(income, 0.9) # 90%分位点的收入

ps = z$sol[1,] # 每个分位点的tau值

= c( c(1,) %*% z$sol[4:5,] ) # 10%分位点的收入的消费估计值

= c( c(1,) %*% z$sol[4:5,] ) # 90%分位点的收入的消费估计值

windows(, 10,5)

__________________________________________________

__________________________________________________

par(mfrow=c(1,2)) # 把绘图区域划分为一行两列

plot(c(ps,ps),c(,),type="n", # type=”n”表示初始化图形区域,但不画图

xlab=expression(tau), ylab="quantile")

plot(stepfun(ps,c([1],)), =F,

add=T)

plot(stepfun(ps,c([1],)), =F,

add=T, ="gray", ="gray")

= ( c(0,diff(ps)) + c(diff(ps),0) )/2

ap = akj(, z=, p=)

ar = akj(, z=, p=)

plot(c(,), c(ap$dens, ar$dens),

type="n", xlab="Food Expenditure", ylab="Density")

lines(,ar$dens,col="gray")

lines(,ap$dens,col="black")

legend("topright", c("poor","rich"), lty=c(1,1),

col=c("black","gray"))

上图表示收入(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)

结果:

__________________________________________________

发布评论

评论列表 (0)

  1. 暂无评论