600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > r语言主成分分析_PCA主成分分析

r语言主成分分析_PCA主成分分析

时间:2019-02-28 03:09:09

相关推荐

r语言主成分分析_PCA主成分分析

PCA主成分分析

最近遇到了主成分分析法这个东西,一开始我觉得简直天才啊,这个想法虽然从经济意义上来解释有点奇怪,毕竟是数学方法计算出来的解释因子,但鉴于没人知道现实世界究竟被多少因素影响,这种方法可以将最主要的成分提取出来,供人使用。这对于没有足够的经验自己总结影响因子的人来说,确实是一个很好的主意。

但在应用中我遇到了许多小问题,又因为我糟糕的记忆力,我决定写下来问题的解决过程,下一次还能回忆起来。QAQ

0.写在最前面

主成分分析法,可以将随机向量变为少数几个主成分,换句话说,本来有几种向量,最后就有几种成分,然后从中选出解释力最强的几种“主成分”。但是原始向量的协方差矩阵可能不是一个对角矩阵,即原始向量之间相关,转换后的主成分之间,不相关,同时主成分可以反映原始向量的大部分信息。

1.数据标准化

标准化,意味着将原始数据减去对应变量的均值,再除以其方差。

这个问题的来源是在主成分分析中,有两种选择,按照相关系数矩阵分解还是按照协方差矩阵分解。

我的困惑在于,这两者有什么区别,和书标准化又有什么关系。

查询资料得知:经标准化的样本数据的协方差矩阵就是原始样本数据的相关矩阵。这里所说的标准化指正态化,即将原始数据处理成均值为0。

简单来说,原始样本相关矩阵=标准化后协方差矩阵。

2.按照协方差矩阵分解还是按照相关矩阵分解

虽然现在知道了:

原始样本相关矩阵=标准化后协方差矩阵

但我还是不确定,这是否意味着:

原始样本按照相关矩阵分解=标准化后样本按照协方差矩阵分解

但我这个人确实不太擅长从数学的角度进行理论分析。

所以我直接在程序里验证了,对比了两组结果。原始数据为data,R语言

第一组:

A <- princomp(data, cor = TRUE)

summary(A)

第二组:

b <- scale(data)

B <- princomp(b, cor = FALSE)

summary(B)

我得到的两组结果完全相同。显然,这证明了:

原始样本按照相关矩阵分解=标准化后样本按照协方差矩阵分解

这基本解决了我运算上的一些困惑。

3.关于意义

运算上的困惑解决了,我对主成分的一些含义还不清楚,主要有以下几个问题:

a. 第一主成分和第二主成分的区别是否在与第一主成分的解释力更强,或者说他们俩的第一第二究竟是什么意思。特征向量又有什么意义?

第一主成分和第二主成分的“第一”、“第二”意味着特征值的第一大和第二大。第一主成分,意味着对标准化后的数据找到一个线性组合,令主成分的方差最大。第二主成分与第一主成分无关,第二主成分的方差第二大。

特征值越大,代表了对原始信息解释的越多。

第一主成分的方差理论上等于第一大特征值,第二主成分的方差理论上等于第二大特征值。特征向量就是在原始数据上的系数。

系数的正负值,绝对值大的代表了盖主成分主要综合的变量信息,当有几个变量系数绝对值大小相当的时候,应当认为这一主成分是这几个变量的作用综合,至于意义需要结合具体的问题解决。

b. 原始数据中,某种向量与其他向量的相关性较低,和这种向量与主成分之间的关系有什么联系?

变量之间相关性高,意味着数据中的信息是有重叠的,因此,用主成分分析得到不重叠的信息。如果本身不相关,就没有重叠的信息,pca的效果就不明显。(这一点我仍旧存疑)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。