关于统计样本协方差矩阵与其特征值的一点思考
关于统计样本协方差矩阵与其特征值的一点思考
本文通过随机生成二维坐标点,详细解释了协方差矩阵的计算过程、中心化处理、特征向量矩阵的单位化,以及通过特征向量矩阵对样本进行变换后的效果。文章还通过MATLAB代码展示了样本生成的过程,并分析了旋转和仿射变换对协方差矩阵的影响。最后,文章提到了PCA(主成分分析)的核心思想。
要研究统计量,当然是要先有样本,首先,随机生成一堆二维坐标点,如图所示。
图1 二维样本点坐标表示
从图中可以看出,坐标点平铺于二维平面(而不是在一条直线上),所以不用担心协方差矩阵不可逆的问题。
首先用矩阵的方法表示这些点
其中,统计向量还是按列向量表示,其上标表示序列标号而不是数值乘方运算。
在这样表示的前提下,对协方差矩阵的可以写为:
其中
表示统计样本在各个维度上的均值,换句话说,
的操作或
的操作其实就是让样本进行中心化,使得样本的均值中心处于坐标原点。中心化后样本长这样
图2 中心化后样本点
那么通过上面的运算我们也就得到了协方差矩阵
针对上面的样本,协方差矩阵大概长这个样子:
无论是从上面的矩阵看还是从协方差的性质上分析都能得出矩阵
是对称矩阵,根据对称矩阵的性质我们可以得知其对角化公式为:
把上面的协方差矩阵公式代进来,再稍微变换一下就可以得到:
为了后期方便解读与表示,这里规定特征向量矩阵
为单位化矩阵。
我们先将上面所用例子的数值贴出来,再对公式进行解读。
,
经乘
变换后的样本
形式如图所示
图3 通过特征向量矩阵变换后的样本点
从公式中可以解读出以下几点:
- 协方差矩阵的特征向量的转置
相当于一个坐标变换,对列向量
的坐标变换。
- 变换后的列向量样本
求其协方差,得到的是一个对角矩阵
也就是在非对角线上的元素全为0。
- 结合第1和第2条,
作为协方差矩阵,只有对角元素不为0这一性质说明了该统计样本的每一个维度都是相互独立的,即变换后的样本
在
和
维度上相互独立,这将极大程度的利于我们对统计量的分析。
- 由于前面规定了特征向量矩阵
为单位化矩阵,所以变换后的样本
尺度并不会改变,换句话说,原样本
经乘
变换后,并没有发生伸缩变换,所以其离散程度依然不变,
中的数值反应的仍然是原样本
的方差,只是采用的投影方向(向x1轴和x2轴投影,如下图所示)不一样。
图4(a) 变换前样本点在x1和x2轴投影(红线为特征向量的基)
图4(b) 变换后样本点在x1和x2轴投影(红线为特征向量的基,此时与x1和x2重合)
到这里其实一切都可以揭秘了,生成样本的matlab的函数为:
X1=normrnd(5,5,1000,1);
X2=normrnd(10,3,1000,1);
X=[x1 x2]*[cos(pi/6) -sin(pi/6);sin(pi/6) cos(pi/6)];
即生成了均值为5和10,方差为5和3的1000个独立高斯分布样本,也就是生成样本满足:
再对分布的坐标进行旋转使其产生带有协方差的样本
。
注意这里讲的是生成
的方法,上面分析第4条讲的是对已经生成的
的变换,不要混淆。
实际上我们发现计算得出的
其对角线上的元素正好是旋转前的两个独立分布的方差,这种情况只是一种巧合,因为我们只使用了旋转变换,并不改变样本点间的距离,若是更具有一般性的仿射变换则就不会有那么幸运了。
图5(a) 变换前样本点在x1和x2轴投影(红线为特征向量的基)
图5(b) 变换后样本点在x1和x2轴投影(红线为特征向量的基,此时与x1和x2重合)
在这里,
虽然生成时采用了相同的分布,但是对生成样本进行了不同的变换,其得出的对角化方差也不同,但尽管如此,结合图示,我们依然可以得出结论,使用协方差矩阵的特征向量对统计样本进行变换,可以消除联合分布的关系,使得不同维度样本独立。
进一步分析还可知,若如图4(a)那样对x1轴和x2轴进行投影求方差,只能求得协方差矩阵
的对角元素,即21.5495和12.4563,而协方差-6.2597被忽略,这造成了“信息的浪费”。而对样本进行变换后再对x1轴和x2轴进行投影求方差,便可得到“最大化的方差信息”,这也是PCA(主成分分析)的核心思想,当然上述从信息量角度进行分析并不严谨,详细的证明可以参考PCA的证明方法。