对于贝叶斯逻辑回归问题,我创建了一个后验预测分布。我从预测分布中采样,并为我拥有的每个观察结果接收数千个 (0,1) 样本。可视化拟合优度并不有趣,例如:

该图显示了 10 000 个样本 + 观察到的基准点(左侧可以画出一条红线:是的,这就是观察结果)。问题是这个图几乎没有提供信息,我将有 23 个,每个数据点一个。
有没有更好的方法来可视化 23 个数据点以及后验样本。
另一种尝试:

基于论文here的另一种尝试

对于贝叶斯逻辑回归问题,我创建了一个后验预测分布。我从预测分布中采样,并为我拥有的每个观察结果接收数千个 (0,1) 样本。可视化拟合优度并不有趣,例如:

该图显示了 10 000 个样本 + 观察到的基准点(左侧可以画出一条红线:是的,这就是观察结果)。问题是这个图几乎没有提供信息,我将有 23 个,每个数据点一个。
有没有更好的方法来可视化 23 个数据点以及后验样本。
另一种尝试:

基于论文here的另一种尝试

我有一种感觉,您并没有完全放弃所有商品来适应您的情况,但是鉴于我们面前的情况,让我们考虑使用简单的点图来显示信息的实用性。

唯一不在这里的(可能不是默认行为)是:
排序是像这样的点图的真正推动者。此处按比例值排序有助于轻松发现高残差观察值。拥有一个系统,您可以轻松地按包含在情节中或案例的外部特征中的值进行排序,这是获得收益的最佳方式。
该建议也适用于连续观察。您可以根据残差是负数还是正数对点进行着色/整形,然后根据绝对(或平方)残差调整点的大小。尽管由于观察值的简单性,这在 IMO 中是不必要的。
可视化贝叶斯逻辑回归模型与一个预测变量的拟合的常用方法是将预测分布与相应的比例一起绘制。(如果我理解你的问题,请告诉我)
使用流行的 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)