如何在 PCA 之前标准化泊松分布数据

机器算法验证 主成分分析 泊松分布 正常化
2022-03-11 13:44:35

我是主成分分析(PCA)的新手。我将不得不对包含计数统计的数据集进行 PCA:所有数据都是正整数。

在 PCA 之前,需要对数据进行标准化。通过在样本集上减去平均值并除以变量中的标准差来做到这一点或多或少是标准的。我想知道这是否适用于非常倾斜的数据集。

3个回答

首先,请注意,“标准化”一词在统计科学中是模棱两可的。您将其应用于按(值均值)/标准差进行缩放,这通常也被描述为标准化。但它也经常应用于产生更接近正态(高斯)分布的变量版本的转换。再一次,进一步的用途是缩放以适应规定范围,例如[0,1]

标准化本身不会影响分布的正态程度,因为它只是一个线性变换,偏度和峰度(例如),以及更普遍的分布形状的所有度量,都保持原样。

至于主成分分析 (PCA),无论何时使用不同的测量单位测量单个变量,事先标准化是常见的,实际上可以说是必不可少的。相反,只要所有变量都以相同的单位测量,没有标准化的 PCA 就有意义。差异对应于基于相关矩阵(预先标准化)和协方差矩阵(无预先标准化)的 PCA。如果没有标准化,PCA 结果不可避免地会被方差最大的变量所支配;如果这是需要的(或者在最坏的情况下没有问题),那么您将不会受到困扰。

反过来说,所有变量都被标准化了,从广义上讲,它们都具有相同的重要性;甚至这可能是错误的,或者不是您最想要的。例如,方差最小的变量和方差最大的变量最终会在相同的尺度上并具有相同的权重。这很少能满足研究人员最需要的东西,尽管在没有主观性或循环性的情况下很难建立所需的东西。在实践中,当输入变量具有很强的家族相似性时,PCA 似乎最成功,而当研究人员输入完全不同的变量(例如国家或其他政治单位的不同社会、经济或人口特征)时,PCA 似乎最不成功。PCA 不是洗衣机;污垢没有被清除,而只是重新分布。

如果偏度非常高,您可以选择。如果将 PCA 应用于转换后的变量,结果通常会更清晰。例如,当变量转换时,异常值或极端数据点的影响通常会被忽略。相反,作为一种转换技术的 PCA 并不依赖或假设任何(更不用说所有)输入它的变量是正态分布的。

抽象地说,很难给出详细的建议,但通常明智的做法是将 PCA 应用于高度偏斜的原始数据和转换后的数据,然后报告其中一个或两个结果,具体取决于科学或实质性有用的结果.

PCA 本身并不关心变量是否以相同的方式进行转换,或者确实对某些变量是否经过转换而其他变量没有。只要有意义,以同样的方式转换变量就有一些吸引力,但这可能更多的是品味问题而不是技术问题。

举个简单的例子,如果几个变量在某种意义上都是大小的度量,那么偏度很可能。通过取对数转换所有变量(只要所有值都是正数)作为 PCA 的前身通常是有价值的,但是这两种分析都不应该被认为是“正确的”;相反,它们给出了数据的补充视图。

注 1:我相当怀疑你“必须”做 PCA,除非你在学习过程中承诺做一些锻炼。某种泊松模型似乎很可能更接近科学目标,并且与 PCA 一样富有成效,但没有关于这些目标的细节,这是一个猜测问题。

注 2:在正整数的情况下,根和对数都具有作为变换的优点。我注意到您声明您的数据是泊松分布的,但没有显示任何证据。

正如尼克指出的那样,对于您是指标准化(使每个变量为零均值和单位方差向量)还是使每个变量更正态分布的变换,存在一些混淆。正如您提到的倾斜数据,我将解决这一点。

平方根或对数变换可以应用于计数以减轻极值的影响,如果这样做可以解释大量方差,那么极值的影响可能会主导早期轴的构造。

但是,对于计数数据,PCA 在解释方差方面很少有竞争力。对应分析即使不比 PCA 更好,也会倾向于对此类数据进行协调,尽管它正在研究相对组成(计数)而不是绝对值组成;在 PCA 中,以下样本对 3 个变量进行了观察

x <- c(1,  5, 1)
y <- c(5, 25, 5)

将被假定显着不同,但在 CA 下,由于它们具有相同的相对组成,因此将被视为完全相等。

在这一点上,您应该问自己,您希望通过减少排序/降维来实现什么,并让它引导您找到合适的方法。

您可以使用 Box-Cox 变换。𝑓(𝑥)= (𝑥^𝜆−1)/𝜆 𝑖𝑓 𝜆≠0 & 𝑙𝑜𝑔(𝑥) 𝑖𝑓 𝜆=0 在 R 中,MASS 库包括 boxcox 函数以找到最佳𝜆