You need to enable JavaScript to run this app. 带与不带addition-terms的logistic二项模型后验预测检验差异问询
优惠活动
大模型
产品
解决方案
定价
更多

带与不带addition-terms的logistic二项模型后验预测检验差异问询

问题1答复

这种差异完全符合预期,核心成因来自两类模型后验预测检查(PPC)的默认对比尺度不同:

  • 聚合模型的响应变量是分组求和后的成功次数,样本量远小于未聚合的长数据,比如你给出的示例数据中聚合后仅20个观测,而长数据有1000个观测,离散的计数分布本身就比二元0/1分布的匹配观感更模糊
  • 聚合模型默认PPC直接对sum值做预测,不同分组的试验总数N可能存在差异,预测值的取值范围会随N波动,和长模型统一的0/1预测尺度相比,自然会显得匹配度更低
    注意:只要固定效应、随机效应的估计结果在两类模型中一致,这种PPC的观感差异不代表聚合模型的拟合效果更差,只是对比尺度不同导致的

问题2答复

可以通过手动展开预测结果的方式,在单次二项试验尺度做PPC,具体操作逻辑如下:
首先从聚合模型中提取每个分组的后验预测成功概率,再按每个分组对应的试验次数N,将概率展开为对应数量的0/1二项模拟值,最终用展开后的模拟值和原始长数据的二元响应做对比即可。
参考实现代码:

library(bayesplot)
# 1. 提取聚合模型每个分组的后验预测概率
epred_agg <- posterior_epred(m_aggregated)
nsamples <- nrow(epred_agg)
total_trials <- sum(dat_aggregated$N)

# 2. 生成单次试验尺度的后验预测样本
y_rep_binary <- matrix(NA, nrow = nsamples, ncol = total_trials)
col_idx <- 1
for (i in seq_len(nrow(dat_aggregated))) {
  n_i <- dat_aggregated$N[i]
  y_rep_binary[, col_idx:(col_idx + n_i - 1)] <- rbinom(nsamples, size = 1, prob = epred_agg[, i])
  col_idx <- col_idx + n_i
}

# 3. 绘制和长模型尺度一致的PPC图
ppc_dens_overlay(y = dat_long$pTarget, yrep = y_rep_binary[1:100, ])

上述代码输出的PPC图就和pp_check(m_long)的输出完全同尺度,可以直接对比拟合效果。


内容的提问来源于stack exchange,提问作者kathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 11:27:06