主成分分析基于R


 

 

一、实验目的:熟悉主成分析的思想,掌握求主成分的方法以及R语言代码

 

二、实验内容:对于从不同的数据出发,掌握三种求主成分的方法,以及相应的R语言代码。同时要求对命令输出结果进行理解,解释。

 

三、实验设备与平台:R语言

 

四、涉及的知识点:数据标准化,矩阵的特征值,特征向量,协方差矩阵,变量的相关系数矩阵,主成分分析思想,求解主成分的方法。

 

五、实验过程

从协方差矩阵出发,求主成分。


 主成分分析基于R

Comp.s为从协方差矩阵求主成分的函数,输出结果为list形式。

其中,CP为累计贡献率,当累计贡献率超过80%,即可确认主成分的个数m

values为协方差矩阵的特征值

vectors为协方差矩阵的特征值对应特征向量

输出结果如下:

 主成分分析基于R

 

 

由结果可知,当m2的时候累计贡献率达到94.2179%大于80%,即认为这两个主成分以提取了绝大部分原数据的信息。

以下为第一,第二主成分Z.1Z.2

Z.1=0.88915x1+0.30956x2+0.33701x3

Z.2=0.32290x1-0.94628x2+0.01726x3

对于数据存在量纲的不同,要对数据进行中心化或者标准化。

 

 

 

 

 

 

 

 

 

 

从相关系数矩阵出发,求主成分分析

 

 主成分分析基于R

 

由结果可知,从相关系数矩阵出发,求得的主成分和从协方差出发求得的主成分的结果一样。

 

相关过程解释也和上述一样。

 

------------------------------------------------------------------------------------------------------------------------------

 主成分分析基于R

由上述输出结果可得,m2的时候,累计贡献率高达94.2179%,大于80%,即m=2.

 

由协方差矩阵的特征值以及特征向量可以得到两个主成分为:

Z.1=0.8892x1+0.3096x2+0.3370x3

Z.2=0.3229x1-0.9462x2+0.0172x3

 

 主成分分析基于R

 

由结果可知,从相关系数矩阵出发,求得的主成分和从协方差出发求得的主成分的结果一样。

 

相关过程解释也和上述一样。

对于主成分分析的基本原理,可以参考一下点击打开链接(转http://www.cnblogs.com/pinard/)