数据分析——主成分分析

主成分分析

1. 将原始数据标准化

2. 建立变量的相关系数矩阵

  • 选择主成分个数

3. 求R的特征根及相应的特征向量

  • 贡献率大于85% 或者 特征根大于1

4. 由累积方差贡献率确定主成分个数

5. 对主成分进行分析


library(psych)
KMO(cor(inputfile))  #>0.5,可以做主成分分析
cortest.bartlett(inputfile)   # H0:变量之间相互独立,要拒绝H0,才有降维的必要

#模型分析
test<-princomp(inputfile,cor=TRUE)
test$sdev#特征根>1,
(test$sdev)^2/sum((test$sdev)^2)#方差累积贡献率>85%,确定主成分个数k
test$scores[,1:k]#利用前K个主成分做之后分析的自变量

#综合排名计算权重
#sum(特征向量*相应特征根的贡献率)/sum(k个主成分贡献率)
#计算综合得分:sum(各原始自变量*权重)
#得分排名

# 读取数据文件,提取标题行
inputfile <- read.csv('./data/principal_component.csv', header = FALSE)

# 主成分分析
PCA <- princomp(inputfile, cor = FALSE)
names(PCA)  # 查看输出项


(PCA$sdev) ^ 2  # 主成分特征根
summary(PCA)  # 主成分贡献率
PCA$loadings  # 主成分载荷      
PCA$scores  # 主成分得分
#确定主成分后选择
PCA$scores[,1:k]

当cor = TRUE是使用相关系数矩阵计算
当cor = FALSE是使用协方差矩阵计算
用相关系数矩阵计算就相当于先标准化,在进行主成分分析
用协方差矩阵计算就是不进行标准化
  • 两种方法根据数据和需求确定

 上一篇
数据分析——数据离散化 数据分析——数据离散化
一、如何将数据离散化1. 常用的离散化方法常用的离散化方法有等宽法、等频法和(一维)聚类。 (1) 等宽法该法将属性的值域分成具有相同宽度的区间,区间的个数由数据本身的特点决定,或者由用户指定,类似于制作频率分布表。 (2) 等频法该法将相
2019-05-15
下一篇 
金字塔原理 金字塔原理
所谓金字塔原则,是一项结构化的思考、沟通和写作的技术。重点关注的是在写作之前的思考过程。以下的内容: 四项基本原则 结论先行 以上统下 归纳分组 逻辑递进 子结构 纵向关系 横向关系 序言 逻辑顺序 时间顺序 结构顺序 重
2019-05-12 CityNorth
  目录