为什么方差(而不是标准差)是主成分中信息含量的默认度量?

机器算法验证 方差 主成分分析 标准差
2022-04-04 17:10:31

主成分的信息内容几乎总是表示为方差(例如,在碎石图或“前三个 PC 包含总数据方差的 95%”之类的陈述中)。此用法的目的是描述 PC 中包含多少变化/信息。在我看来,方差可能是 PC 中包含的信息的误导性度量,因为它是变异的平方度量,强调与平均值的大偏差而不是小偏差。这可能严重低估了低特征值 PC 中包含的信息的重要性。PC 的标准偏差似乎是它们包含的信息的更直接、更有意义和平衡的度量。

我很清楚在统计中更普遍地使用方差的基本原理,即它在数学上比标准差更方便。但是,我想知道为什么使用方差来衡量 PC 的变化而不是标准偏差是否有特定的理由。这个困境有什么好的参考吗?

更新澄清: 我应该清楚,我不是在问为什么在主成分的推导中使用方差,而是为什么在报告 PCA 的结果时它被用作 PC 中变化的默认描述符。在这种情况下,许多人似乎将“方差”和“变异”用作同义词,但标准差不是变异的度量,而方差不是变异的平方度量吗?包含 95% 数据方差的 PC 可能仅包含以标准差衡量的数据中 80% 的变化:后者不是更好的描述吗?

1个回答

报告标准偏差而不是方差

我认为您是对的,因为每台 PC 的标准偏差可能比其方差更合理或更直观(对于某些人而言)衡量其“影响”。实际上它甚至有一个清晰的数学解释:PC 的方差是协方差矩阵的特征值,但标准差是中心数据矩阵的奇异值 [仅按比例缩放1/n1]。

所以,是的,报告它是完全可以的。此外,例如 R 确实报告了 PC 的标准偏差,而不是它们的方差。例如运行这个简单的代码:

irispca <- princomp(iris[-5])
summary(irispca)

结果是:

Importance of components:
                          Comp.1     Comp.2     Comp.3      Comp.4
Standard deviation     2.0494032 0.49097143 0.27872586 0.153870700
Proportion of Variance 0.9246187 0.05306648 0.01710261 0.005212184
Cumulative Proportion  0.9246187 0.97768521 0.99478782 1.000000000

这里有标准偏差,但没有方差。

解释方差

包含 95% 数据方差的 PC 可能仅包含以标准差衡量的数据中 80% 的变化:后者不是更好的描述吗?

但是,请注意,在呈现标准偏差之后,R 不会显示“标准偏差的比例”,而是显示方差的比例。这是有充分理由的。

在数学上,总方差(作为协方差矩阵的线)在旋转下被保留。这意味着原始变量的方差之和等于 PC 的方差之和。在相同的 Fisher Iris 数据集的情况下,这个和等于4.57,因此我们可以说 PC1 的方差为2.052=4.20解释92%的总方差。

但是标准差的总和没有被保留!原始变量的标准差之和为3.79. PC 的标准差之和为2.98. 他们不平等!所以如果你想说PC1有标准差2.05解释x%在“总标准差”中,你认为这个总数是多少?没有答案,因为它根本没有意义。

最重要的是,查看每台 PC 的标准差,甚至将它们相互比较是完全可以的,但如果你想谈论“解释”的东西,那么只有“解释的方差”才有意义。