跳转到内容

贝叶斯推断基础

快速概览

贝叶斯推断提供了一种系统化的方法来处理不确定性,通过先验、似然和后验的关系,在生物信息学中广泛应用于参数估计、模型选择和预测。

  • 重点理解贝叶斯定理的核心思想和先验、似然、后验的关系
  • 贝叶斯方法在生物信息学中用于处理小样本、不确定性和模型选择
所属板块 核心方法

索引、比对、组装与概率模型构成的核心算法主轴。

阅读目标 帮助建立阅读上下文

先判断这页与你当前问题的关系,再决定是否深入展开。

建议前置 先建立相关基础对象与方法直觉

建议先建立相关基础对象与方法直觉,再进入本页。

贝叶斯推断是一种基于贝叶斯定理的统计推断方法,它将未知参数视为随机变量,通过观测数据更新对参数的信念。

与频率学派不同:

  • 频率学派:参数是固定的未知常数,通过重复抽样估计
  • 贝叶斯学派:参数是随机变量,通过数据更新其概率分布

在生物信息学中,贝叶斯推断的价值体现在:

  • 小样本问题:当数据量有限时,先验知识可以提供额外信息
  • 不确定性量化:提供完整的后验分布,而不仅仅是点估计
  • 模型选择:通过贝叶斯因子比较不同模型
  • 层次建模:自然地处理多层次的生物数据结构
  • 在线学习:可以随着新数据的到来不断更新信念
先验分布 P(θ)
在观测数据之前,对参数θ的信念或知识。
似然函数 P(D|θ)
给定参数θ,观测到数据D的概率。
后验分布 P(θ|D)
在观测数据D后,对参数θ的更新信念。
边际似然 P(D)
数据的总概率,用于归一化后验分布。

贝叶斯定理的核心公式:

P(θD)={P(Dθ)P(θ)}{P(D)}={P(Dθ)P(θ)}{P(Dθ)P(θ)dθ}P(\theta | D) = \frac\{P(D | \theta) P(\theta)\}\{P(D)\} = \frac\{P(D | \theta) P(\theta)\}\{\int P(D | \theta) P(\theta) d\theta\}

其中:

  • P(θD)P(\theta | D) 是后验分布
  • P(Dθ)P(D | \theta) 是似然函数
  • P(θ)P(\theta) 是先验分布
  • P(D)P(D) 是边际似然(证据)
  1. 设定先验:基于领域知识或无信息先验
  2. 收集数据:观测相关数据
  3. 计算似然:建立数据与参数的关系
  4. 更新后验:通过贝叶斯定理更新信念
  5. 做推断:基于后验分布进行预测或决策

假设我们想估计一枚硬币正面朝上的概率 θ\theta

先验:假设对硬币没有先验知识,使用均匀先验 θUniform(0,1)\theta \sim \text{Uniform}(0, 1)

数据:抛掷10次,7次正面,3次反面

似然P(Dθ)=θ7(1θ)3P(D | \theta) = \theta^7 (1-\theta)^3

后验

P(θD)θ7(1θ)31=θ7(1θ)3P(\theta | D) \propto \theta^7 (1-\theta)^3 \cdot 1 = \theta^7 (1-\theta)^3

这是一个 Beta 分布:θDBeta(8,4)\theta | D \sim \text{Beta}(8, 4)

推断

  • 后验均值:88+4=230.667\frac{8}{8+4} = \frac{2}{3} \approx 0.667
  • 95%置信区间:[0.35, 0.90]

在这个例子中,均匀先验(Beta(1,1))与二项似然是共轭的:

  • 先验:θBeta(α,β)\theta \sim \text{Beta}(\alpha, \beta)
  • 似然:DBinomial(n,θ)D \sim \text{Binomial}(n, \theta)
  • 后验:θDBeta(α+k,β+nk)\theta | D \sim \text{Beta}(\alpha + k, \beta + n - k)

其中 kk 是成功次数,nn 是总试验次数。

在motif discovery中,贝叶斯方法可以:

  • 设定motif位置的先验分布(如偏好某些位置)
  • 通过数据更新motif参数的后验分布
  • 自动处理模型复杂度(通过边际似然)

算法1:贝叶斯motif发现

输入:序列集合 S,motif长度 L
输出:motif参数的后验分布
1. 设定先验:
a. Motif位置:均匀分布或偏好特定区域
b. PWM参数:Dirichlet先验
2. for each 迭代:
a. E步:基于当前参数,计算motif位置的后验
b. M步:基于motif位置后验,更新PWM参数后验
3. 返回参数的后验分布

在variant calling中,贝叶斯方法用于:

  • 计算变异位点的后验概率
  • 区分真实变异和测序错误
  • 提供变异置信度

算法2:贝叶斯variant calling

输入:比对数据,参考基因组
输出:变异位点的后验概率
1. 设定先验:
a. 变异率:基于群体数据
b. 测序错误率:基于平台特性
2. for each 候选变异位点:
a. 计算似然:P(观测reads | 变异存在/不存在)
b. 计算后验:P(变异存在 | 观测reads)
c. if 后验概率 > 阈值:
报告变异
3. 返回变异列表及其置信度

在RNA-seq分析中,贝叶斯方法用于:

  • 估计基因表达量的不确定性
  • 进行差异表达分析
  • 处理低表达基因

对于简单的共轭先验情况,可以计算解析解:

  • Beta-Binomial模型
  • Gamma-Poisson模型
  • Normal-Normal模型

对于非共轭情况,可以使用数值积分:

  • 网格法(低维参数)
  • 拉普拉斯近似
  • 变分推断

对于复杂模型,使用马尔可夫链蒙特卡洛(MCMC):

算法3:Metropolis-Hastings算法

输入:目标分布 P(θ),初始值 θ^(0),提议分布 Q(θ' | θ)
输出:来自 P(θ) 的样本
1. t = 0
2. repeat:
a. 从 Q(θ' | θ^(t)) 采样候选 θ'
b. 计算接受率:
α = min(1, P(θ')Q(θ^(t) | θ') / P(θ^(t))Q(θ' | θ^(t)))
c. 从 Uniform(0,1) 采样 u
d. if u < α:
θ^(t+1) = θ'
e. else:
θ^(t+1) = θ^(t)
f. t = t + 1
3. 返回 \{θ^(0), θ^(1), ..., θ^(T)\}

算法4:Gibbs采样

输入:联合分布 P(θ₁, θ₂, ..., θ_k),初始值
输出:来自 P(θ) 的样本
1. t = 0
2. repeat:
a. for i = 1 to k:
从 P(θ_i | θ_\{-i\}^\{(t)\}) 采样 θ_i^\{(t+1)\}
b. t = t + 1
3. 返回样本序列

贝叶斯因子用于比较两个模型 M1M_1M2M_2

BF{12}={P(DM1)}{P(DM2)}={P(Dθ1,M1)P(θ1M1)dθ1}{P(Dθ2,M2)P(θ2M2)dθ2}BF_\{12\} = \frac\{P(D | M_1)\}\{P(D | M_2)\} = \frac\{\int P(D | \theta_1, M_1) P(\theta_1 | M_1) d\theta_1\}\{\int P(D | \theta_2, M_2) P(\theta_2 | M_2) d\theta_2\}

解释:

  • BF12>1BF_{12} > 1:支持 M1M_1
  • BF12<1BF_{12} < 1:支持 M2M_2

与其选择单一模型,贝叶斯方法可以进行模型平均:

P(θD)={k}P(θD,Mk)P(MkD)P(\theta | D) = \sum_\{k\} P(\theta | D, M_k) P(M_k | D)
  • 均匀先验:θUniform(a,b)\theta \sim \text{Uniform}(a, b)
  • Jeffreys先验:p(θ)I(θ)p(\theta) \propto \sqrt{I(\theta)},其中 I(θ)I(\theta) 是Fisher信息
  • 基于历史数据
  • 基于领域知识
  • 基于专家意见

对于层次模型,先验本身也有超参数:

θP(θϕ),ϕP(ϕ)\theta \sim P(\theta | \phi), \quad \phi \sim P(\phi)
维度 频率学派 贝叶斯学派
参数观点 固定未知常数 随机变量
推断基础 重复抽样 条件概率
不确定性 置信区间 可信区间
先验信息 不使用 明确使用
计算复杂度 通常较低 可能较高
小样本表现 可能不稳定 可以更稳定
  • Gelman, A., et al. Bayesian Data Analysis
  • Bishop, C. M. Pattern Recognition and Machine Learning, Chapter 2
  • MacKay, D. J. C. Information Theory, Inference and Learning Algorithms