贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...

原文链接:http://tecdat.cn/?p=22702

贝叶斯回归分位数在最近的文献中受到广泛关注,本文实现了贝叶斯系数估计和回归分位数(RQ)中的变量选择,带有lasso和自适应lasso惩罚的贝叶斯**(** 点击文末"阅读原文"获取完整代码数据******** )。

摘要

还包括总结结果、绘制路径图、后验直方图、自相关图和绘制分位数图的进一步建模功能。

相关视频

简介

回归分位数(RQ)由(Koenker和Gilbert,1978)提出,将感兴趣的结果的条件分位数作为预测因子的函数来建模。自引入以来,分位数回归一直是理论界非常关注的话题,也在许多研究领域得到了大量的应用,如计量经济学、市场营销、医学、生态学和生存分析(Neelon等,2015;Davino等,2013;Hao和Naiman,2007)。假设我们有一个观察样本{(xi , yi);i = 1, 2, - -, n},其中yi表示因变量,xi表示协变量的k维矢量。

贝叶斯_分位数_回归

Tobit RQ为描述非负因变量和协变量向量之间的关系提供了一种方法,可以被表述为因变量的数据未被完全观察到的分位数回归模型。关于Tobit 分位数回归模型有相当多的文献,我们可以参考Powell(1986)、Portnoy(2003)、Portnoy和Lin(2010)以及Kozumi和Kobayashi(2011)来了解概况。考虑一下这个模型。

其中,yi是观察到的因变量,y∗i是相应的潜在的未观察到的因变量,y 0是一个已知的点。可以证明,RQ系数向量β可以通过以下最小化问题的解来持续估计

Yu和Stander(2007)提出了一种Tobit RQ的贝叶斯方法,使用ALD计算误差,并使用Metropolis-Hastings(MH)方法从其后验分布中抽取β。

真实数据实例

我们考虑用真实的数据例子。

免疫球蛋白G数据

这个数据集包括298名6个月到6岁儿童的免疫球蛋白G的血清浓度(克/升),Isaacs等人(1983)对其进行了详细讨论,Yu等人(2003)也使用了该数据集。为了说明问题,该数据集的贝叶斯分位数回归模型(可以拟合如下)。

go 复制代码
rq(血清浓度~年龄, tau=0.5)

摘要函数提供估计值和95%的置信区间

绘制数据,然后将五条拟合的RQ线叠加在散点图上。

go 复制代码
R> for (i in 1:5) {
+ taus=c(0.05, 0.25, 0.5, 0.75, 0.95)
+ rq(tau=taus\[i\])
+ abline(fit, col=i)
+ }
R> 
R> for (i in 1:5) {
+ fit = rq(年龄+I(年龄^2),tau=taus\[i\])
+ curve(,add=TRUE)
+ }

图2:免疫球蛋白G数据的散点图和RQ拟合。


点击标题查阅往期内容

matlab使用分位数随机森林(QRF)回归树检测异常值

左右滑动查看更多

01

02

03

04

该图显示了298名6个月至6岁儿童的免疫球蛋白G的散点图。叠加在该图上的是{.05, .25, .50, .75, .95}的RQ线(左图)和 RQ线(左图)和RQ曲线(右图)。

图可以用来评估吉布斯采样向平稳分布的收敛情况。我们在图1中只报告了τ=0.50时每个参数的路径图和后验直方图。我们使用以下代码

go 复制代码
plot(fit,"tracehist",D=c(1,2))

可以通过生成路径图、后验直方图、自相关图来对Gibbs采样的绘制结果进行图形总结。路径和直方图,路径和自相关,直方图和自相关,以及路径、直方图和自相关。这个函数还有一个选项。在图3中,免疫球蛋白G数据系数的路径图表明,采样从后验空间的一个偏远区域跳到另一个区域的步骤相对较少。此外,直方图显示边际密度实际上是所期望的平稳的单变量常态。

图3:当τ=0.50时,免疫球蛋白G数据集的系数的路径和密度图。

前列腺癌数据

在本小节中,我们说明贝叶斯分位数回归在前列腺癌数据集(Stamey等人,1989)上的表现。该数据集调查了等待根治性前列腺切除术的病人的前列腺特异性抗原(lpsa)水平和八个协变量之间的关系。

这些协变量是:癌症对数体积(lcavol)、前列腺的对数重量(lweight)、年龄(age)、良性前列腺的对数体积(lbph)、精囊侵犯(svi)、胶囊穿透的对数(lcp)、格里森评分(gleason)以及格里森评分4或5的百分比(pgg45)。

在本小节中,我们假设因变量(lpsa)均值为零,而预测因子已被标准化,均值为零。为了说明问题,我们考虑当τ=0.50时,贝叶斯lasso套索RQ(方法="BLqr")。在这种情况下,我们使用以下代码

go 复制代码
R> x=as.matrix(x)
R> rq(y~x,tau = 0.5, method="BLqr")

模型法可用于确定回归中的活跃变量。

相应的吉布斯采样的收敛性是通过生成样本的路径图和边际后验直方图评估的。因此,图可以用来提供一个关于吉布斯采样器收敛的图形检查,通过使用以下代码检查路径图和边际后验直方图。

go 复制代码
plot(fit, type="trace")

上述代码的结果分别显示在图4和图5中。图4中的路径图显示,生成的样本迅速穿越了后验空间,图5中的边际后验直方图显示,条件后验分布实际上是所需的平稳单变量常态。

小麦数据

我们考虑一个小麦数据集。这个数据集来自于国家小麦种植发展计划(2017)。这个小麦数据由11个变量的584个观测值组成。因变量是每2500平方米小麦产量增加的百分比。协变量是化肥尿素(U)、小麦种子播种日期(Ds)、小麦种子播种量(Qs)、激光平田技术(LT)、复合肥施肥(NPK)、播种机技术(SMT)、绿豆作物种植(SC)、作物除草剂(H)、作物高钾肥(K)、微量元素肥料(ME)。

下面的命令给出了τ=0.50时Tobit RQ的后验分布。

go 复制代码
rq(y~x,tau=0.5, methods="Btqr")

还可以拟合贝叶斯lassoTobit 分位数回归和贝叶斯自适应lassoTobit 分位数回归。当τ=0.50时,函数可以用来获得Tobit 分位数回归的后验平均值和95%的置信区间。

结论

在本文中,我们已经说明了在分位数回归(RQ)中进行贝叶斯系数估计和变量选择。此外,本文还实现了带有lasso和自适应lasso惩罚的贝叶斯Tobit 分位数回归。还包括总结结果、绘制路径图、后验直方图、自相关图和绘制定量图的进一步建模。

参考文献

Alhamzawi, R., K. Yu, and D. F. Benoit (2012). Bayesian adaptive lasso quantile regression. Statistical Modelling 12 (3), 279--297.

Brownlee, K. A. (1965). Statistical theory and methodology in science and engineering, Volume 150. Wiley New York.

Davino, C., M. Furno, and D. Vistocco (2013). Quantile regression: theory and applications. John Wiley & Sons.


本文摘选**《** R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析 ,点击"阅读原文 "获取全文完整资料。

点击标题查阅往期内容

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据

R语言STAN贝叶斯线性回归模型分析气候变化影响北半球海冰范围和可视化检查模型收敛性

R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断

R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实

R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数

R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

Python贝叶斯回归分析住房负担能力数据集

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

Python用PyMC3实现贝叶斯线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言贝叶斯线性回归和多元线性回归构建工资预测模型

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言stan进行基于贝叶斯推断的回归模型

R语言中RStan贝叶斯层次模型分析示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

R语言实现MCMC中的Metropolis--Hastings算法与吉布斯采样

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

相关推荐
此生只爱蛋19 分钟前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
用户691581141651 小时前
Ascend Extension for PyTorch的源码解析
人工智能
Chef_Chen1 小时前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
咕咕吖1 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
Troc_wangpeng1 小时前
R language 关于二维平面直角坐标系的制作
开发语言·机器学习
用户691581141651 小时前
Ascend C的编程模型
人工智能
-Nemophilist-1 小时前
机器学习与深度学习-1-线性回归从零开始实现
深度学习·机器学习·线性回归
九圣残炎1 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
成富2 小时前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle