mcpField
T
thinking-bayesian

thinking-bayesian

github.com/tjboudreaux数据与数据库1.7k138 次安装12 周前更新
代码仓库

关于 thinking-bayesian

一种在已有明确先验和新证据时,运用贝叶斯规则更新信念的推理技能。它强调基础率与似然比,并建议将更广泛的不确定性或预测任务交由概率推理处理。

主要功能

  1. 01先陈述证据出现前的先验概率
  2. 02估算证据的似然比
  3. 03用数学方式更新后验赔率
  4. 04考虑罕见事件的基础率
  5. 05根据结果检查信心校准

适用场景

  1. 01结合基础率解读检测结果
  2. 02依据新证据更新假设
  3. 03评估 A/B 测试结果
  4. 04比较调试过程中的不确定原因

安装

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

$npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-bayesian

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

详细介绍

贝叶斯推理

概述

贝叶斯思维提供了一种基于新证据更新信念的框架。它不把信念视为非此即彼(真/假),而是承认信心程度会随着证据积累而变化。这种源自贝叶斯定理的方法有助于避免过度自信,也能避免对新信息反应不足。

核心原则: 先陈述基准率,再查看证据,然后更新。最常见的错误就是被鲜明的结果锚定,忽略先验——对于罕见病症,检测结果呈阳性通常仍是假警报。

重定向: 对于几乎所有不确定性推理任务,优先使用 thinking-probabilistic——它涵盖区间预测、校准和不确定性表达,无需明确的先验概率和似然比。只有在你有具体、量化的先验概率,以及要通过贝叶斯规则结合的具体证据时,才使用此技能。如果你只需要一个粗略的更新数值,使用下方的“基准率优先,再看似然比”提示即可——不必运行完整的定理。

触发卡片

解读测试结果、指标或新证据,且存在过度反应风险时:

  1. 先陈述基准率——证据出现前的概率是多少?
  2. 估算似然比——在假设成立的情况下,这项证据比假设不成立时更可能出现多少?
  3. 更新: 后验赔率 = 先验赔率 × 似然比。

如果基准率很低(病症罕见),阳性结果通常仍是假警报。务必从先验开始。

适用场景

  • 估算概率或可能性
  • 解读测试结果或指标
  • 在信息不完整的情况下做决策
  • 评估相互竞争的假设
  • 从实验或 A/B 测试中学习
  • 诊断原因不确定的问题
  • 根据历史数据预测结果

决策流程:

Uncertain about something? → yes → Have prior belief? → yes → New evidence? → APPLY BAYESIAN UPDATE
                                                      ↘ no → Establish base rate first
                         ↘ no → Standard analysis may suffice

不适用场景

  • 你在不确定的情况下推理,但没有具体的先验概率与证据组合。 改用 thinking-probabilistic——它可处理区间预测、校准和不确定性表达,无需正式的贝叶斯方法。
  • 证据确凿或可直接观察。 如果你可以查看日志、运行查询或查找答案,就直接去做——不要把几乎确定的事情包装成概率。
  • 不存在有意义的先验概率,你只能凭空编造数字。捏造基准率会制造虚假的严谨感;应说明先验概率未知。
  • 在任何合理的后验概率下,决策都相同。 如果概率是 40% 或 70% 时你都会采取相同的行动,就跳过更新,直接行动。
  • 你需要用经过校准的区间来表达不确定性, 而不是根据单项证据进行点估计更新——这属于 thinking-probabilistic 的范畴。

核心概念

先验概率

看到新证据之前的信念:

P(H) = probability that hypothesis H is true

Example: Before any symptoms, what's the probability someone has disease X?
         Use base rate: If 1 in 1000 people have it, P(disease) = 0.001
似然

假设为真时,证据出现的可能性有多大?

P(E|H) = probability of seeing evidence E, given H is true

Example: If someone HAS the disease, what's the probability of a positive test?
         If test is 99% sensitive: P(positive|disease) = 0.99
后验概率

看到证据之后的信念:

P(H|E) = updated probability of H, given you observed E

This is what Bayes' Theorem calculates.

贝叶斯定理

                P(E|H) × P(H)
P(H|E) = ─────────────────────────
                   P(E)

Where:
  P(H|E) = posterior (what we want)
  P(E|H) = likelihood (how expected is evidence if H true)
  P(H)   = prior (initial belief)
  P(E)   = total probability of evidence
直观形式
Posterior odds = Prior odds × Likelihood ratio

If evidence is 10x more likely under H than under not-H,
your odds should shift by factor of 10.

流程

步骤 1:确定先验概率

在看到这项证据之前,你的看法是什么?

  • 尽可能使用基准率
  • 明确说明不确定性
  • 不要仅仅因为不确定就锚定在 50%
Question: Will this feature increase conversion?
Prior: Based on similar features, ~30% succeed significantly
       P(success) = 0.30
步骤 2:评估证据

这项证据有多强?请考虑:

  • 假设为真时,这项证据出现的可能性有多大?
  • 假设为假时,这项证据出现的可能性有多大?
  • 两者的比率是多少?
Evidence: Early A/B test shows 5% lift (p=0.08)
P(this result | feature works) = 0.60 (moderately expected)
P(this result | feature doesn't work) = 0.15 (possible but less likely)
Likelihood ratio = 0.60 / 0.15 = 4x
步骤 3:更新信念

将似然比应用于先验概率:

Prior odds: 0.30 / 0.70 = 0.43
Likelihood ratio: 4x
Posterior odds: 0.43 × 4 = 1.72
Posterior probability: 1.72 / (1 + 1.72) = 0.63

Updated belief: 63% confidence feature will succeed
(up from 30% prior)
步骤 4:随着更多证据出现而迭代

昨天的后验概率成为今天的先验概率:

New evidence: Week 2 shows lift holding at 4.5%
Prior (from step 3): 0.63
[Repeat update process]
New posterior: 0.78

常见应用

解读测试结果
Scenario: Test for rare disease (1 in 10,000 prevalence)
Test: 99% sensitive, 99% specific

Prior: P(disease) = 0.0001
If positive test:
  P(positive|disease) = 0.99
  P(positive|no disease) = 0.01
  P(positive) = 0.99 × 0.0001 + 0.01 × 0.9999 ≈ 0.0101

Posterior: P(disease|positive) = (0.99 × 0.0001) / 0.0101 ≈ 0.0098

Even with 99% accurate test, positive result only means ~1% chance of disease!
Base rate dominates when condition is rare.
调试
Bug report: Users see error X
Prior beliefs:
  P(database issue) = 0.20
  P(network issue) = 0.30
  P(code bug) = 0.40
  P(user error) = 0.10

Evidence: Error happens only on mobile
  P(mobile-only | database) = 0.05
  P(mobile-only | network) = 0.30
  P(mobile-only | code bug) = 0.60
  P(mobile-only | user error) = 0.40

Update: Code bug becomes most likely (posterior ~0.55)
Next step: Investigate mobile-specific code paths
项目估算
Prior: Based on similar projects, P(on-time) = 0.40

Evidence 1: Team is experienced with this stack
  Likelihood ratio: 1.5x → Posterior: 0.50

Evidence 2: Requirements are unclear
  Likelihood ratio: 0.6x → Posterior: 0.38

Evidence 3: Critical dependency has risk
  Likelihood ratio: 0.7x → Posterior: 0.30

Final estimate: 30% chance of on-time delivery

思维捷径

强证据与弱证据
证据类型典型似然比
确凿证据100 倍以上
强证据10–100 倍
中等证据3–10 倍
弱证据1.5–3 倍
噪声约 1 倍(不更新)
何时大幅更新

以下情况应大幅更新:

  • 证据在当前信念下出乎意料
  • 证据来自可靠来源
  • 证据与假设直接相关

以下情况应小幅更新:

  • 无论假设是否成立,这种证据都在意料之中
  • 来源的可靠性未知
  • 证据只是间接的
忽视基准率(避免这种情况)

常见错误:证据出现时忽略先验概率

Wrong: "Positive test = probably have disease"
Right: "Positive test shifts probability, but base rate matters"

校准检查

你的判断校准得好吗?

跟踪预测和结果:

  • 你认为「有 70% 的可能性」的事情,实际发生的比例是否约为 70%?
  • 如果你总是过度自信,就扩大不确定性范围
  • 如果你总是信心不足,就更相信自己的评估
信心等级
表示的信心应代表的含义
50%五五开
70%愿意按 2:1 的赔率下注
90%愿意按 9:1 的赔率下注
99%愿意按 99:1 的赔率下注

验证清单

  • 明确设定了先验概率(而不只是「我觉得……」)
  • 评估了证据的似然比
  • 以数学方式进行更新(而不只是说「更可能/不太可能」)
  • 考虑了罕见事件的基准率
  • 检查了是否忽视基准率
  • 记录了推理过程,以便日后校准

关键问题

  • 「在看到这条证据之前,我的信念是什么?」
  • 「如果我的信念为真,这条证据出现的可能性有多大?如果为假呢?」
  • 「似然比是多少?」
  • 「我是否受证据影响而忽略了基准率?」
  • 「我会如何下注?赔率是多少?」

Kahneman 的警示

「人们往往会根据问题从记忆中浮现的容易程度来评估其相对重要性,而这在很大程度上取决于媒体对该问题的报道程度。」

不要让鲜明的证据凌驾于基准率之上。飞机失事并不会让乘飞机比开车更危险,尽管感觉上是如此。

评论

支持 Markdown