하나의 예측 변수를 사용하여 베이지안 로지스틱 회귀 모형의 적합도를 시각화하는 일반적인 방법은 해당 분포와 함께 예측 분포를 플로팅하는 것입니다. (귀하의 질문을 이해하면 알려주십시오)
널리 사용되는 Bliss 데이터 세트를 사용한 예입니다.
R의 아래 코드 :
library(mcmc)
# Beetle data
ni = c(59, 60, 62, 56, 63, 59, 62, 60) # Number of individuals
no = c(6, 13, 18, 28, 52, 53, 61, 60) # Observed successes
dose = c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.8610, 1.8839) # dose
dat = cbind(dose,ni,no)
ns = length(dat[,1])
# Log-posterior using a uniform prior on the parameters
logpost = function(par){
var = dat[,3]*log(plogis(par[1]+par[2]*dat[,1])) + (dat[,2]-dat[,3])*log(1-plogis(par[1]+par[2]*dat[,1]))
if( par[1]>-100000 ) return( sum(var) )
else return(-Inf)
}
# Metropolis-Hastings
N = 60000
samp <- metrop(logpost, scale = .35, initial = c(-60,33), nbatch = N)
samp$accept
burnin = 10000
thinning = 50
ind = seq(burnin,N,thinning)
mu1p = samp$batch[ , 1][ind]
mu2p = samp$batch[ , 2][ind]
# Visual tool
points = no/ni
# Predictive dose-response curve
DRL <- function(d) return(mean(plogis(mu1p+mu2p*d)))
DRLV = Vectorize(DRL)
v <- seq(1.55,2,length.out=55)
FL = DRLV(v)
plot(v,FL,type="l",xlab="dose",ylab="response")
points(dose,points,lwd=2)