Avaliar a distribuição preditiva posterior na regressão linear bayesiana

10

Estou confuso sobre como avaliar a distribuição preditiva posterior da regressão linear bayesiana, além do caso básico descrito aqui na página 3 e copiado abaixo.

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

O caso básico é este modelo de regressão linear:

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

Se usarmos um uniforme anterior em , com uma escala Inv anterior em , OU o normal-inverso-gama anterior (veja aqui ), a distribuição preditiva posterior é analítica e é o aluno t. χ 2 σ 2βχ2σ2

E esse modelo?

y=Xβ+ϵ,yN(Xβ,Σ)

Quando yN(Xβ,Σ) , mas Σ é conhecido, a distribuição preditiva posterior é gaussiana multivariada. Normalmente, você não conhece Σ , mas precisa estimar. Talvez você diga a diagonal e torne a diagonal uma função das covariáveis ​​de alguma maneira. Isso é discutido no capítulo de regressão linear da Análise Bayesiana de Dados de Gelman .

Existe uma forma analítica para a distribuição preditiva posterior neste caso? Posso apenas conectar minha estimativa em um aluno multivariado t? Se você estimar mais de uma variação, a distribuição ainda é multivariada t?

Estou perguntando porque dizem que eu tenho algum já na mão. Quero saber se é mais provável que tenha sido previsto por, por exemplo, regressão linear A, regressão linear B y~

bill_e
fonte
11
Se você tem amostras posteriores a partir da distribuição posterior você pode avaliar a distribuição preditiva com uma aproximação Monte Carlo
niandra82
Ah, obrigado, eu sempre poderia fazer isso. Não existe uma fórmula analítica neste caso?
bill_e
Os links estão quebrados, a propósito. Seria ótimo se você incorporasse as referências de outra maneira.
precisa saber é o seguinte

Respostas:

6

Se você assumir um uniforme anterior ao , o posterior para será com Para encontrar a distribuição preditiva, precisamos de mais informações. Se e for condicionalmente independente de dado , então Mas normalmente para esses tipos de modelos, e não são condicionalmente independentes. Em vez disso, normalmente temos β β | y ~ N ( β , Vβββ =

β|yN(β^,Vβ).
β^=[XΣ-1 1X]XyeVβ=[XΣ-1 1X]-1 1.
y~N(X~β,Σ~)yβ
y~|yN(X~β^,Σ~+Vβ).
yy~
(yy~)N([XβX~β],[ΣΣ12Σ21Σ~]).
Se for esse o caso, então Isso pressupõe que e são todos conhecidos. Como você aponta, normalmente eles são desconhecidos e precisam ser estimados. Para os modelos comuns que possuem essa estrutura, por exemplo, séries temporais e modelos espaciais, geralmente não haverá uma forma fechada para a distribuição preditiva.
y~|yN(X~β^+Σ21Σ-1 1(y-Xβ^),Σ~-Σ21Σ-1 1Σ12).
Σ,Σ12,Σ~
jaradniemi
fonte
2

Em prévios Normal-Wishart não informativos ou multivariados, você tem a forma analítica como uma distribuição multivariada de Student, para uma regressão múltipla mutlivariada clássica. Acho que os desenvolvimentos neste documento estão relacionados à sua pergunta (você pode gostar do Apêndice A :-)). Eu normalmente comparei o resultado com uma distribuição preditiva posterior obtida usando o WinBUGS e a forma analítica: eles são exatamente equivalentes. O problema só se torna difícil quando você tem efeitos aleatórios adicionais em modelos de efeito misto, especialmente em design desequilibrado.

Em geral, com regressões clássicas, y e ỹ são condicionalmente independentes (os resíduos são iid)! Obviamente, se não for o caso, a solução proposta aqui não está correta.

Em R, (aqui, solução para anteriores uniformes), supondo que você tenha criado um modelo lm (chamado "modelo") de uma das respostas em seu modelo e chamado de "modelo", aqui está como obter a distribuição preditiva multivariada

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) 

Agora, quantis de ysim são intervalos de tolerância de expectativa beta da distribuição preditiva, é claro que você pode usar diretamente a distribuição amostrada para fazer o que quiser.

Pierre Lebrun
fonte