数据分析
pymc avatar

pymc

使用 PyMC 进行贝叶斯建模与概率编程。构建分层模型,执行 MCMC 采样 (NUTS) 与变分推断,并透过 LOO/WAIC 进行严谨的模型比较与后验检查。

简介

PyMC 是一项专为贝叶斯建模而设计的技能,适用于需要执行概率编程与统计推断的研究人员与数据科学家。此技能利用现代 PyMC 5.x API,帮助用户构建、拟合与验证复杂的统计模型。它特别适合需要不确定性量化、分层数据分析以及对测量误差或缺失数据进行原则性处理的场景。透过与 ArviZ 的整合进行诊断可视化,确保模型不仅构建正确,且具备稳健性、收敛性与统计上的合理性。

  • 使用无回转采样器 (NUTS) 与变分推断 (ADVI) 执行高阶贝叶斯推断。

  • 构建复杂的分层与多层级模型,以处理群体间的变异。

  • 使用 LOO 交叉验证与 WAIC 等信息准则进行严谨的模型选择与评估。

  • 实施先验与后验预测检查,验证模型假设并识别潜在的错误设定。

  • 透过分析 R-hat 收敛指标、有效样本量 (ESS) 与发散转折来诊断采样性能。

  • 透过灵活的模型定义实现线性回归、逻辑回归与自定义概率结构。

  • 始终标准化连续预测变量,以提高 Hamiltonian Monte Carlo 采样的效率。

  • 使用弱信息先验取代无信息先验,引导模型参数进入物理上合理的范围。

  • 明确定义模型的坐标与维度,以增强代码可读性并促进复杂数据的索引。

  • 在遇到复杂后验分布或采样发散时,调高 target_accept 参数 (0.9–0.99)。

  • 输入通常为数值数组或 pandas DataFrames;输出为包含后验轨迹、诊断信息与汇总统计数据的 InferenceData 对象。

  • 确保足够的调整样本数与多个链,以保证 MCMC 链已完全探索参数空间。

仓库统计

Star 数
19,798
Fork 数
2,209
Open Issue 数
41
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 16:08
在 GitHub 查看