mcpField
P
prior-elicitation

prior-elicitation

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

关于 prior-elicitation

用于 elicitation 和评估贝叶斯先验的科学工作流,面向分析人员和建模者。它将假设与预测检验、敏感性分析联系起来,而非把默认先验视为无尺度。

主要功能

  1. 01定义估计目标与假设
  2. 02征集概率和分位数判断
  3. 03将假设转换为分布
  4. 04检查先验预测模拟
  5. 05比较合理的先验备选方案
  6. 06报告结论的敏感性

适用场景

  1. 01为贝叶斯模型设定先验
  2. 02依据科学判断检查预测
  3. 03评估先验尺度和尾部的敏感性

安装

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

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

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

包含的文件

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

LICENSE
references/
elicitation.md
shrinkage.md

详细介绍

先验 elicitation

先验是一种科学假设,而不是不受尺度影响的默认设置。应从量的含义出发确定分布,再检查其可观测含义。

工作流

  1. 定义量。 确定估计目标、总体、支持集、单位、变换/链接函数、参考预测变量取值,以及结果出现前可用的信息。区分物理边界与高概率区间、参数不确定性与未来观测变异,以及独立先验信息与基于结果的缩放。
  2. 进行 elicitation,而非凭空设定。 询问分位数、概率、有意义的预测变量对比和尾部判断;记录其来源和分歧。将用于教学的数字标记为示例性假设。不要根据留出结果调整先验,也不要捏造专家回答。
  3. 转换并检查。 使用解析公式或 PreliZ maxent/quartile。独立检查优化器状态和实际达到的 CDF。最大熵取决于所选的分布族和参数化,并非普遍适用的无信息先验。优先使用 PreliZ,而不是已弃用的 pm.find_constrained_prior。
  4. 模拟先验预测。 使用 pm.sample_prior_predictive(draws=...);通过 prior["prior_predictive"] 访问生成的 DataTree。根据已陈述的合理性判断,检查支持集、条件尺度、数据集极值和科学上的对比,而不只是看是否覆盖观测范围。当预测不合理时,应重新审视假设,同时保留支持集并考虑模拟不确定性。这些是合理性检查,不是针对推断实现的 SBC。
  5. 评估合理的替代方案。 在先验敏感性比较中,保持数据、似然、变换和估计目标不变,同时改变合理的尺度和尾部。粗略的探索性拟合可以提示需要调查哪些假设;对于所有支撑已报告结论的后验,都要检查发散、秩 R-hat、bulk/tail ESS、针对估计目标的 MCSE,以及迹线图/秩图。
  6. 报告实际敏感性。 比较物理尺度上的效应、有意义的事件概率、不确定性区间和新观测预测。少数几个先验下结果稳定,并不能证明数据占主导、全局稳健或模型充分。功效敏感性是局部的,也需要可靠的重要性权重;其启发式标签不是科学决策。

参考资料

调整示例时,请使用与已安装软件包版本匹配的 API 文档。PreliZ 小组件需要交互式笔记本;pymc-extras 是可选项,仅在使用其 R2D2 辅助工具或可选工厂工作流时才需要。无需安装其他技能,也可使用 elicitation 和收缩参考资料。

评论

支持 Markdown