前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言分位数回归Quantile Regression分析租房价格

R语言分位数回归Quantile Regression分析租房价格

作者头像
拓端
发布2020-12-30 16:23:02
8300
发布2020-12-30 16:23:02
举报
文章被收录于专栏:拓端tecdat

本文想在R软件中更好地了解分位数回归优化。在查看分位数回归之前,让我们从样本中计算中位数或分位数。

中位数

考虑一个样本

。要计算中位数,请求解

可以使用线性编程技术解决。更确切地说,这个问题等同于

为了说明,考虑对数正态分布的样本,

代码语言:javascript
复制

n = 123
set.seed(132)
y = rlnorm(n)
median(y)
[1] 1.01523

对于优化问题,使用具有3n个约束和2n + 1参数的矩阵形式,

代码语言:javascript
复制




r = lp("min", c(rep(1,2*n),0),


tail(r$solution,1)
[1] 1.01523

分位数

当然,我们可以将之前的代码改编为分位数

代码语言:javascript
复制

tau = .3
quantile(x,tau)
30%
0.674124

线性程序

R代码

代码语言:javascript
复制



r = lp("min", c(rep(tau,n),rep(1-tau,n),0),




[1] 0.674124

分位数回归(简单)

考虑一个数据集,该数据集是一个主要城市的单位租金与面积,建筑年龄等的函数。

分位数回归的线性程序

与ai,bi≥0和

在这里使用

代码语言:javascript
复制

require(lpSolve)


r = lp("min",
c(rep(tau,n , rep(1-tau,n),0,0 , rbind(A1, A2 ,
c(rep( =", 2*n , rep("=", n) , c(rep(0,2*n), y
tail(r$solution,2)
[1] 147.845234   3.273453

我们可以使用R函数来拟合该模型

代码语言:javascript
复制




rq(ren~are , tau=tau
Coefficients:
(Intercept)        are
147.845234   3.273453

我们可以使用不同的概率水平来获得图

代码语言:javascript
复制


plot( area, rent,xlab=expression
tau = .9
r = lp("min",
c(re au,n), rep(1-tau  rbind(A1 2),
c(rep , 2*n), rep("=", n)), c( ,2*n) y))

多元分位数回归

现在,我们尝试使用两个协变量呢,例如,让我们看看是否可以将单位的租金解释为面积的(线性)函数和建筑年龄。

代码语言:javascript
复制



r = lp("min",
c(rep(ta n), rep(1- au,n),0,0, , rbin 1, A2),
(r p("&  ,  n), rep("=  n)),  (rep(0 *n), y))
tail(r$sol ,3)
[1] 0.000  3.224  0.073
 


Coefficients:
(Intercept)         are         year
-5322.503252     3.428135     2.637234

结果是完全不同的。可以用IRLS –迭代加权最小二乘确认后者

代码语言:javascript
复制


for(s in 1:500){


reg = lm(rent ~area+year ,
weigts= tau*(eps t;0 1-tau) eps&lt ))/ s(e ))


}
reg$coefficients
(Intercept)         area        year
-5485.433043     3.932134     2.842943

我们可以使后者拟合多元回归,

代码语言:javascript
复制



lp("min",c,A consttype,b)
beta = r$sol[1:K  -  r$sol (1:K+K)
beta
[1] -5542.633252     3.958135     2.857234

与之比较

代码语言:javascript
复制




rq(rent~ area + year, tau=tau


Coefficients:
(Intercept)         area        yearc
-5542.633252     3.958135     2.857234


Degrees of freedom: 4571 total; 4568 residual
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 中位数
  • 多元分位数回归
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档