在贝叶斯线性回归中评估后验预测分布


10

我很困惑,如何评价贝叶斯线性回归后的预测分布,过去的基本情况进行了说明这里第3页,以下复制。

p(y~y)=p(y~β,σ2)p(β,σ2y

基本情况是此线性回归模型:

y=Xβ+ϵ,yN(Xβ,σ2)

如果我们使用一个统一的现有上,带刻度-INV χ 2上之前σ 2,OR正常-逆伽马之前(见此处)的后验预测分布解析和是学生吨。 βχ2σ2

这个模型呢?

ÿ=Xβ+ϵÿñXβΣ

,但是Σ是已知的,后预测分布是多变量高斯。通常,您不知道Σ,但必须对其进行估算。也许您说它的对角线,并以某种方式使对角线成为协变量的函数。Gelman 贝叶斯数据分析的线性回归一章对此进行了讨论。ÿñXβΣΣΣ

在这种情况下,后预测分布是否有分析形式?我可以将我的估计值插入多元学生t吗? 如果您估计多个方差,分布是否仍是多元学生t?

我问,因为说我有一些已到位。我想知道是否更有可能通过线性回归A,线性回归B进行预测 ÿ


1
如果您有来自后验分布的后验样本,则可以使用蒙特卡洛近似法评估预测分布
niandra82

啊,谢谢,我总能做到。在这种情况下,没有解析公式吗?
bill_e 2015年

顺便说一下,链接断开了。如果您要以其他方式合并参考文献,那将很棒。
Maxim.K

Answers:


6

如果您在事先假定一个统一的,则后ββ | Ý Ñ βV ββ = [ X ' Σ - 1 X ] X ' ÿββ

β|ÿñβ^Vβ
为了找到预测分布,我们需要更多信息。如果ÿÑ X β Σ和是条件独立的 ÿ给定 β,然后 ÿ | Ý Ñ X βΣ + V β
β^=[XΣ-1个X]XÿVβ=[XΣ-1个X]-1个
ÿñXβΣÿβ
ÿ|ÿñXβ^Σ+Vβ
ÿÿ
ÿÿñ[XβXβ][ΣΣ12Σ21Σ]
ÿ|ÿñXβ^+Σ21Σ-1个ÿ-Xβ^Σ-Σ21Σ-1个Σ12
假设 ΣΣ12Σ众所周知。如您所指出,通常它们是未知的,需要进行估计。对于具有这种结构的常见模型(例如时间序列和空间模型),通常不会采用封闭形式进行预测分布。

2

在非信息量或多元正态-Wishart先验条件下,您可以将分析形式作为多元学生分布的一种形式,用于经典的多元回归。我想这在发展的文件(你可能会喜欢的附录A :-))都与你的问题。我通常将结果与使用WinBUGS和分析形式获得的后验预测分布进行比较:它们完全等效。仅当您在混合效果模型中,特别是在非平衡设计中,还具有其他随机效果时,问题才变得困难。

通常,对于经典回归,y和ỹ是条件独立的(残数为iid)!当然,如果不是这种情况,那么此处提出的解决方案是不正确的。

在R(这里是统一先验的解)中,假设您为模型中的一个响应制作了一个lm模型(名为“模型”),并将其称为“模型”,这是如何获取多元预测分布

library(mvtnorm)
Y = as.matrix(datas[,c("resp1","resp2","resp3")])
X =  model.matrix(delete.response(terms(model)), 
           data, model$contrasts)
XprimeX  = t(X) %*% X
XprimeXinv = solve(xprimex)
hatB =  xprimexinv %*% t(X) %*% Y
A = t(Y - X%*%hatB)%*% (Y-X%*%hatB)
F = ncol(X)
M = ncol(Y)
N = nrow(Y)
nu= N-(M+F)+1 #nu must be positive
C_1 =  c(1  + x0 %*% xprimexinv %*% t(x0)) #for a prediction of the factor setting x0 (a vector of size F=ncol(X))
varY = A/(nu) 
postmean = x0 %*% hatB
nsim = 2000
ysim = rmvt(n=nsim,delta=postmux0,C_1*varY,df=nu) 

现在,ysim的分位数是预测分布中的beta期望公差区间,您当然可以直接使用采样分布来执行所需的任何操作。

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.