皮尔逊系数为何要中心化?中心化带来的好处有哪些?
在数据分析和统计学领域,我们经常会遇到皮尔逊相关系数(Pearson correlation coefficient),它是一种衡量两个变量之间线性相关程度的指标。它的取值范围在1到1之间,1表示完全负相关,1表示完全正相关,0表示无线性相关。
但是,你有没有想过,在计算皮尔逊系数之前,我们通常会对数据进行“中心化”处理?为什么要这么做?中心化处理又会给我们带来哪些好处呢?今天,我们就来深入探讨一下这个问题。
什么是中心化?
首先,我们来明确一下“中心化”是什么意思。中心化,顾名思义,就是将数据围绕其均值进行移动。具体来说,对于一个数据集 $X = {x_1, x_2, ..., x_n}$,其中心化后的数据集 $X' = {x'_1, x'_2, ..., x'_n}$ 的计算公式为:
$x'_i = x_i ar{x}$
其中,$ar{x}$ 是数据集 $X$ 的均值。也就是说,我们从每个数据点中减去该数据集的均值。这样做之后,新的数据集 $X'$ 的均值就变成了0。
为什么皮尔逊系数要中心化?—— 更深刻的理解相关性
皮尔逊相关系数的计算公式实际上是基于协方差的概念。其公式为:
$r = frac{sum_{i=1}^{n}(x_i ar{x})(y_i ar{y})}{sqrt{sum_{i=1}^{n}(x_i ar{x})^2}sqrt{sum_{i=1}^{n}(y_i ar{y})^2}}$
观察这个公式,你会发现,无论是分子还是分母,都出现了 $(x_i ar{x})$ 和 $(y_i ar{y})$ 这样的项。这正是中心化后的数据!
那么,为什么公式本身就包含了中心化的操作呢?这背后其实是对“相关性”本质的体现。
协方差的意义: 皮尔逊系数的分子是两个变量的协方差。协方差衡量的是两个变量协同变化的程度。当一个变量高于其均值时,另一个变量也倾向于高于其均值(正协方差),或者倾向于低于其均值(负协方差)。通过减去均值,我们消除了原始数据本身的偏移量,只关注数据点相对于它们各自均值的相对位置。
消除量纲和基准点的影响: 想象一下,如果我们要比较两个身高和体重的数据集。一个数据集是厘米为单位,另一个是英寸为单位。直接计算它们的协方差会因为单位不同而失去可比性。通过中心化,我们关注的是“身高比平均身高高多少/矮多少”以及“体重比平均体重重多少/轻多少”,这样就消除了原始数据的量纲和绝对大小的影响,让比较更加公平。
聚焦于“相对变化”: 中心化让我们的分析焦点从数据的绝对值转移到数据相对于其“中心”(均值)的变化。皮尔逊系数关注的是“当X偏离其均值时,Y是否也倾向于以某种方式偏离其均值”。这个“偏离”正是通过减去均值来体现的。
中心化之后有什么好处?
将数据中心化之后,在计算皮尔逊相关系数时,会带来以下几个显著的好处:
1. 使计算更简洁直观:
正如我们前面看到的,皮尔逊系数的公式本身就包含中心化的项。直接对原始数据计算皮尔逊系数,其数学过程本质上就是对中心化后的数据进行的。所以,在很多情况下,我们说“皮尔逊系数的计算是建立在中心化数据上的”是很准确的。
2. 避免绝对值大小的影响,关注相对变化:
这是中心化最核心的好处。
摆脱数据的“基准线”: 原始数据的值可能很大,也可能很小,甚至可能是负数。例如,一个测量体重的变量,其均值可能是60kg。另一个变量是温度,其均值可能是20°C。直接计算这两个变量的协方差,结果会受到它们各自均值大小的影响。
量化“同向变动”: 中心化后,如果 $x_i$ 高于 $ar{x}$,那么 $(x_i ar{x})$ 就是正的。如果 $y_i$ 也高于 $ar{y}$,那么 $(y_i ar{y})$ 也是正的。两者相乘就是正的。如果 $x_i$ 高于 $ar{x}$,而 $y_i$ 低于 $ar{y}$,则 $(x_i ar{x})$ 为正,$(y_i ar{y})$ 为负,乘积为负。这样,通过各点 $(x_iar{x})(y_iar{y})$ 的累加,我们才能真正捕捉到变量之间“同向变化”或“反向变化”的趋势。
3. 对所有变量提供一个统一的参照系:
当我们处理多个变量时,中心化可以将它们都“归零”到各自的均值处。这样,我们就有了一个统一的参照系来评估它们的相对变化。这使得比较不同变量之间的相关性变得更加有意义。例如,我们可以比较“收入对消费的影响”和“教育年限对收入的影响”,即使它们本身的数值范围和均值差异很大,通过中心化,我们都在比较“偏离平均收入的钱”和“偏离平均教育年限的年数”对另一个变量的影响。
4. 简化计算,尤其是在矩阵运算中:
在现代数据分析中,我们经常使用矩阵来表示和处理数据。将数据矩阵中心化可以极大地简化许多矩阵运算,包括协方差矩阵的计算。
协方差矩阵: 考虑一个数据集 $X$(n个样本,p个特征),将其中心化为 $X_{centered}$。那么,协方差矩阵可以计算为 $frac{1}{n1} X_{centered}^T X_{centered}$。如果没有中心化,计算会复杂得多。
5. 在某些机器学习算法中的应用:
虽然皮尔逊系数本身是一个描述性统计量,但其背后的中心化思想在许多机器学习算法中至关重要。例如:
主成分分析(PCA): PCA 的核心是将数据投影到方差最大的方向上。它通常首先对数据进行中心化处理,然后计算协方差矩阵,再进行特征值分解。中心化是 PCA 能够正确工作的关键一步。
支持向量机(SVM)等: 在某些情况下,对输入特征进行标准化(中心化+缩放)可以改善模型的性能和收敛速度。
举个例子
假设我们有两个数据集:
数据集 A (小明一天中记录的午餐花费,单位:元): [15, 20, 18, 22, 25]
数据集 B (小红一天中记录的午餐花费,单位:元): [10, 12, 11, 15, 13]
我们想知道这两个人的午餐花费是否有线性相关性。
1. 计算均值:
$ar{A} = (15+20+18+22+25) / 5 = 20$
$ar{B} = (10+12+11+15+13) / 5 = 12.2$
2. 中心化数据:
A': [1520, 2020, 1820, 2220, 2520] = [5, 0, 2, 2, 5]
B': [1012.2, 1212.2, 1112.2, 1512.2, 1312.2] = [2.2, 0.2, 1.2, 2.8, 0.8]
3. 计算皮尔逊系数(基于中心化数据):
分母:
$sum (A'_i)^2 = (5)^2 + 0^2 + (2)^2 + 2^2 + 5^2 = 25 + 0 + 4 + 4 + 25 = 58$
$sum (B'_i)^2 = (2.2)^2 + (0.2)^2 + (1.2)^2 + (2.8)^2 + (0.8)^2 = 4.84 + 0.04 + 1.44 + 7.84 + 0.64 = 14.8$
分子:
$sum (A'_i)(B'_i) = (5)(2.2) + (0)(0.2) + (2)(1.2) + (2)(2.8) + (5)(0.8) = 11 + 0 + 2.4 + 5.6 + 4 = 23$
皮尔逊系数 $r = frac{23}{sqrt{58} sqrt{14.8}} approx frac{23}{8.544 imes 3.847} approx frac{23}{32.87} approx 0.70$
这个结果表明,小明的午餐花费和小红的午餐花费之间存在较强的正相关性。
如果不对数据中心化直接计算:
虽然公式中包含中心化,但如果我们不先进行概念上的“中心化”,而是直接尝试计算其他与相关性相关的指标,比如原始数据的乘积之和 $sum x_i y_i$:
$sum x_i y_i = 1510 + 2012 + 1811 + 2215 + 2513 = 150 + 240 + 198 + 330 + 325 = 1243$
这个值并不能直接告诉我们“当小明多花钱时,小红也倾向于多花钱”这样的相对关系。它仅仅是一个原始数值的加权总和,更容易受到个体数值大小的影响。
总结
简而言之,皮尔逊系数的“中心化”是其计算本质的体现,也是为了更准确地衡量变量间的线性相关性。它通过消除数据的绝对值和基准点的影响,让我们能够聚焦于变量相对于其自身均值的“相对变化”是否协同。这使得皮尔逊系数成为一个强大而有用的工具,用于理解数据之间的内在联系,并在更广泛的数据分析和机器学习领域发挥着关键作用。
下次当你看到计算皮尔逊系数的代码或公式时,你会明白,那不仅仅是一堆数学符号,而是对数据“内在关联”的深刻洞察。