多元统计分析及R语言建模-第8章 主成分分析(PCA)
来源:互联网 发布:linux c语言 电池信息 编辑:程序博客网 时间:2024/04/30 22:03
# 第8章 主成分分析
# 主成分分析的核心思想是通过降维的方法,把数据信息的主要成分提取出来,将多个冗余特征简化为一个特征的过程。
# 例8-1
x1 = c(171,175,159,155,152,158,154,164,168,166,159,164)
x2 = c(57,64,41,38,35,44,41,51,57,49,47,46)
plot(x1,x2,xlim=c(145,180),ylim=c(25,75))
lines(c(150,178), c(33,66)); text(180,68,"y1")
lines(c(161,168), c(60,38)); text(161,63,"y2")
# 有几个变量就有几个主成分
# 主成分分析函数princomp()的用法
princomp(x, cor=FALSE, scores=TRUE, ...)
# x为数据矩阵或数据框
# cor为是否用相关阵,默认为协差阵
# scores为是否输出成分得分
# 碎石图函数screeplot()的用法
screeplot(obj, type=c("barplot", "lines", ...))
# obj为主成分分析对象
# type为图形类型
#例8-2 主成分分析案例
# (1)数据标准化
# 本例中数据已经过处理
X = read.table("clipboard", header=T)
attach(X)
# (2)求标准化数据的相关矩阵
cor(X)
# 或协方差矩阵
cov(X)
# 主成分分析,可使用样本协方差矩阵或相关系数矩阵为出发点来进行分析,但大都以相关系数矩阵为主
# (3)求相关系数矩阵的特征值和特征向量
PCA = princomp(X, cor=T); PCA
# (4)计算方差贡献率与累积方差贡献率
summary(PCA,loadings=T)
PCA$loadings # 主成分负荷
# (5)确定主成分
screeplot(PCA, type="lines")
# (6)主成分得分
PCA$scores
# (7)计算综合得分
# summary(PCA)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
Standard deviation 2.2787134 1.1227556 0.8044059 0.62313432 0.48439131 0.38235576 0.29649185 0.206836981
Proportion of Variance 0.6490668 0.1575725 0.0808836 0.04853705 0.02932937 0.01827449 0.01098843 0.005347692
Cumulative Proportion 0.6490668 0.8066394 0.8875230 0.93606002 0.96538939 0.98366388 0.99465231 1.000000000
# 综合得分=(Comp.1*0.6490668 + Comp.2*0.1575725)/(0.6490668 + 0.1575725)
- 多元统计分析及R语言建模-第8章 主成分分析(PCA)
- 多元统计分析及R语言建模-第6章 判别分析
- 多元统计分析及R语言建模-第7章 聚类分析
- 多元统计分析及R语言建模-第4章 相关分析与回归分析及R使用
- 多元统计分析及R语言建模-第5章 广义与一般线性模型
- R语言 PCA(主成分分析)
- 多元统计分析上机题之R语言实现(主成分)
- R语言多元分析系列之一:主成分分析
- R语言多元分析系列之一:主成分分析
- R语言之主成分分析-PCA 贡献率
- R语言多元统计分析初探
- 数学建模|机器学习|主成分分析原理(PCA)
- 数学建模|主成分分析原理(PCA)
- 主成分分析及R语言实现
- R语言案例分析:多元数据的基本统计分析
- R中进行PCA主成分分析
- 多元统计分析上机题之R语言实现(因子分析)
- R语言手动计算主成分分析(PCA)及其在R函数的实现
- mac与远程服务器的问题
- 动画---box-shadow
- 卷积神经网络
- 从指定网络地址获取已知文件并保存到指定位置-指定文件名字和类型
- select、poll、epoll之间的区别总结[整理]
- 多元统计分析及R语言建模-第8章 主成分分析(PCA)
- 第十六周 项目1.1 直接插入排序
- UVA 101 木块
- Bonfire: DNA Pairing
- Json和jsonp
- openwrt-给kernel打patch
- 通过easy_insall安装模块
- JS判断客户端是否是iOS或者Android
- 第十三周项目5-拓扑排序算法的验证