
在探求理解复杂系统(从细胞内部运作到人类行为)的过程中,我们依赖统计模型来解读数据。对于由计数组成的数据——例如基因表达水平、物种种群数量或购买的商品数量——简单的模型往往力不从心。现代生物学数据,特别是来自单细胞 RNA 测序的数据,提出了双重挑战:计数的方差通常远大于其平均值(过度离散),并且数据中包含惊人数量的零值。这些问题使得传统模型不够用,从而在我们区分真实生物信号与测量噪声的能力上造成了关键的空白。
本文全面概述了零膨胀负二项 (ZINB) 模型,这是一个为解决这些问题而设计的强大统计工具。通过以下章节,您将对其理论基础和实际效用有一个清晰的理解。“原理与机制”一章将解构该模型,从基本的泊松分布开始,逐步构建到 ZINB 模型,解释每个组成部分如何解决特定的统计挑战。随后,“应用与跨学科联系”一章将展示该模型的多功能性,演示如何使用相同的核心原理来解决单细胞生物学、电子商务、生态学等领域的问题,最终促成更深层次的科学发现。
为了理解世界,我们构建模型。不是用木头和金属丝制作的物理模型,而是用数学和概率构建的概念模型。这些模型是我们窥探自然复杂机器的镜头。在单细胞生物学的世界里,我们测量成千上万个单细胞中成千上万个基因的活性,我们的数据是数字的洪流——具体来说,是计数。零膨胀负二项 (ZINB) 模型的故事,就是一段打造合适镜头来理解这些计数的旅程,一段从天真简单到更丰富、更细致入微的真理的旅程。
让我们从最简单的起点开始。想象一下你在计算随机事件——落在人行道一方块上的雨滴,或者一小时内总机接到的电话。如果这些事件是独立的,并以一个恒定的平均速率发生,那么任何给定区间内的事件数量都遵循一个优美而简单的定律:泊松分布。泊松世界的一个关键特征,几乎可以说是它的标志,就是方差(一种离散程度的度量)等于均值(平均值)。如果你预期有 5 滴雨,你的计数的方差也将是 5。
很长一段时间里,生物学家试图将这个优雅的模型应用于基因表达计数。但很快就清楚了,生物学并没有那么整洁。当我们观察一群看似相同的细胞中单个基因的表达时,我们发现方差几乎总是远大于均值。这种现象被称为过度离散。就好像有些细胞处于转录狂热状态,而另一些则近乎休眠。基因表达的平均“速率”在细胞之间并非恒定。简单的泊松镜头太过僵硬;它无法捕捉生命中块状的、异质性的本质。
为了处理过度离散,我们需要一个更灵活的模型。于是负二项 (NB) 分布登场了。NB 模型的美妙之处不仅在于其数学形式,还在于它讲述的关于生物噪声来源的优雅故事。它源于一个称为伽马-泊松混合的概念。
想象一下,每个细胞对于一个基因都有其内在的“表达速率”,我们可以称之为 。在泊松世界里,我们假设 对每个细胞都是相同的。NB 世界做出了一个更现实的假设: 本身就是一个随机变量,每个细胞都不同,它从一个由伽马分布描述的可能性景观中抽取。我们实际在一个细胞中观察到的计数,是在该细胞特定速率 下进行的泊松抽样。当我们退后一步,观察整个细胞群体中的计数分布时,我们实际上是在对所有这些不同的泊松过程进行平均。这种混合的结果不是泊松分布,而是负二项分布。
这为过度离散提供了一个绝佳的机理解释:它是细胞间异质性的自然结果。NB 分布有两个关键参数:反映群体平均表达水平的均值 ,以及一个离散度参数 。这个参数 是我们把握生物学“不均匀性”的把手。一个非常大的 意味着低离散度,此时所有细胞行为相似,NB 分布会优雅地简化回泊松分布。然而,一个小的 则意味着高离散度——剧烈的、细胞间的变异性,这是“脉冲式”基因转录的标志。
NB 分布是一个巨大的飞跃。它为我们提供了一个强大的工具来模拟生物学固有的噪声。但是,当单细胞技术的革命到来时,一个新的谜题出现了。在单细胞 RNA 测序 (scRNA-seq) 中,我们经常观察到惊人数量的零。对于许多基因来说,大多数细胞记录的计数都是零。即使是我们灵活的 NB 模型,也常常无法预测如此大量的空值。这种“过多”的零,被称为零膨胀,表明我们的故事仍不完整。
为了解开这个谜题,我们必须认识到,数据中的“零”可能并不意味着我们所想的那样。事实上,有两种截然不同的方式可以得到零计数:
生物学零值(稀疏性): 这是一个真实的零。在给定的细胞中,于测量瞬间,该基因处于转录沉默状态。工厂关闭了。NB 模型可以很好地解释这些零;如果一个基因的平均表达量()非常低,或者其表达是高度脉冲式的( 很小),我们自然会预期看到许多零。这是一个真实的生物学信号。
技术性零值(Dropout): 这是一种假象。基因实际上在表达,细胞中也存在 mRNA 分子,但我们的测量过程未能检测到它们。分子可能在文库制备过程中丢失,或者未能扩增。这是一种技术故障,是我们仪器的盲点。就像一张有坏点的照片——黑点是由于相机造成的,而不是场景本身。
我们如何构建一个承认零值双重身份的模型?我们创建一个混合模型,一个为每个细胞讲述两个可能故事的模型。这就是零膨胀负二项 (ZINB) 模型巧妙的核心。对于每个细胞中的每个基因,该模型上演一出两幕剧。
第一幕:Dropout 硬币。 首先,模型抛掷一枚隐喻性的硬币。以概率 ,硬币落在“Dropout”一面。如果是这样,故事就结束了。我们简单地记录一个零,不再追问。这就是我们的技术性零值。
第二幕:生物学过程。 如果硬币没有落在“Dropout”上(这以 的概率发生),我们进入第二幕。在这里,我们从我们可靠的负二项分布中生成一个计数,该分布忠实地代表了潜在的生物学过程。这个生成的计数可能是正数,也可能恰好是一个生物学零值。
ZINB 模型优雅地将这两个叙事编织在一起。观察到零的总概率是这两条不同路径概率的总和:技术性 dropout 的机会,加上一个非 dropout 事件最终产生生物学零值的机会。这就给了我们 ZINB 模型中零概率的著名公式:
其中 是仅从 NB 部分得到零的概率。 这引入了我们第三个关键参数 ,即零膨胀概率。现在我们的工具包完整了: 捕捉“活跃”细胞中的平均表达水平, 量化生物学变异性,而 则解释了技术失败率。
这个由两部分组成的故事虽然优雅,但却提出了一个深刻的问题:如果一个零可以来自两个不同的来源,我们怎么可能将它们区分开来?是否有可能将 dropout 率 与生物学参数 和 分开估计?这就是所谓的可识别性问题。
幸运的是,答案是肯定的,这要归功于一段优美的统计逻辑。关键在于不同的参数有不同的任务。dropout 参数 只影响零与非零的比例。然而,NB 参数 和 决定了正计数的整个分布形状——看到 1、2、3 等的相对频率。通过仔细检查正数据的景观,我们可以首先了解潜在生物学过程(NB 部分)的特征。然后,我们可以计算这个生物学过程本身应该产生多少个零。如果我们数据中实际观察到的零的数量显著更高,这个“多余”的部分就可以归因于技术性 dropout,并由此估计出 。
我们甚至可以设计巧妙的实验来证实这一点。一种强大的技术是在我们的单细胞样本中加入已知数量的人工 RNA 分子,称为 ERCC spike-ins。由于这些分子并非细胞内源性的,我们观察到的任何关于它们的零计数必须是技术性 dropout。它们充当了地面实况,使我们能够直接测量技术失败率,并验证我们的 ZINB 模型是否正确地捕捉了这一过程。
一个优秀的科学家知道,最复杂的工具未必是最好的。ZINB 模型功能强大,但并非总是必要。在科学中,我们必须始终为复杂性提供正当理由。
例如,如果我们碰巧分析一个离散不足(方差小于均值)且没有零值的数据集,尝试拟合 ZINB 模型是毫无意义的。像 Akaike 信息准则 (AIC) 这样的统计原理会因为 ZINB 模型不必要的复杂性而对其进行重罚,并会正确地偏向一个更简单的模型,甚至可能是朴素的泊松模型。
更重要的是,即使在稀疏的单细胞数据中,一个简单的 NB 模型也常常足够。如果一个基因的表达量非常低(低 )或者其表达极具脉冲性(低 ),NB 模型本身就可以预测出非常高比例的零,而无需任何额外的“膨胀”成分。 在采用 ZINB 模型之前,人们应始终询问更简单的 NB 模型是否足够好。我们可以使用正式的统计程序,如似然比检验,来判断数据是否为那个额外的 dropout 参数 的存在提供了强有力的证据。
为了完善我们的理解,了解 ZINB 的一个近亲模型——跨栏模型 (hurdle model) 是有益的。这个模型也使用一个由两部分组成的故事。第一部分是一个二元问题:基因是否表达?如果答案是“否”,我们记录一个零。如果是“是”,我们进入第二部分,从一个仅包含正值的分布(特别是零截断 NB 分布,它不能产生零)中抽取一个计数。
关键区别在于零的来源。在跨栏模型中,只有一种方式得到零:基因必须未能越过表达的初始“跨栏”。在 ZINB 模型中,则有两种方式:技术性 dropout 或生物学上的“关闭”状态。这种双路径结构使得 ZINB 模型在概念上对于单细胞数据如此强大,因为我们有充分的理由相信这两种现象都在起作用。 两者之间的选择,是关于我们相信什么在生成数据的选择,这是统计建模如何成为我们的假设与数据现实之间对话的一个完美例子。
在理解了零膨胀负二项 (ZINB) 模型的机制之后,我们现在可以踏上一段旅程,看看它在实践中的应用。你可能会惊讶地发现,这个模型的故事并不仅限于统计理论的尘封角落。相反,它是一个强大的镜头,我们可以通过它来观察和解决从在线商务、分子生物学到生态学等截然不同领域中的难题。我们学到的原理揭示了我们在思考包含“过多零值”的数据时,方式上存在着一种美妙的统一性。
让我们不从实验室开始,而是从一个更为熟悉的地方:一个在线商店。一家电子商务公司的数据科学家想要了解顾客的购买行为。他们收集了每位访客购买商品数量的数据。一个奇怪的模式出现了:大量的访客什么也没买。这个比例远超于如果每个人都是潜在买家,只是碰巧选择了零件商品时所预期的数量。
这是怎么回事?常识告诉我们,访问网站的人有两种。一种是“潜在买家”,他们有购买的意图;另一种是“浏览者”,他们只是四处看看,没有任何购买意图。浏览者总是会购买零件商品。这是一个结构性零值。另一方面,潜在买家可能会购买零件商品(也许他们没找到想要的),或者他们可能购买一件、两件或更多。来自这个群体的零是一个抽样零值。
要对此建模,像泊松或负二项分布这样的简单分布是不够的。它只描述了“潜在买家”群体的行为。然而,ZINB 模型非常适合这项工作。它是一个混合模型,认为访客有一定概率 属于“浏览者”群体,导致一个确定的零;或者有 的概率属于“潜在买家”群体,他们的购买数量遵循负二项分布。这种优雅的结构使数据科学家能够分别估计浏览人群的规模和购买人群的购买习惯,从而得出更准确的预测和商业洞见。
现在,让我们从在线购物的世界进入一个活细胞的内部宇宙。在现代生物学中,我们拥有单细胞 RNA 测序 (scRNA-seq) 等革命性技术,使我们能够计算单个细胞内每个基因的信使 RNA (mRNA) 分子的数量。这为我们提供了前所未有的关于细胞身份和功能的视角。但这些数据带来了一个与我们的电子商务问题非常相似的挑战:我们观察到大量的零。
对于细胞中的任何一个给定基因,零计数可能由两个原因产生。首先,基因可能确实是“关闭”的,没有作为细胞生物学程序的一部分进行表达。这是一个生物学零值,类似于潜在买家的抽样零值。其次,基因可能在低水平表达,但我们的测量技术未能捕获其任何 mRNA 分子。这种技术失败被称为 dropout。它是一个结构性零值,与只浏览的访客完全类似。
ZINB 模型已成为单细胞生物学的基石,正是因为它提供了一种有原则的方法来处理零的双重性质。通过拟合 ZINB 模型,我们可以估计 dropout 概率 和负二项分量的基础表达水平 。这使我们能够提出深刻的问题,例如:鉴于我们观察到一个基因的计数为零,它由技术性 dropout 引起的后验概率与由真实生物学沉默引起的后验概率分别是多少?回答这个问题是清除数据噪声以更清晰地观察生物学现象的第一步。同样的原理也从 RNA 扩展到其他单细胞测量,比如分析染色质景观以了解基因组的哪些部分是活跃的。
一个好模型的真正力量不仅在于它描述数据的能力,还在于它能促成更深入的分析和发现。在单细胞生物学中,一个主要目标是创建所有细胞的“地图”,将相似的细胞分组到不同的簇中(例如,T 细胞、B 细胞、神经元),并理解它们之间的关系。这通常是通过计算每对细胞之间的“距离”并找到近邻来完成的。
一种简单的方法可能是对原始计数进行转换(例如,使用对数),然后使用像主成分分析 (PCA) 这样的标准方法。但这就像试图用一张不知道道路封闭信息的地图在城市中导航一样。技术性 dropout 是单细胞数据的“道路封闭”;它们在实际上生物学相似的细胞之间制造了虚假的差异。
这就是 ZINB 模型成为构建更好地图的工具的地方。我们可以使用 ZINB 模型为每个细胞中的每个基因计算“残差”,而不是使用原始或粗略转换的计数。残差告诉我们,在模型预期的基础上,一个观测值有多么令人意外。关键的洞见是,在 ZINB 模型下,观察到的零被认为比在简单的负二项模型下更不令人意外,因为 ZINB 模型“知道”零可能纯粹出于技术原因而发生。通过在这个模型感知的残差空间中计算细胞间的距离,我们有效地降低了技术性零值的贡献。由此产生的细胞图谱受技术噪声的扭曲更小,使得真实的生物学结构——比如稀有免疫细胞亚群之间的分离——能够更清晰地显现出来。
这个思想是生物学领域先进深度学习方法(如变分自编码器 VAEs)的核心。这些模型学习每个细胞的低维表示。VAE 的“解码器”部分是一个生成模型,试图从这个潜变量表示中重构原始数据。选择重构损失函数至关重要。使用简单的均方误差等同于假设数据是高斯分布的,这与离散的、过度离散的计数数据不匹配。相反,通过使用 ZINB 对数似然作为重构损失,VAE 被迫学习一个尊重数据真实统计性质的表示,包括其零膨胀和均值-方差关系。
此外,ZINB 框架并非静态的;它是一个灵活的广义线性模型 (GLM)。这意味着我们可以建模参数 和 如何依赖于其他已知因素。例如,基因组学中的一个主要问题是校正“批次效应”,即在不同日期进行的实验所产生的技术差异可能会掩盖真实的生物学现象。通过在我们的 ZINB 模型中包含批次协变量,我们可以同时估计和校正批次对平均基因表达和 dropout 率的影响,从而能够在不同实验之间对细胞进行更清晰的比较。
科学的一个显著特点是,同一个数学思想可以阐明在截然不同尺度上的模式。我们已经看到 ZINB 模型描述了单个细胞内的现象。现在,让我们放大到整个生态系统的尺度。
研究物种分布的生态学家面临着一个熟悉的问题。当他们调查一个景观时,他们在许多不同的地点计算一个物种的个体数量。他们经常发现该物种在许多地点都不存在。就像我们其他的例子一样,这种缺失可能意味着两件事。物种可能存在,但调查团队未能检测到它(抽样零值)。或者,该地点可能从根本上就是不适宜的栖息地——缺乏合适的食物、气候或庇护所——物种根本无法在那里生存(结构性零值)。
通过将 ZINB 分布纳入物种丰度的分层模型中,生态学家可以区分因栖息地不适宜而导致的真实缺失与未检测到的情况。这使得他们能更准确地理解一个物种的生态位以及支配其在景观中分布的因素。生态学中的“不适宜的栖息地”与基因组学中的“技术性 dropout”以及电子商务中的“浏览顾客”是完美的类比。
这个统一的框架不仅限于静态快照。在为生物时间序列建模时——比如神经元的放电或生理测量的变化——我们经常使用像循环神经网络 (RNNs) 这样的强大序列模型。构建这样一个模型时的一个关键选择是观测似然——即 RNN 输出所参数化的统计分布。通过检查数据的属性(均值、方差、零的比例),我们可以做出有原则的选择。对于连续数据,高斯分布可能就足够了。对于过度离散的计数,负二项分布是一个好的开始。但是,当我们遇到具有严重过度离散且零比例甚至连 NB 模型都无法解释的数据时,ZINB 模型就成为正确捕捉动态的必要工具。
我们以最后一个例子结束,这个例子展示了这种精细建模的最终目的:回答基本的科学问题。考虑一对由远古祖先的基因复制事件产生的基因。这两个基因是如何演化的?一种可能性是“亚功能化”,即两个拷贝将祖先的功能分配开来。例如,如果祖先基因在三种细胞类型中表达,一个后代基因现在可能只在细胞类型 1 中表达,而另一个则在细胞类型 2 和 3 中表达。它们在不同细胞类型中的表达模式将是互补的。
我们如何使用 scRNA-seq 数据来检验这个假说?一个查看原始计数的简单方法将不可避免地被技术噪声所混淆。但是我们可以利用我们的 ZINB 框架从第一性原理出发构建一个解决方案。
策略如下:首先,我们为每个基因拟合一个复杂的 ZINB 模型,其中包含细胞类型和文库大小的协变量。这使我们能够为每个基因和每种细胞类型估计潜在的生物学活性概率,这是一个已经清除了技术性 dropout 影响的量。其次,有了这些可靠的概率,我们可以设计一个自定义的统计量来衡量这两个基因在不同细胞类型中表达谱的互补性。如果表达谱相同,该统计量将接近 0;如果它们是完全互补的(互斥的),则为 1。最后,我们可以使用像参数化自举这样的统计程序来确定观察到的互补性水平是否显著高于在两个基因具有相同表达模式的偶然情况下所预期的水平。
这套完整的流程——从原始的、充满噪声的数据集到对进化假说的严格统计检验——之所以成为可能,是因为 ZINB 模型能够将信号与噪声分离。它代表了一个优秀统计模型所能达到的顶峰:它透过数据的迷雾提供了一个清晰的窗口,让我们能够提出——并回答——关于自然世界运作的深刻问题。