贝叶斯模型选择和可信区间


9

我有一个包含三个变量的数据集,其中所有变量都是定量的。让我们将其称为,和。我通过MCMC在贝叶斯角度拟合回归模型yx1x2rjags

我进行了探索性分析,的散点图建议应使用二次项。然后我装了两个模型y×x2

(1)y=β0+β1x1+β2x2

(2)y=β0+β1x1+β2x2+β3x1x2+β4x12+β5x22

在模型1中,每个参数的效果大小都不小,并且95%可信区间的值不为。0

在模型2中,参数和的效果大小较小,并且所有参数的可信区间均包含。β3β40

可信区间包含的事实足以说明该参数不重要吗?0

然后我调整了以下模型

(3)y=β0+β1x1+β2x2+β3x22

每个参数的效果大小都不小,但是除外,所有可信区间都包含。 0β10

在贝叶斯统计中进行变量选择的正确方法是哪种?

编辑:我可以在任何回归模型(如Beta模型)中使用套索吗?我使用的是变量分散的模型,其中 其中是向量。我也应该在使用Laplace 吗?δ

log(σ)=δδX
δδδδδ

EDIT2:我安装了两个模型,一个模型具有针对,高斯先验模型,另一种具有Laplace(double-exponential)模型。δ Ĵβjδj

高斯模型的估计是

            Mean      SD  Naive SE Time-series SE
B[1]     -1.17767 0.07112 0.0007497      0.0007498
B[2]     -0.15624 0.03916 0.0004128      0.0004249
B[3]      0.15600 0.05500 0.0005797      0.0005889
B[4]      0.07682 0.04720 0.0004975      0.0005209
delta[1] -3.42286 0.32934 0.0034715      0.0034712
delta[2]  0.06329 0.27480 0.0028966      0.0028969
delta[3]  1.06856 0.34547 0.0036416      0.0036202
delta[4] -0.32392 0.26944 0.0028401      0.0028138

拉索模型的估计是

              Mean      SD  Naive SE Time-series SE
B[1]     -1.143644 0.07040 0.0007421      0.0007422
B[2]     -0.160541 0.05341 0.0005630      0.0005631
B[3]      0.137026 0.05642 0.0005947      0.0005897
B[4]      0.046538 0.04770 0.0005028      0.0005134
delta[1] -3.569151 0.27840 0.0029346      0.0029575
delta[2] -0.004544 0.15920 0.0016781      0.0016786
delta[3]  0.411220 0.33422 0.0035230      0.0035629
delta[4] -0.034870 0.16225 0.0017103      0.0017103
lambda    7.269359 5.45714 0.0575233      0.0592808

在套索模型中和的估计减少了很多,这意味着我应该从模型中删除此变量吗?δ 4δ2δ4

编辑3:与高斯先验模型相比,双指数先验(Lasso)模型给我更大的偏差,BIC和DIC值,在高斯模型中消除色散系数后,我什至得到的值也更小。δ2


2
DBDA2E *的第18.4节是关于多元回归中的变量选择。您可以非常小心地将包含系数与每个系数放在一起,并查看包含的后验概率。解释参数的后验分布时,包含零的95%HDI并不表示等于零。* DBDA2E =做贝叶斯数据分析第二版。
约翰·克鲁斯克

2
在贝叶斯框架中比较模型的自然方法是通过边际可能性而不是可信区间。与模型平均相关的另一种方法是使用混合表示,并从每个模型/组件的权重中推断出数据偏爱哪个模型。
西安

@西安,但是如果所有模型都具有相同的先验概率,则通过边际可能性比较两个或多个模型与使用贝叶斯因子并不相同。
DeltaIV '17年

亲爱的克鲁施克教授,我对可信区间的计算有疑问。我所了解的是,根据不同先验的后验合理性,可能会有许多可信的区间。但是,在这里,如何确定哪个先验最合理,而哪个先验又最合理呢?另一个问题是,我正在使用变分推论(VI)来计算后验,并最终计算模型证据的下限。在VI的情况下,如何计算后验的可信区间?此外,在VI情况下如何进行贝叶斯因子处理?
Sandipan Karmakar

Answers:


9

众所周知,基于重要的模型(或其他标准,例如AIC,可信区间是否包含0等等)来构建模型是很成问题的,尤其是如果您像没有进行模型构建那样进行推断的时候。进行贝叶斯分析不会改变这一点(另请参见https://stats.stackexchange.com/a/201931/86652)。也就是说,您不应该进行变量选择,而应该进行模型平均(或者可以使您获得一些零系数,但可以反映整个建模过程的模型,例如LASSO或弹性网)。

贝叶斯模型选择通常以贝叶斯模型平均为框架。您有不同的模型,每个模型具有不同的先验概率。如果模型的后验模型概率变得足够低,那么您实际上将完全放弃该模型。对于每个模型和平坦先验相等的先验权重,每个模型的权重与成比例的模型平均近似于此。exp(BIC/2)

您也可以将模型平均表示为先验平均值,该先验平均值是点质量(点质量的权重是效果精确为零的先验概率=该效果不在模型中)和连续分布(例如,先验和先验)。对于这样的先验,MCMC采样可能非常困难。

Carvalho等。通过暗示马蹄收缩像连续不断地近似于尖峰和台阶,从而激励了马蹄收缩。这也是将问题嵌入到层次模型中的情况,在某种程度上,对某些变量的大小和影响在某种程度上放宽了其他变量所需的证据(通过全局收缩参数,这有点像错误发现)率控制),另一方面,如果证据足够明确,则可以让各个效应独立发挥作用。从Stan / rstan构建的brms R包中可以方便地实现它。还有许多其他类似的先验,例如马蹄+先验,整个主题是一个正在进行的研究领域。


贝叶斯套索就像这样stats.stackexchange.com/questions/28609/…?我是一个具有色散变量的模型,我也应该对这些参数使用double exponentail吗?

2

贝叶斯变量选择有多种形式化方法。贝叶斯变量选择方法的过时评论在以下内容中提出:

贝叶斯变量选择方法综述:什么,如何以及哪种

最近的回顾,其中还包括不同方法的比较以及实现它们的R包的性能:

单变量线性回归中贝叶斯变量选择和模型平均的方法和工具

该参考特别有用,因为它指向您特定的R包,您只需要插入响应和协变量值(在某些情况下为超参数值)即可运行变量选择。

进行“贝叶斯”变量选择的另一种快速,肮脏且不推荐的方法是通过BIC和R命令stepAIC()使用逐步选择(向前,向后,两者),可以根据以下方面进行调整以执行选择: BIC。

https://stat.ethz.ch/R-manual/R-devel/library/MASS/html/stepAIC.html

测试另一种快速而肮脏的方法是使用Savage-Dickey密度比和后验模拟:β4=0

https://arxiv.org/pdf/0910.1452.pdf


我认为这个问题是问为什么在模型3的所有三个参数都包含0,而不是是否不可信区域为0β4
迈克尔·Chernick

@MichaelChernick然后,OP为什么要问"In this case is reasonable say that $\beta_4\neq 0$"?和"Which is the right way to do variable selection in Bayesian statistics"
CTHULHU

我错过了问题的那一部分,但我认为这不是主要问题。
Michael R. Chernick

1
@MichaelChernick好吧,我想OP就是这里的最后一句话……
CTHULHU

1

贝叶斯统计的整体思想与惯常方法不同。这样我认为使用有意义的术语是不准确的。我想应该由读者来决定您从模型获得的(分布)对他来说是可靠还是可信。它始终取决于分发本身。它的倾斜度和宽度有多大?有多少面积小于零?β

您也可以在41:55找到关于该主题的精彩演讲:

https://vimeo.com/14553953


我添加了一个示例的直方图示例,该示例的可信区间包含,您可以看看吗?0

1
从周末回来。我们在哪里可以找到直方图?
burton030 '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.