主成分分析基于R
一、实验目的:熟悉主成分析的思想,掌握求主成分的方法以及R语言代码
二、实验内容:对于从不同的数据出发,掌握三种求主成分的方法,以及相应的R语言代码。同时要求对命令输出结果进行理解,解释。
三、实验设备与平台:R语言
四、涉及的知识点:数据标准化,矩阵的特征值,特征向量,协方差矩阵,变量的相关系数矩阵,主成分分析思想,求解主成分的方法。
五、实验过程: 从协方差矩阵出发,求主成分。 Comp.s为从协方差矩阵求主成分的函数,输出结果为list形式。 其中,CP为累计贡献率,当累计贡献率超过80%,即可确认主成分的个数m。 values为协方差矩阵的特征值 vectors为协方差矩阵的特征值对应特征向量 输出结果如下:
由结果可知,当m取2的时候累计贡献率达到94.2179%大于80%,即认为这两个主成分以提取了绝大部分原数据的信息。 以下为第一,第二主成分Z.1,Z.2 Z.1=0.88915x1+0.30956x2+0.33701x3 Z.2=0.32290x1-0.94628x2+0.01726x3 对于数据存在量纲的不同,要对数据进行中心化或者标准化。
|
从相关系数矩阵出发,求主成分分析
由结果可知,从相关系数矩阵出发,求得的主成分和从协方差出发求得的主成分的结果一样。
相关过程解释也和上述一样。
------------------------------------------------------------------------------------------------------------------------------ 由上述输出结果可得,m取2的时候,累计贡献率高达94.2179%,大于80%,即m=2.
由协方差矩阵的特征值以及特征向量可以得到两个主成分为: Z.1=0.8892x1+0.3096x2+0.3370x3 Z.2=0.3229x1-0.9462x2+0.0172x3
由结果可知,从相关系数矩阵出发,求得的主成分和从协方差出发求得的主成分的结果一样。
相关过程解释也和上述一样。 对于主成分分析的基本原理,可以参考一下点击打开链接(转http://www.cnblogs.com/pinard/)
|