PCA的数据范围极其重要。执行PCA的第一步是确保正在分析的变量均位于相似的测量范围内。这几乎总是通过将数据标准化来实现。标准化运算很简单:
xstd=(xi-x̄)/sx
其中,xstd是标准化值,xi是原始值,x̄是变量的平均值,sx是变量的标准偏差。实际上,该方法转换数据的方式是每个变量的平均值为零,标准偏差为1。随后,每个变量的方差为1,因为方差只是标准偏差的平方:
varx=sx2
实际上,这一步对于确保PCA的结果得到正确解释非常重要,因为PCA对原始变量的方差非常敏感。具体而言,在确定如何最好地降低数据集的维度时,PCA确定哪些变量“最为重要”的方法是通过确定哪些变量呈现最大的方差(有关这一点的更多信息置信区间)。如果原始变量的方差彼此相差很大,分析结果会偏向方差较大的变量,而忽略方差较小的变量。
起初这似乎不是一件坏事,但造成变量之间方差的原因通常并非数据本身,而是测量数据的范围。例如,考虑一些制造啤酒时可能会涉及的变量。这些因素可能包括所用谷物的质量(g)、酿造啤酒的温度(℃)、所用水的体积(L)或允许发酵的时间长度(小时、天或周)。这些变量中的每一个均在非常不同的范围进行测量,并且您预期在酿造的多个批次之间的方差量可能会因变量而异。例如,您可能预计两次运行之间的温差为2-5℃或几克谷物,但体积可能只相差0.05L。另一方面,您发酵啤酒的时间可能只有5天(120小时)到三周或更多周(500+小时)。
每一个变量的方差均会有很大的不同,其原因仅仅是这些变量均在不同范围内进行测量。时间的示例更能说明问题,原因在于如果按照小时(120到500之间的数值)来衡量时间,与天数(5-21之间的数值)相比,方差会更大。标准化通过将每个变量的方差设置为1来解决数据的该问题。
如果用于PCA的变量是在相同范围进行测量,并且已经有相似的方差,则可能无需标准化数据。相反,数据仅通过从每个变量中减去平均值进行制备(转换后的变量的平均值均为零)。这称为“居中”,且不太常见,仅当您确定变量的测量范围具有可比性时,才建议使用居中。