Valutare la distribuzione predittiva posteriore nella regressione lineare bayesiana


10

Sono confuso su come valutare la distribuzione predittiva posteriore per la regressione lineare bayesiana, oltre il caso di base descritto qui a pagina 3 e copiato di seguito.

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

Il caso di base è questo modello di regressione lineare:

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

Se usiamo un'uniforme prima di , con una scala-Inv χ 2 prima di σ 2 , O la gamma normale-inversa prima (vedi qui ) la distribuzione predittiva posteriore è analitica ed è studente t. βχ2σ2

Che dire di questo modello?

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

yN(Xβ,Σ)ΣΣ

Esiste una forma analitica per la distribuzione predittiva posteriore in questo caso? Posso semplicemente collegare la mia stima in uno studente multivariato? Se si stima più di una varianza, la distribuzione è ancora studente multivariato t?

y~


1
Se si dispone di campioni posteriori dalla distribuzione posteriore è possibile valutare la distribuzione predittiva con un'approssimazione di Monte Carlo
niandra82

Ah grazie, ho sempre potuto farlo. Non esiste una formula analitica in questo caso?
bill_e,

I collegamenti sono interrotti, comunque. Sarebbe bello se tu dovessi incorporare i riferimenti in un altro modo.
Maxim.K

Risposte:


6

ββ

β|yN(β^,Vβ).
β^=[XΣ1X]XyandVβ=[XΣ1X]1.
y~N(X~β,Σ~)yβ
y~|yN(X~β^,Σ~+Vβ).
yy~
(yy~)N([XβX~β],[ΣΣ12Σ21Σ~]).
y~|yN(X~β^+Σ21Σ1(yXβ^),Σ~Σ21Σ1Σ12).
Σ,Σ12,Σ~

2

Sotto i priori non informativi o multivariati di Wishart normale, hai la forma analitica come distribuzione multivariata di uno studente, per una mutlivariata classica, regressione multipla. Immagino che gli sviluppi di questo documento siano collegati alla tua domanda (l'appendice A potrebbe piacerti :-)). In genere ho confrontato il risultato con una distribuzione predittiva posteriore ottenuta usando WinBUGS e la forma analitica: sono esattamente equivalenti. Il problema diventa difficile solo quando si hanno ulteriori effetti casuali nei modelli a effetti misti, specialmente nel design sbilanciato.

In generale, con regressioni classiche, ye ỹ sono condizionatamente indipendenti (i residui sono iid)! Naturalmente se non è così, la soluzione proposta qui non è corretta.

In R, (qui, soluzione per priori uniformi), supponendo che tu abbia creato un modello lm (chiamato "modello") di una delle risposte nel tuo modello, e chiamato "modello", ecco come ottenere la distribuzione predittiva multivariata

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) 

Ora, i quantili di ysim sono intervalli di tolleranza di aspettativa beta dalla distribuzione predittiva, puoi ovviamente usare direttamente la distribuzione campionata per fare quello che vuoi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.