在现代基因组学和统计学中,Tracy-Widom 统计量(Tracy-Widom statistics)是一个广泛应用于分析主成分分析(PCA)结果的重要工具。尤其在遗传学、群体学和数据科学等领域,Tracy-Widom 统计量可以帮助研究者评估主成分的统计显著性,为后续的研究分析提供强有力的支持。
这里,我们将带大家深入了解 Tracy-Widom 统计量的概念、应用以及如何通过 twstats 程序进行计算。
什么是 Tracy-Widom 统计量
Tracy-Widom 统计量来源于随机矩阵理论,它用于描述随机矩阵的特征值分布,尤其是最大特征值的行为。在大规模数据分析中,Tracy-Widom 分布成为评估主成分显著性的标准工具。
具体来说,Tracy-Widom统计量用于检验 PCA 中主成分的显著性。我们前面讲过使用 Eigensoft 中的 smartPCA 进行 PCA 分析。PCA 通常会计算各主成分的方差,并根据这些方差来筛选重要的主成分。然而,如何判断哪些主成分是由于数据的真实结构而非随机噪声引起的呢?这正是Tracy-Widom统计量能够发挥作用的地方,Tracy-Widom 统计量可以帮助我们判断哪些主成分是统计显著的。
Tracy-Widom分布的核心思想是:如果我们从一个高维随机矩阵中提取主成分,那么最大主成分的值将服从特定的统计分布。通过计算 Tracy-Widom统计量,研究者可以对 PCA 中的每个主成分进行显著性检验,评估其是否真的反映了数据的结构,而非偶然性噪声。
twstats 程序与 Tracy-Widom 统计量
Eigensoft 中的 twstats 程序可以用来计算 Tracy-Widom 统计量。twstats 程序通过计算给定数据集的特征值分布,具体来说,twstats 程序会根据 Tracy-Widom 分布为每个主成分计算一个 p 值,从而帮助研究者判断哪些主成分是值得关注的。
twstats 适用于随机标记数据,但不适用于含有祖先信息标记(ancestry-informative markers)的数据。它假设数据集是由随机标记构成,这意味着在分析过程中不应该包含任何可能揭示祖先信息的标记(如遗传标记)。因为在包含祖先信息的标记数据中,可能会出现基因组混合 LD(连锁不平衡),这会违背Tracy-Widom统计量的基本假设。如果数据集含有祖先信息标记,Tracy-Widom 统计量的结果可能会不准确。
Eigensoft 中的 twstats 程序示例如下:
#!/usr/bin/perl
$command = "../bin/twstats";
$command .= " -t twtable ";
$command .= " -i twexample.eval ";
$command .= " -o twexample.out";
print("$command\n");
system("$command");