R中的主成分分析(PCA)和因子分析是统计分析技术,也称为多元分析技术。
当可用的数据有太多的变量无法进行分析时,主成分分析(PCA)和因子分析在R中最有用,它们在不损害他们所传达的信息的情况下减少了需要分析的变量的数量。
我们和一位客户讨论过如何在R软件中实现稀疏主成分分析。
稀疏主成分分析会把主成分系数(构成主成分时每个变量前面的系数)变的稀疏,也即是把大多数系数都变成零,通过这样一种方式,我们就可以把主成分的主要的部分凸现出来,这样主成分就会变得较为容易解释。
上市公司财务分析指标数据
KMO检验和Bartlett球度检验
KMO检验
kmo = function( data ){
library(MASS)
X <- cor(as.matrix(data))
iX <- ginv(X)
S2 <- diag(diag((iX^-1)))
AIS <- S2%*%iX%*%S2
Bartlett球形检验:
bartlett(cor(data[,3:(ncol(data)-1)]
相关性检验
输出相关系数矩阵
cor(data[,3:(ncol(data) )])
绘制变量两两相关散点图
稀疏主成分分析
library(MASS)
set.seed(1)
#稀疏主成分分析建模
nspc <- nsprc(data[,3:
主成分载荷
绘制前两个主成分的载荷图
plot(load ) # set up plot
text(load,labels=names(mydata),ce
因子分析
library(psych)
parallel
并行分析表明,因子数=8。
fit <- fa(r=cor
因子载荷
绘制前两个因子载荷
绘制因子载荷矩阵
因子分析或主成分分析的结果用每个因子上的主要载荷来初步解释。这些结构可以用载荷表表示,也可以用图形表示,其中所有具有绝对值>某个切点的载荷都表示为边(路径)。