베이지안 선형 회귀 분석의 사후 예측 분포 평가


10

베이지안 선형 회귀 분석에 대한 사후 예측 분포를 평가하는 방법에 대해 혼란스러워 합니다. 여기 에서 3 페이지에 설명 된 기본 사례를지나 아래에 복사되었습니다.

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

기본 사례는이 선형 회귀 모형입니다.

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

우리가 어느 일정한 종래 사용하면 규모-인보이스와 에 종래 , OR 전에 정상 역 감마 (참조 여기 ) 후방 예측 분포를 분석하고 학생 t이다. βχ2σ2

이 모델은 어떻습니까?

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

경우 있지만 알려져 후방 예측 다변량 가우시안 분포이다. 일반적으로 를 모르지만 추정해야합니다. 어쩌면 당신은 대각선을 말하고 어떤 식 으로든 대각선을 공변량의 함수로 만듭니다. 이것은 Gelman의 베이지안 데이터 분석 의 선형 회귀 장에서 논의됩니다 .yN(Xβ,Σ)ΣΣ

이 경우 사후 예측 분포에 대한 분석 형식이 있습니까? 평가 결과를 다변량 학생 t에 꽂을 수 있습니까? 둘 이상의 분산을 추정하는 경우 분포가 여전히 다변량 학생 t입니까?

이미 있다고 말했기 때문에 묻습니다 . 예를 들어 선형 회귀 A, 선형 회귀 B에 의해 예측되었을 가능성이 더 높은지 알고 싶습니다. y~


1
사후 분포의 사후 표본이있는 경우 Monte Carlo 근사를 사용하여 예측 분포를 평가할 수 있습니다.
niandra82

고마워, 난 항상 그렇게 할 수 있습니다. 이 경우 분석 공식이 없습니까?
bill_e

그런데 링크가 끊어졌습니다. 다른 방법으로 참조를 통합하면 좋을 것입니다.
Maxim.K

답변:


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

비 정보 또는 다변량 정규-위시 아트 이전의 경우, 고전적인 변량, 다중 회귀에 대한 다변량 학생 분포로 분석 형식을 갖습니다. 이 문서 의 개발 내용은 귀하의 질문과 관련 이 있다고 생각합니다 (부록 A :-)). 나는 일반적으로 WinBUGS와 분석 형식을 사용하여 얻은 사후 예측 분포와 결과를 비교했습니다. 혼합 효과 모델, 특히 불균형 설계에서 추가 임의 효과가있는 경우에만 문제가 발생합니다.

일반적으로 고전적인 회귀 분석에서 y와 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의 Quantile은 예측 분포의 베타 기대치 허용 오차 간격입니다. 물론 표본 분포를 직접 사용하여 원하는 모든 작업을 수행 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.