主成分分析
1.问题描述
在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在大多数情况下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性,同时对分析带来不便。如果分别对每个指标进行分析,分析往往是孤立的,而不是综合的。盲目减少指标会损失很多信息,容易产生错误的结论。
2.过程
主成分分析法是一种数据转换的技术,当我们对一个物体进行衡量时,我们将其特征用向量(a1,a2,a3,...an)进行表示,每一维都有其对应的variance(表示在其均值附近离散的程度);其所有维的variance之和,我们叫做总的variance;我们对物体进行衡量时,往往其特征值之间是correlated的,比如我们测量飞行员时,有两个指标一个是飞行技术(x1),另一个是对飞行的喜好程度(x2),这两者之间是有关联的,即correlated的。我们进行PCA(主成分分析时),我们并没有改变维数,但是我们却做了如下变换,设新的特征为(x1,x2,x3...,xn);
其中
1)x1的variance占总的variance比重最大;
2)除去x1,x2的variance占剩下的variance比重最大;
....
依次类推;
最后,我们转换之后得到的(x1,x2,...xn)之间都是incorrelated,我们做PCA时,仅取(x1,x2,....xk),来表示我们测量的物体,其中,k要小于n。主成分的贡献率就是某主成分的方差在全部方差中的比值。这个值越大,表明该主成分综合X1,X2,…,XP信息的能力越强。如果前k个主成分的贡献率达到85%,表明取前k个主成分基本包含了全部测量指标所具有的信息,这样既减少了变量的个数又方便于对实际问题的分析和研究。
注意,当(a1,a2,a3,...an)之间都是incorrelated时,我们就没有做PCA的必要了
数据点在上图所示的方向上进行投影后,数据仍然有着很大的variance,但在下图所示的方向上,投影后的数据的variance就很小。
我们所需要做的就是找到这一系列的向量,使得数据在其上的投影有着较大的variance。
3.数学描述
为了能够找到这一系列的向量,我们对数据进行预处理
1) Alcohol
2) Malic acid
3) Ash
4) Alcalinity of ash
5) Magnesium
6) Total phenols
7) Flavanoids
8) Nonflavanoid phenols
9) Proanthocyanins
10)Color intensity
11)Hue
12)OD280/OD315 of diluted wines
13)Proline
样本数为130,在matlab下按照以上步骤,进行PCA,得到的特征值如下:
选取前k个特征值使得前k个主成分的贡献率达到85%,计算得到的结果为k=1,其对应的特征向量为u=
令X=X*u即可得到新的X,其中X原来维数为130×13,进行PCA后的维数为130×1。