Agent Skills
返回列表
📊

PyMC 贝叶斯建模

数据分析 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/pymc-bayesian-modeling。

技能介绍

要解决什么问题

频率学派回归能给出点估计,但当你需要把参数不确定性带进预测、处理分组/多层数据、或在样本少、有缺失和测量误差时仍要原则性建模,手写 PyMC 5.x 模型很容易在先验选择、参数化和采样诊断上踩坑:分歧、R-hat 偏高、ESS 不足,以及模型比较时 LOO 不可靠。

技能如何组织工作流

本技能围绕 PyMC 现代 API(5.x+)整理了一条可重复的贝叶斯流程,而不是只列 API:

  • 数据与模型:标准化连续预测变量、用 coords/dims 命名维度、尺度参数优先 HalfNormal/Exponential,分层结构强调非中心参数化;预测用 pm.Data() 便于后验预测。
  • 拟合前验证:先验预测检验,避免「先验已经生成不合理数据」仍去跑 NUTS。
  • 采样与诊断:默认 NUTS(draws/tune/chains、target_accept),拟合时 log_likelihood=True 以支持比较;配合诊断脚本检查 R-hat、ESS、分歧与迹线混合。
  • 模型验证与比较:后验预测检验;用 LOO/WAIC 比较模型,并关注 Pareto-k;必要时做模型平均。

常见模式覆盖线性/逻辑回归、分层模型、泊松与负二项计数、简单时间序列;附带 references/ 分布与采样说明,以及 assets/ 中的线性回归与分层模型模板、scripts/ 中的诊断与比较工具。

适用边界与注意点

  • 变分推断(如 ADVI)适合快速探索或初始化,不确定性可能被低估;发表级结论仍以 MCMC 诊断通过为准。
  • 离散参数或极难后验可能需要 Metropolis 或更高 target_accept,并反复检查是否多模态或误设定。
  • 极大模型可考虑 minibatch ADVI 或子采样,但需单独评估近似误差。

使用场景

  • 教育或医疗分组数据上拟合多层回归,需要把组间差异与预测不确定性一并报告给评审或业务方
  • 已在 PyMC 中拟合两个候选模型,要用 LOO/WAIC 判断哪个更可信并检查 Pareto-k 是否可靠
  • NUTS 出现分歧或 R-hat 偏高,需要按工作流调高 target_accept、改非中心参数化并重跑诊断
  • 样本少或存在缺失/测量误差,想用先验预测与后验预测检验确认模型设定再对外发布结论

适合人员

  • 用 Python 做因果或效应量分析的数据科学家,需要在分组实验里输出带 HDI 的贝叶斯估计而非仅 p 值
  • 撰写论文或内部技术报告的量化研究员,要按可复现流程完成 PyMC 建模、收敛诊断与模型比较
  • 处理嵌套采样设计(站点/批次/受试者)的生物统计或生态分析人员,需要规范的分层模型与采样排错清单
  • 从频率学派模型迁移到概率编程的算法工程师,需要分布选择、pm.Data 预测与 ArviZ 诊断的实操模板