用途:在 PyMC 建模后评估与比较贝叶斯模型,核心是 PSIS-LOO-CV(留一交叉验证),ArviZ 1.1 已移除 az.waic,只能使用 LOO。
主要能力:azs.loo(dt) 返回 ELPDData(含 elpd、se、p、pareto_k);用 azp.plot_khat 检查 Pareto k,k<0.5 可靠、0.5~0.7 可接受、>0.7 不可靠需改用矩匹配或 k 折;azs.loo_moment_match 对问题点自动重加权,azs.loo_kfold(dt, K=10) 为精确但慢 K 倍的方案;azs.compare 支持多模型 LOO 比较,输出 rank、elpd、elpd_diff、weight、dse 等,并可用 azp.plot_compare、azp.plot_elpd 可视化;模型平均默认堆叠权重,也支持 method="BB-pseudo-BMA"。新增 azs.loo_expectations、azs.loo_metrics、azs.loo_r2、azs.loo_score、azs.loo_subsample、azs.reloo,并提供 .azstats xarray 访问器。LOO-PIT(azp.plot_loo_pit)用于校准检查。
用法:导入 import arviz_stats as azs 与 import arviz_plots as azp,对 pm.sample() 产出的 DataTree 调用上述函数;xarray 访问器形式为 dt.azstats.loo()。
适用与限制:适用于贝叶斯模型选择、预测精度比较与平均;PyMC 6 默认返回 DataTree,ArviZ 1.1 统计与绘图以 DataTree 为主但仍接受类似 idata 输入;默认可信区间为 0.89 ETI,通过 ci_prob、ci_kind 控制,底层 hdi() 用 prob。高 k 时先矩匹配,仍不佳再用 k 折或检查离群与模型误设。Bayes 因子桥抽样难以可靠计算,资料建议常规比较优先用 LOO。肘部判据:|elpd_diff|<4 模型实际难以区分,>4 且 |elpd_diff/dse|>2 才算有意义差异。