SuperAPI AI 工具集

pymc-bayesian-modeling

通用与其它

查看项目

更新于 10-15 22:40

技能介绍

用途:该技能面向 PyMC 5 的完整贝叶斯统计建模流程,包括模型设定、推断、诊断、模型比较与预测,强调给出带不确定性的参数估计(可信区间)而非仅点估计。

主要能力:定义先验与似然;使用 NUTS 进行 MCMC 采样,或用 ADVI 等变分推断;诊断收敛(R-hat、ESS、散度、最大树深);做先验预测检查与后验预测检查;用 LOO-CV、WAIC 比较候选模型;对组间/嵌套数据做层次模型;贝叶斯线性、逻辑、Poisson 回归;将缺失数据或测量误差作为潜变量处理;用自回归或随机游走先验建模时间序列;为新观测生成带不确定性的后验预测。

适用场景:需要完整不确定性量化的参数估计;分组或嵌套数据的部分汇聚建模;模型假设验证与模型选择;非线性或空间数据的高斯过程;二分类与计数数据建模。

使用方式:安装依赖 pip install pymc arviz numpy matplotlib,可选 GPU 后端 pip install pymc[jax]。在 pm.Model() 上下文中定义先验、线性预测子与似然,用 pm.sample() 采样,用 az.summary()、az.plot_trace()、az.plot_rank() 检查诊断,用 pm.sample_prior_predictive() 与 pm.sample_posterior_predictive() 做预测检查,用 az.compare() 比较模型。关键参数包括 draws、tune、chains、cores、target_accept、init、random_seed,比较模型时设置 idata_kwargs={"log_likelihood": True}。

限制与注意事项:资料未给出官方收费与授权信息。诊断阈值建议 R-hat < 1.01、ESS > 400、散度为 0,Pareto-k < 0.7 时 LOO 才可靠;出现发散可提高 target_accept 或改用非中心参数化;高斯过程在 n > 1000 时计算代价高。若需编译式、大规模模型推断可考虑 Stan/PyStan;频率派统计检验可用 statsmodels。