在第1章的矩阵运算基础上,本章第一节首先建立特征值、特征向量和方差-协方差的联系。假设 Σ 为形状为2×2的方差-协方差矩阵,求解它的特征值可以得到:
也就是:
结合以上两个矩阵运算,可以构建:
用符号来表达:
其中:
利用MATLAB的eig()命令,可以把式(2.5)写作:
方差-协方差矩阵可以表达:
现在要把第1章讨论的矩阵缩放和矩阵旋转这两个转换拿来。
原始数据 D ,首先做去均值处理,得到 D demean 。然后利用矩阵 R 对 D demean 进行旋转,可以得到如下顺时针旋转后的矩阵:
其中:
对 D rot ated 求方差-协方差矩阵和其特征值和特征向量:
结合上一节内容对 D demean 方差-协方差矩阵计算:
可以得到:
因为:
把旋转后的协方差矩阵写作:
整理后得到:
比较式(2.14)、(2.15)
可以得到:
仔细观察 Σ rotated 这个矩阵,会发现这是个对角矩阵,相关系数为0。这是个很重要的结论。通俗地说, D demean 经过 R 旋转后得到的数据 D rotated 在新的坐标系统内相关性为0。 Λ 是对角阵,把它写成对角阵 S 的乘积,把 V 用 R 替代,式(2.17)可以写作:
S 是 D rotated 的标准差对角阵。
下面问题来了,该如何找到这个旋转角度 θ ?需要借助前文讲到的SVD分解来解决这个问题。如图2.1(a)所示是原始数据的7个点。首先对两个维度去均值,从而获得 中心化数据 (centered data)或 去均值数据 (dem eaned data)。如图2.1(b)所示的蓝色×就是中心化后的数据。可以求得中心化数据的协方差矩阵:
图2.1 原始数据和中心化数据
方差-协方差矩阵求特征值和特征向量,可以得到:
两个特征向量可以写作:
特征向量代表的方向如图2.2所示。
图2.2 特征向量代表的方向
如果中心化数据按式(2.22)所示矩阵旋转:
可以得到图2.3(a)。通过式(2.23)旋转计算,又可以得到图2.3(b):
图2.3中两组数据相当于关于 y = x 对称,也可以通过[0 1;1 0]对称运算获得。
图2.3 两个不同方向的旋转
下一步来解释特征值所代表的含义。通过SVD分解得到中心化数据的 正交回归 (orthogonal regression)直线,然后将中心化数据正交投影在这条直线上,如图2.4所示。
这里有必要比较一下正交回归和线性回归。正交回归的最佳拟合线就是最小化数据点与直线投影点之间的正交距离的线。线性回归仅仅考虑原始数据点和拟合数据在 y 方向的距离,即误差,如图2.5所示。本书后面有一章专门介绍线性回归;另外,丛书第四本会结合优化方法更加深入探讨线性回归和正交回归。
图2.4 正交回归
图2.5 线性回归
对两个投影方向都求解投影点的方差值,得到如图2.6所示结果。会发现这两个值就是之前得到的特征值。可以说,原数据在新坐标系内的方差值之和为7.3333,图2.6横轴方向解释了23.5%(=1.723/7.3333×100%)的方差之和,而纵轴解释了76.5%的方差。用式(2.24)表达:
图2.6 正交投影得到的数据和它们分别的方差值
这部分内容对于本书后文探讨 主成分分析 (principal component analysis)十分重要,请读者格外留意。
以下代码可以获得本节图像。
现在接着进行逆操作,首先产生服从线性不相关、二元标准正态分布数据 D 0 ,然后对 D 0 先缩放 S 后逆时针旋转 θ ,得到数据 D 1 :
然后再对 D 1 的方差-协方差求特征值和特征向量:
如图2.7所示是一组二维随机数。横纵轴维度上,随机数方差值为1,线性相关系数为0。如图2.8所示是随机数经过缩放运算所得结果,图2.9所示随机数是图2.8随机数经过旋转得到。
图2.7 线性相关系数为0方差均为1的二维随机数
图2.8 二维随机数经过缩放处理
以下代码可以获得图2.7、图2.8和图2.9:
图2.9 对缩放后数据进行旋转处理
最后用图2.10总结一下本节讲的两个例子。第一个例子是将原始数据处理生成线性无关数据。第二个例子是将线性无关数据还原生成符合原始数据统计学规律的数据。
第一个例子中,原始数据首先去均值,也就是数据中心化。然后旋转数据去相关性。这一步的数学运算为:
中心化的数据方差-协方差矩阵 Σ centralized 和去相关性数据的方差-协方差矩阵 Σ uncorrelated 有式(2.28)所示关系:
Σ uncorrelated 可以通过对 Σ centralized 进行特征值分解求得。去相关性数据可以通过缩放运算获得方差为1、线性相关系数为0的随机数组。另外,缩放运算可以和旋转运算调换顺序。
图2.10 数据处理的双方向过程
第二个例子中,首先生成了方差为1、线性相关系数为0的随机数组。然后进行缩放运算,再进行旋转运算获得特定的线性关系。因为旋转方向相反,因此:
同时:
如图2.11所示是数据沿着不同维度的标准差。请大家格外注意获得最大标准差的维度,这个维度就是主成分分析中的第一主成分。丛书在第二本中讨论过用Cholesky分解方法生成具有一定相关性二元和多元随机数。实际上,Cholesky分解也是数据的空间旋转和缩放。这一点将在丛书第四本会反复使用。
图2.11 数据沿着不同维度的标准差