主成分分析和因子分析是统计学习中比较重要的知识点,然而相关的理论知识经常学了忘忘了学,所以还是在知乎写写增加一下印象吧。
一.主成分分析的目的:
将多个具有相关关系的变量综合成少数几个不相关的综合指标,以实现降维的目的。
先从一个例子看起:
假设一个50人的班级,在经过一次考试后,记录了每个同学的语文、数学、英语、物理、化学、生物的成绩,应该怎么去看每个同学在这次考试中的表现呢?
通常班主任的做法是分别查看每科同学的成绩,最后根据所有科目的平均成绩来衡量每个同学在这次考试中的整体表现。
然而实际情况是部分同学偏科,有的科目成绩很高,而有的科目成绩偏低,从而导致平均成绩不上不下,因此我们希望看看哪些同学在文科科目的表现比较好,哪些同学在理科科目的表现比较好。这时,我们想,语文、英语、生物是属于文科类科目,数学、物理、化学属于理科类科目,我们可以将原来的六个变量变为两个综合指标,一个指标是用来表现文科科目成绩的,称为文科主成分;另一个指标用来表现理科科目成绩,称为理科主成分。如果有了每个同学在这两个综合指标上的得分,将得分排序,就可以轻易看到各个同学的表现情况了。那么,如何来做这件事,就是主成分分析要做的事情了。
二.总体主成分推导过程
主成分的思想就是对原来的指标做线性组合,如下图。

我们可以理解为:对每个指标赋予权重,求主成分就相当于求各个指标的加权和。不同主成分强调的指标不一样,比如对








因此,不同主成分可以从不同维度来反映原来数据的情况。那么接下来,如何去求系数矩阵呢?可以从主成分本身的方差出发。

那么,在求系数矩阵时,为什么要最大化方差呢?
其实,每个主成分都是原来指标的线性组合,我们在降维的同时,希望尽可能地保持数据原有的信息,而主成分的方差越大所包含的信息量就越大。可以参考下图,进行理解:第一主成分的方差最大,将原有数据分别映射到


以上的推导都是基于总体主成分,而在实际情况中只有每个指标相应的个体观测值,协变量的总体协方差阵未知,所以要使用样本协方差阵,计算样本协方差阵

除此之外,还应注意,如果数据量级比较大,将对我们的结果造成影响。因此,在做主成分分析之前,首先对数据进行标准化处理。标准化之后的样本协方差阵为原数据的相关性矩阵。因此可以从样本的相关矩阵出发,求特征值特征向量,进而求得主成分。
三.主成分分析实际应用步骤
1.求数据标准化后的样本协方差矩阵,即:样本相关矩阵

2.计算






3.根据主成分的累积方差贡献率确定主成分个数;
4.计算每个个体的主成分得分。
方法关键:从主成分本身的方差考虑。