• 0

    用户访问量

  • 0

    注册用户数

  • 0

    在线视频观看人次

  • 0

    在线实验人次

数据清洗 主成分分析法的原理

作者:云创智学|发布时间:2021-12-30 14:12:25.0|来源:云创智学

数据清洗 主成分分析法的原理

PCA(Principal Component Analysis,主成分分析)的思想,就是是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分。

PCA的目标是用一组较少的不相关变量代替大量相关变量,同时尽可能保留初始变量的信息,这些推导所得的变量称为主成分,它们是观测变量的线性组合。如第一主成分为:

PC1=a1X1=a2X2+……+akXk 它是k个观测变量的加权组合,对初始变量集的方差解释性最大。

第二主成分是初始变量的线性组合,对方差的解释性排第二, 同时与第一主成分正交(不相关)。后面每一个主成分都最大化它对方差的解释程度,同时与之前所有的主成分都正交,但从实用的角度来看,都希望能用较少的主成分来近似全变量集。


PCA中需要多少个主成分的准则:

根据先验经验和理论知识判断主成分数;

根据要解释变量方差的积累值的阈值来判断需要的主成分数;

通过检查变量间k*k的相关系数矩阵来判断保留的主成分数。


最常见的是基于特征值的方法,每个主成分都与相关系数矩阵的特征值 关联,第一主成分与最大的特征值相关联,第二主成分与第二大的特征值相关联,依此类推。

利用fa.parallel()函数,可同时对三种特征值判别准则进行评价。

library(psych)  

fa.parallel(USJudgeRatings[,-1],fa="pc",n.iter=100,

        show.legend=FALSE,main="碎石图") 


碎石图、特征值大于1准则和100次模拟的平行分析(虚线)都表明保留一个主成分即可保留数据集的大部分信息

principal()函数可根据原始数据矩阵或相关系数矩阵做主成分分析

格式为:principal(的,nfactors=,rotate=,scores=)


其中:

r是相关系数矩阵或原始数据矩阵;

nfactors设定主成分数(默认为1);

rotate指定旋转的方式[默认最大方差旋转(varimax)]

scores设定是否需要计算主成分得分(默认不需要)。


library(psych)  

(pc<-principal(USJudgeRatings[,-1],nfactors=1))

联系方式
企业微信