这个工具提供了哪些能力
点开任一能力,看清怎么用
每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。
常见场景:需要用后验分布表达参数不确定性而非单一点估计;观测数据较少,希望引入先验知识约束参数估计;需要比较多个竞争模型的预测能力(WAIC/LOO);想通过先验预测检查确认模型在未观测数据下的行为是否合理
帮你算出参数的概率分布:模型写好后,它用随机采样从后验分布抽出一大批样本,并附带收敛诊断指标,让你能判断这次估计可不可信,再拿去做推断和预测。
它会给你什么
- 一批后验样本,附采样过程统计。
- 旧式的多链采样轨迹对象,功能较少。
- 收敛诊断警告,提示采样有没有出问题。
你需要准备
- 你已经写好的概率模型。
- 采样设置:每条链抽多少样本、预热多少条、跑几条链、用几个核心。
- 采样方法,不指定时由工具按变量类型自动选。
由你把关
- 采样有没有收敛(R-hat 接近 1、有效样本量够大、几乎没有发散),由你核对。
- 采样参数和变量写法是否针对后验形态调优过,由你判断。
- 离散和连续变量混合时的采样步骤安排是否合理,由你检查。
帮你检验和预测:在没看数据前先从先验生成模拟数据,看假设合不合理;拟合后再从后验生成模拟数据,看模型能不能重现真实数据的特征;还能换新场景做预测。
它会给你什么
- 先验预测和后验预测的模拟样本。
- 并入原来结果文件的预测样本。
- 快速抽样得到的数值数组。
你需要准备
- 你已经写好的概率模型。
- 拟合得到的后验样本,供预测时使用。
- 你想重新生成哪些变量的取值。
由你把关
- 先验预测出的数据范围是否合理、不过宽不过窄,由你核对。
- 后验预测能否重现观测数据的关键统计特征,比如均值、方差和尾部,由你核对。
- 换新数据做预测时,数据形状和坐标是否对得上,由你检查。
帮你快速近似参数分布:比起慢工出细活的采样,它用优化方法更快地逼近后验,适合数据量大或想先快速探索的场景,也可以用来给正式采样热身。
它会给你什么
- 一个近似后验对象,可以从里面继续抽样本。
- 抽出来的样本,格式和正式采样的结果兼容,下游分析可以直接复用。
- 损失值的变化记录,用来判断优化有没有收敛。
你需要准备
- 你已经写好的概率模型。
- 迭代次数和近似方法的选择。
- 起点设置、随机种子和加速后端。
由你把关
- 选的近似方法是否匹配参数之间的相关结构,由你判断。
- 损失是否收敛、重要结论是否再用正式采样交叉验证,由你核对。
- 小批量训练的批次大小是否够估计梯度,由你检查。
帮你读懂采样结果:把每个参数的均值、可信区间整理成摘要表,检查采样是否收敛,还能比较几个候选模型哪个更好,产出可以直接写进论文的统计结果。
它会给你什么
- 参数摘要表,包括均值、标准差、可信区间和收敛指标。
- 收敛诊断结果,标出有问题的采样。
- 模型比较的分数及其误差估计。
你需要准备
- 采样得到的后验样本文件。
- 你要分析哪些变量、可信区间取多宽。
- 比较模型时:各候选模型的对数似然和样本文件。
由你把关
- 收敛诊断是否全部通过,由你核对。
- 报告时是否把均值、可信区间和收敛指标一起给出,而不是只报均值,由你把关。
- 模型比较的差异是否显著、是否报告了误差范围,由你判断。
帮你把研究问题写成概率模型:声明有哪些参数、你对它们事先了解多少、数据是怎么生成的,让后面所有采样、推断和预测都基于同一套假设。数据里的缺失值也能自动补上。
它会给你什么
- 一个完整的模型对象,供后续采样、近似和预测调用。
- 模型里所有变量的清单,供计算和报告引用。
- 施加干预或条件后得到的新模型,用于反事实推演。
你需要准备
- 你写的模型定义代码块。
- 各个随机变量的声明,比如服从什么分布、参数是什么。
- 观测数据,以及需要中途替换的数据容器。
由你把关
- 先验选择是否合理,太强或完全无信息的先验都可能让采样困难,由你判断。
- 变量的维度命名是否和后续报告的规范一致,由你核对。
- 观测数据的清洗是否到位、缺失值自动插补的机制你是否知情,由你确认。
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。
第一次直接复制
帮我安装这个库:https://github.com/pymc-devs/pymc 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
别这样用
这些判断,仍然由你负责
- 不检查收敛诊断就把采样结果当作可信后验
- 在强相关参数上使用MeanField ADVI——它假设参数独立,会低估方差
- 直接用MAP点估计代表后验——多维/非对称后验的众数不具有代表性
- 模型比较时只看WAIC/LOO的数值而不看ELPD差的标准误
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
处理机制
- 01
核心处理链
用代码声明贝叶斯概率模型,通过MCMC或变分推断估计参数后验分布。
已核对范围
- 读取 pymc/sampling/mcmc.py 的 sample()、initnuts()、sampleexternalnuts、samplemany、sample
- 读取 pymc/stepmethods/ 的 NUTS、HamiltonianMC、Metropolis、BinaryMetropolis、BinaryGibbsMetropolis、CategoricalGibbsMetropolis、DEMetropolis、DEMetropolisZ、Slice、CompoundStep、BlockedStep
- 读取 pymc/stats/convergence.py 的 runconvergencechecks、SamplerWarning、warndivergence、warntreedepth
- 读取 pymc/tuning/starting.py 的 findMAP、pymc/tuning/scaling.py 的 mass matrix 辅助函数
- 读取 pymc/backends/ 的 NDArray、MultiTrace、toinferencedata
- 读取 pymc/sampling/forward.py 的 draw、samplepriorpredictive、sampleposteriorpredictive
- 读取 sampleposteriorpredictive 的 samplevars/freezevars/predictions/extendinferencedata 机制
- 读取 README.rst 线性回归样例的 priorpredictive - do/observe - posteriorpredictive - predictions 链路
仍待核对
- 未运行本机 pm.sample smoke
- 未逐个核对 NUTS 内部 leapfrog/树构建/对偶平均的数值细节
- 未覆盖外部采样器(nutpie/numpyro/blackjax)的安装与调用实测
- 未运行本机 prior/posterior predictive smoke
- 未核对 ImplicitFreezeWarning 的触发与 freezevars/samplevars 的完整交互
- 未覆盖 pm.Data + setdata 在预测新坐标时的完整字段变化
- 未运行本机 pm.fit smoke
- 未核对 opvi/operators 的算子(KL、KS)内部实现
读取版本
c870b5c3f88b30ac6db6211711f12c6e7c2d6ddc许可
Apache-2.0
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
科研之我见
AI 科研全流程怎么搭,我梳理出三个核心入口
每天开工先固定阶段入口、材料入口和验证入口,把庞大的科研全流程收缩成一段可执行、可检查的任务。
查看内容