SuperAPI AI 工具集

pymc

通用与其它

查看项目

更新于 10-15 21:39

技能介绍

用途:PyMC 用于贝叶斯建模与概率编程,可构建、拟合并验证线性/逻辑回归、层级模型、时间序列等,并做不确定性量化。主要能力:MCMC(NUTS)采样、变分推断(ADVI)、先验/后验预测检查、诊断(R-hat、ESS、发散)、模型比较(LOO、WAIC)与模型平均。安装:uv pip install "pymc[nutpie]==6.0.1",nutpie 提供更快的 NUTS 实现;如用 NumPyro 或 BlackJAX,需在同一环境安装并锁定版本。基本用法:用 pm.Model(coords=...) 定义模型,配弱信息先验,用 pm.Data 存放可替换预测数据,pm.sample(draws=2000, tune=1000, chains=4, target_accept=0.9, random_seed=42, idata_kwargs={'log_likelihood': True}) 采样;随后做先验预测检查、诊断与后验预测检查,再用 pm.set_data 做样本外预测。层级模型建议使用非中心化参数化以避免发散。实践上应标准化连续预测变量、使用命名维度、至少 4 条链,并在解释前检查 R-hat、ESS 与发散。限制与缺失:资料未提供收费、具体平台支持范围或与其他工具的性能对比;采样速度与收敛性依赖模型复杂度与参数设置,变分推断为近似方法,可能低估不确定性。模型比较中 Δloo 与 Pareto-k 的解释规则、常见分布选择及诊断脚本(model_diagnostics.py、model_comparison.py)与模板(linear_regression_template.py、hierarchical_model_template.py)在资料中有列出,可作为参考。结果可存为 NetCDF(idata.to_netcdf)并用 az.from_netcdf 读取。