<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Biostatistics on TouchingFish.top</title><link>https://touchingfish.top/tags/biostatistics/</link><description>Recent content in Biostatistics on TouchingFish.top</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 01 Feb 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://touchingfish.top/tags/biostatistics/index.xml" rel="self" type="application/rss+xml"/><item><title>负二项分布和它的朋友（RNA表达量）</title><link>https://touchingfish.top/2021/gamma-poisson/</link><pubDate>Mon, 01 Feb 2021 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2021/gamma-poisson/</guid><description>&lt;h2 id="一个看似奇怪的事实"&gt;一个看似奇怪的事实&lt;/h2&gt;
&lt;p&gt;做RNAseq分析的时候，我们通常会说：表达量计数（read counts）服从负二项分布（Negative Binomial distribution，NB）。这个结论出现在几乎所有主流差异表达分析工具的文档里——DESeq2、edgeR、limma-voom——好像这是一个不言自明的前提。&lt;/p&gt;
&lt;p&gt;但为什么？&lt;/p&gt;
&lt;p&gt;我查过很多资料，大多数解释要么太浅（&amp;ldquo;因为数据过度离散，过dispersed&amp;rdquo;），要么直接跳到公式层面（&amp;ldquo;NB的概率质量函数是……&amp;quot;），要么扯到什么&amp;quot;等待时间&amp;quot;上去（&amp;ldquo;NB描述的是等待r次成功所需的试验次数&amp;rdquo;）——最后一种解释尤其让人困惑，因为RNAseq计数和&amp;quot;等待时间&amp;quot;八竿子打不着。&lt;/p&gt;
&lt;p&gt;所以我想把这件事彻底说清楚。用一个最简单的例子，一步步推出为什么NB是自然的选择，而那个经典的等待时间定义，其实和我们的推导毫无关系。&lt;/p&gt;
&lt;h2 id="从一个直观的例子说起"&gt;从一个直观的例子说起&lt;/h2&gt;
&lt;p&gt;假设我们要研究某个基因在细胞A和细胞B中的表达量。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;细胞内部发生了什么？&lt;/strong&gt; 一个基因要被转录，首先要有RNA聚合酶结合到启动子上，然后开始合成。聚合酶会随机地到达和离开启动子区域，所以转录本身是一个随机过程——在任何给定的时间窗口内，合成出的mRNA分子数是随机的。&lt;/p&gt;
&lt;p&gt;如果我们把观察时间固定（比如观察一秒），转录产生的mRNA数量大致服从Poisson分布。理由是：mRNA的产生可以看作一系列独立的&amp;quot;成功&amp;quot;事件（一次转录起始），在一个固定时间窗口内，Poisson是描述这类计数过程的自然模型。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;但问题来了——Poisson有一个很强的假设：均值等于方差。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;对于单细胞来说，均值和方差的关系确实大致如此。但当我们比较&lt;strong&gt;一群细胞&lt;/strong&gt;（比如组织样本中的上万个细胞）时，情况完全不同。即使是同一个基因，不同细胞的表达量也可能差异巨大——有些细胞可能完全不表达，有些高表达。&lt;strong&gt;这种细胞间的异质性（biological variability）会导致整个群体的方差远大于均值。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这就是所谓的&amp;quot;过度离散&amp;rdquo;（overdispersion）。Poisson处理不了这个问题。&lt;/p&gt;
&lt;h2 id="gamma-poisson层级模型"&gt;Gamma-Poisson层级模型&lt;/h2&gt;
&lt;p&gt;解决之道来自一个层级思想。&lt;/p&gt;
&lt;p&gt;我们先承认：不同细胞的真实表达率（$\lambda$）本身是不同的。这种差异可以用一个分布来描述。选什么分布？在统计中，Gamma分布是一个自然的选择——因为它数学上处理起来方便，而且足够灵活，可以描述各种形状的随机变量。&lt;/p&gt;
&lt;p&gt;于是我们构建一个两层模型：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一层（细胞间变异）：&lt;/strong&gt; $\lambda \sim \text{Gamma}(\alpha, \beta)$&lt;/p&gt;
&lt;p&gt;这里 $\lambda$ 代表每个细胞的真实表达率（单位时间内的mRNA平均产量）。$\alpha$ 和 $\beta$ 是Gamma分布的参数。均值 $\mu = \alpha/\beta$，方差 $= \alpha/\beta^2$。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二层（细胞内随机性）：&lt;/strong&gt; 给定 $\lambda$，计数 $X$ 服从Poisson分布：$X | \lambda \sim \text{Poisson}(\lambda)$&lt;/p&gt;
&lt;p&gt;这一层描述的是：即使两个细胞有完全相同的 $\lambda$，由于转录过程本身的随机性，实际观察到的计数也会有波动。&lt;/p&gt;
&lt;p&gt;现在，&lt;strong&gt;把 $\lambda$ 积掉&lt;/strong&gt;（marginalize out），求 $X$ 的边缘分布：&lt;/p&gt;
$$P(X = k) = \int_0^\infty P(X=k|\lambda) \cdot P(\lambda) \, d\lambda$$&lt;p&gt;这个积分的结果是：&lt;/p&gt;
$$P(X = k) = \frac{\Gamma(k+\alpha)}{k! \cdot \Gamma(\alpha)} \left(\frac{\beta}{1+\beta}\right)^\alpha \left(\frac{1}{1+\beta}\right)^k$$&lt;p&gt;而这——恰好就是&lt;strong&gt;负二项分布&lt;/strong&gt;的参数化形式。&lt;/p&gt;</description></item></channel></rss>