跳转至

为什么计数数据普遍用负二项而不是泊松?

泊松只允许均值等于方差,组学重复通常过离散。

长答案

泊松分布(Poisson)描述一个固定强度的独立计数过程: $$ Y \sim \text{Poisson}(\lambda), \qquad \mathbb{E}(Y)=\lambda,\quad \text{Var}(Y)=\lambda $$

这个 \(\text{Var}(Y)=\mathbb{E}(Y)\) 是它最硬的承诺。测序 sampling noise 如果是唯一来源,泊松很合理;但组学的生物重复不是同一个 \(\lambda\) 被重复观测,而是每个样本都有自己的真实强度。

把样本间真实强度写成隐变量: $$ Y\mid \lambda \sim \text{Poisson}(\lambda), \qquad \lambda \sim \text{Gamma}(r,\theta) $$

用全期望公式: $$ \mathbb{E}(Y)=\mathbb{E}_\lambda[\mathbb{E}(Y\mid\lambda)]=\mathbb{E}(\lambda)=r\theta=\mu $$

用全方差公式: $$ \text{Var}(Y)=\mathbb{E}[\text{Var}(Y\mid\lambda)]+\text{Var}[\mathbb{E}(Y\mid\lambda)] =\mathbb{E}(\lambda)+\text{Var}(\lambda) =r\theta+r\theta^2 $$

\(\mu=r\theta\)\(\alpha=1/r\),则 \(\theta=\alpha\mu\),所以: $$ \text{Var}(Y)=\mu+\alpha\mu^2 $$

这就是负二项分布(negative binomial, NB)在 RNA-seq、ATAC peak count、微生物丰度等计数数据中反复出现的原因:它不是“更复杂的泊松”,而是“泊松采样 + 样本间强度波动”的边缘分布。

为什么这么设计

负二项把两个噪声源分开:泊松层处理 reads sampling,Gamma 层处理生物重复之间的真实差异。直接加一个常数方差不够,因为高丰度特征的样本间波动通常随 \(\mu^2\) 放大。硬用泊松会低估标准误,尤其把高 count feature 判成假阳性。

⚠️ 容易混淆 / 常见误解

误解 1:测序深度足够高就能用泊松。
为什么是错的:深度只降低采样噪声,不消除生物重复间的 \(\lambda\) 波动。

误解 2:负二项主要用来处理离群值。
为什么是错的:NB 处理总体 mean-variance 关系;离群值需要 robust 诊断或 Cook's distance。

误解 3:dispersion 越小数据越好。
为什么是错的:dispersion 反映真实异质性,异常小可能说明把技术重复当成了生物重复。

横向连接

  • [[_concepts/glm-unified-view]]
  • [[_concepts/zero-inflation-vs-true-zero]]
  • [[03-bulk-RNAseq/why-negative-binomial-not-poisson]]
  • [[04-scRNAseq/why-negative-binomial-in-singlecell]]
  • [[09-methylation/beta-binomial-for-methylation]]

我现在的理解状态

#待 Peter 确认

参考

  • Greenwood & Yule (1920), Journal of the Royal Statistical Society
  • Robinson et al. (2010), Bioinformatics
  • Anders & Huber (2010), Genome Biology
  • Love et al. (2014), Genome Biology