线性归一化与尺寸因子归一化

Generated by ChatGPT4o

在数据科学和统计分析中,归一化是确保数据集之间可比性和准确性的关键步骤。本文将通过实际示例,介绍和比较两种常见的归一化方法:线性归一化(也称为 RPM 归一化)和尺寸因子归一化(Size Factor Normalization),并解释它们各自的优缺点及应用场景。

线性归一化(RPM 归一化)

什么是线性归一化?

线性归一化,也常被称为每百万读取数(RPM,Reads Per Million)归一化,是一种将数据按比例缩放的方法。它通过将每个样本的读取数标准化为每百万读取数,从而使得不同样本之间的读取数具有可比性。该方法的核心思想是根据样本的总读取数进行调整,确保在样本间进行公平比较。

线性归一化的详细计算步骤

让我们通过一个简单的例子来理解线性归一化的过程。假设我们有三个样本和四个基因的表达数据:

基因样本1样本2样本3
基因A100300200
基因B4001200800
基因C80024001600
基因D50150100

步骤1:计算每个样本的总读取数

  • 样本1:100 + 400 + 800 + 50 = 1350
  • 样本2:300 + 1200 + 2400 + 150 = 4050
  • 样本3:200 + 800 + 1600 + 100 = 2700

步骤2:计算每个基因的 RPM 值

对于每个样本中的每个基因,使用以下公式计算 RPM:

    \[ \text{RPM} = \frac{\text{基因的读取数}}{\text{样本的总读取数}} \times 1,000,000 \]

计算结果如下:

基因样本1(RPM)样本2(RPM)样本3(RPM)
基因A\frac{100}{1350} \times 1,000,000 \approx 74074.07\frac{300}{4050} \times 1,000,000 \approx 74074.07\frac{200}{2700} \times 1,000,000 \approx 74074.07
基因B\frac{400}{1350} \times 1,000,000 \approx 296296.30\frac{1200}{4050} \times 1,000,000 \approx 296296.30\frac{800}{2700} \times 1,000,000 \approx 296296.30
基因C\frac{800}{1350} \times 1,000,000 \approx 592592.59\frac{2400}{4050} \times 1,000,000 \approx 592592.59\frac{1600}{2700} \times 1,000,000 \approx 592592.59
基因D\frac{50}{1350} \times 1,000,000 \approx 37037.04\frac{150}{4050} \times 1,000,000 \approx 37037.04\frac{100}{2700} \times 1,000,000 \approx 37037.04

优缺点分析

优点:

  • 线性归一化方法简单易懂,计算快捷。
  • 能有效处理测序深度不同的样本,使各样本间数据具有可比性。

缺点:

  • 对异常值敏感。如果某个基因在某些样本中表达极高,它将显著影响归一化结果,可能导致其他基因的表达水平被压缩。
  • 假设所有基因的表达变化是线性的,未考虑到基因表达的复杂性。

尺寸因子归一化

什么是尺寸因子归一化?

尺寸因子归一化是 DESeq2 中常用的一种归一化方法,专为处理基因表达数据而设计。它的核心思想是通过计算每个样本的尺寸因子(Size Factor),并使用这些因子对基因表达数据进行归一化,从而消除样本间由于测序深度或技术性变异导致的差异,使得不同样本之间的基因表达水平更加可比。

尺寸因子归一化的详细步骤

让我们通过一个更复杂的例子来理解尺寸因子归一化的过程:

基因样本1样本2样本3
基因A101000020
基因B506055
基因C200180190
基因D100120110

第一步:计算每个基因的几何平均值

几何平均值的计算公式为:

    \[ \text{几何平均值} = \left(\prod_{i=1}^{n} x_i\right)^{\frac{1}{n}} \]

对于每个基因的几何平均值计算如下:

  • 基因A: \sqrt[3]{10 \times 10000 \times 20} = \sqrt[3]{2000000} \approx 125.99
  • 基因B: \sqrt[3]{50 \times 60 \times 55} = \sqrt[3]{165000} \approx 54.86
  • 基因C: \sqrt[3]{200 \times 180 \times 190} = \sqrt[3]{6840000} \approx 190.57
  • 基因D: \sqrt[3]{100 \times 120 \times 110} = \sqrt[3]{1320000} \approx 109.63

第二步:计算每个样本的尺寸因子

对于每个样本,计算其所有基因表达值与对应几何平均值的比值的中位数,得到尺寸因子:

  • 样本1:
    • 基因A: \frac{10}{125.99} \approx 0.079
    • 基因B: \frac{50}{54.86} \approx 0.912
    • 基因C: \frac{200}{190.57} \approx 1.049
    • 基因D: \frac{100}{109.63} \approx 0.912
    • 尺寸因子0.912(中位数)
  • 样本2:
    • 基因A: \frac{10000}{125.99} \approx 79.37
    • 基因B: \frac{60}{54.86} \approx 1.093
    • 基因C: \frac{180}{190.57} \approx 0.945
    • 基因D: \frac{120}{109.63} \approx 1.095
    • 尺寸因子1.093(中位数)
  • 样本3:
    • 基因A: \frac{20}{125.99} \approx 0.159
    • 基因B: \frac{55}{54.86} \approx 1.002
    • 基因C: \frac{190}{190.57} \approx 0.997
    • 基因D: \frac{110}{109.63} \approx 1.003
    • 尺寸因子1.002(中位数)

第三步:归一化基因表达数据

将每个基因的表达量除以对应样本的尺寸因子,得到归一化后的基因表达数据:

基因样本1(尺寸因子归一化)样本2(尺寸因子归一化)样本3(尺寸因子归一化)
基因A\frac{10}{0.912} \approx 10.96\frac{10000}{1.093} \approx 9147.12\frac{20}{1.002} \approx 19.96
基因B\frac{50}{0.912} \approx 54.82\frac{60}{1.093} \approx 54.89\frac{55}{1.002} \approx 54.89
基因C\frac{200}{0.912} \approx 219.30\frac{180}{1.093} \approx 164.68\frac{190}{1.002} \approx 189.62
基因D\frac{100}{0.912} \approx 109.65\frac{120}{1.093} \approx 109.75\frac{110}{1.002} \approx 109.78

结果的比较

在这个极端例子中,基因A在样本2中的表达值非常高,导致在 RPM 归一化中,这个高表达基因极大地影响了其他基因的相对表达水平。而在尺寸因子归一化中,通过计算每个样本的尺寸因子,并将基因表达量除以这些因子,我们能够更好地控制极端值的影响,从而获得更为合理的归一化结果。

优缺点分析

优点:

  • 尺寸因子归一化能够有效处理基因表达不均衡的问题,尤其是在基因A这种极端高表达的情况下,避免其对整体分析结果的过度影响。
  • 这种方法能更好地反映样本之间的实际生物学差异,特别是在 RNA-seq 数据分析中表现优异。

缺点:

  • 计算复杂度较高,相比线性归一化需要更多的计算资源。
  • 对于某些高度稀疏或非均匀分布的数据集,效果可能不如其他归一化方法。

总结

通过以上的详细步骤,我们可以看到线性归一化和尺寸因子归一化在处理数据时的不同表现。线性归一化适用于简单的数据处理和快速比较,但在处理极端表达时可能会导致结果失真。尺寸因子归一化虽然计算更复杂,但能更准确地反映样本间的生物学差异,尤其适用于基因表达分析。根据具体的数据特点和分析需求,选择合适的归一化方法将有助于获得更可靠的分析结果。