mcpField
P
pymc-modeling

pymc-modeling

github.com/pymc-labs数据与数据库93241 次安装3 周前更新
代码仓库

关于 pymc-modeling

面向 Python 项目的 PyMC 建模技能,涵盖问题定义、模型构建、拟合、诊断和预测。它帮助分析人员与研究者按任务选择工作流,并检查假设、计算结果和不确定性。

主要功能

  1. 01定义估计目标与预测目标
  2. 02指导似然和先验设定
  3. 03检查先验与后验预测
  4. 04涵盖拟合和采样诊断
  5. 05支持模型修订与比较
  6. 06按任务选择参考工作流

适用场景

  1. 01构建并拟合 PyMC 模型
  2. 02排查采样失败或警告
  3. 03检查新输入上的预测表现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pymc-labs/pymc-modeling --skill pymc-modeling

安装后在 Claude Code 中输入/pymc-modeling确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
approximate-inference.md
bart.md
custom-likelihoods.md
extras-distributions.md
extras-model-tools.md
extras-statespace.md
gaussian-processes.md
hierarchical.md
interface-boundaries.md
likelihoods.md
mixtures.md
model-data-dimensions.md
model-testing.md
predictive-checks.md
pymc-extras.md
sampling.md
splines-distributional.md
time-series.md
transformations.md
troubleshooting.md
workflow.md

详细介绍

PyMC 建模

选择一个实用的起点:简单的脚手架、成熟的领域模型,或对较大目标模型进行分解。根据问题、数据和检查结果,扩展、简化或分支。使用使用方项目的数据和 Python 环境;检查已安装的 API 和软件包兼容性。

对于 pymc-extras 任务,请先查看特征选择与兼容性,然后仅加载相关的工作流参考。优先使用其中支持的算法,而不是自定义实现;不要仅仅因为已安装某个扩展就使用它。

选择主要任务

  • 构建、拟合或初始化模型:使用 pymc-modeling。
  • 征询先验假设或检查先验预测的合理性:如果可用,使用 prior-elicitation。
  • 诊断已有的已完成拟合或评估其预测:如果可用,使用 arviz-diagnostics。
  • 修复符号计算、广播、梯度或编译问题:如果可用,使用 pytensor-workflows。
  • 跟踪实验、保留 MLflow 工件或恢复已记录的 MMM 模型:如果可用,使用 pymc-mlflow。

多部分请求可以使用多种技能。下方的参考资料可在未安装专业技能时辅助建模。

工作流

  1. 明确问题。 说明估计目标或预测目标、观测单位、结果支持集、分组/时间结构、选择机制和缺失情况,以及预测时可用的信息。区分预测、推断和因果主张;遵守数据授权要求,并保留来源标识。
  2. 设定模型并检查。 使似然与观测过程相匹配;使用可识别的参数化形式和单位明确的先验。检查行对齐、形状、支持集和有限的初始对数密度。普通的 dims 只是为位置张量标注名称;它们不会关联坐标。 使用已知参数的模拟案例来探测新实现及其失效模式;只有在需要反复进行推断检查时,才使用范围明确的 SBC。
  3. 检查先验预测。 在拟合前进行模拟,并将支持集、尺度和与决策相关的特征与领域知识进行比较。不要仅根据实际观测到的极值来调整先验。
  4. 先探索,再进行推断拟合。 兼容且已安装时,优先使用 nutpie。简短的初步拟合可以发现错误、困难的几何结构或明显的拟合不佳;应将其标注为探索性分析,而非可靠的后验推断。对于可报告的结果,应根据自适应过程和所需的 ESS/MCSE 分配预热和抽样次数。在诊断或绘图前保存结果。
  5. 先诊断,再批判性评估。 检查发散、秩 R-hat、bulk/tail ESS、MCSE 以及链/秩图。诊断每一次发散。不可靠的计算意味着后验结论尚无定论;这并不能证伪似然。使用后验预测差异来检查观测模型。样本内 PPC 不是留出验证。
  6. 进行预测、决策并修正。 保留训练数据的标识,并对齐新输入;区分潜在均值与带噪声的观测。提出建议时,应根据明确说明的后果、效用和约束传播不确定性;或者移交推断结果,不要擅自臆造决策者的价值取向。保留相关的模型变体,并说明假设变化如何影响估计目标、预测和决策,而不只是指出哪个模型得分最高。由自适应 PPC/CV 驱动的搜索可能过拟合;不要把胜出模型描述为得到唯一确认的模型,也不要仅为获得有利结果而更改随机种子或评判标准。

PyMC 6 返回 xarray.DataTree:请使用 idata["posterior"],而不是通过属性访问组。在 LOO 或其他逐点似然工作流之前,显式调用 pm.compute_log_likelihood(idata, model=model)。ArviZ 1.0 使用 LOO,不再使用已移除的 WAIC;请说明区间概率和类型(默认值为 89% ETI)。权重相近的模型堆叠结果并不意味着模型等价。 采样器偏好、预热起点和区间默认值是实现层面的约定,并非普遍适用的贝叶斯工作流要求。应根据任务进行选择。

只阅读任务所需内容

工作内容参考资料
端到端拟合、诊断和科学检查工作流
模型构建、数据容器和维度模型和数据
初始化失败、形状错误、采样停滞或警告故障排除
分组效应、池化和参数化层级模型
结果支持集、删失、多元分布族和雅可比似然
算法、后端、预算和持久化采样
pymc-extras 的特征选择、兼容性和验证PyMC Extras
马尔可夫链、专用计数、极值和直方图似然Extras 分布
卡尔曼边缘化模型、结构组件和预测Extras 状态空间工作流
先验工厂、模型打包、VIP 和后验作为先验的迁移Extras 模型工具
变分、拉普拉斯和 Pathfinder 近似近似推断
协方差模型和有限基误差高斯过程
时间依赖、微分方程和预测时间序列
标签不变性和离散变量消除混合模型
外部密度、模拟器和预测回调自定义似然
条件化、干预和图变换变换
样本内检验和新输入预测预测检查
树集成和预测状态BART
基函数惩罚和分布预测变量样条
模拟数据实验、SBC、数值预言机和模拟对象模型测试
高级数值和扩展接口接口边界

对于特定版本的 API,请在使用环境中对已安装的对象调用 help() 或 inspect.signature(),然后查阅与版本匹配的官方文档或源代码。

评论

支持 Markdown