本文摘自:http://www.cnblogs.com/longzhongren/p/4300593.html 以表感谢。感谢

综述: 主成分分析 因子分析 典型相关分析,三种方法的共同点主要是用来对数据降维处理。经过降维去除了噪声。

#主成分分析 是将多指标化为少数几个综合指标的一种统计分析方法。

是一种通过降维技术把多个变量化成少数几个主成分的方法,这些主成分能够反映原始变量的大部分信息,表示为原始变量的线性组合。

作用:1,解决自变量之间的多重共线性; 2,减少变量个数, 3,确保这些变量是相互独立的

应用场景:筛选回归变量 --> 回归分析

计算步骤:

假设样本观测数据矩阵为: X=(x1,x2,x3,...xp),xi为n个样本在第i个属性上的观测值,是一个列向量

步1. 对原始数据标准化处理(0均值化处理),即每一维的数据都减去该维的均值。变换之后每一维的均值都变成了0。

步2. 计算样本相关系数矩阵。

步3. 计算协方差矩阵的特征值和特征向量。对称方阵可求特征值、特征向量

步4. 选择重要的主成分,即大的特征值对应的特征向量,得到新的数据集。并写出主成分表达式。

步5. 计算主成分得分。

步6. 根据主成分得分的数据,做进一步的统计分析。

实例演示:

#原始数据:

dat

y=c(2.4,0.7,2.9,2.2,3,2.7,1.6,1.1,1.6,0.9)); dat

#步1,数据标准化

dat1

#步2,求解协方差矩阵

covdat

#步3,求解特征值、特征向量

eigen_dat

#步4,求解主成分

dat1 %*% eigen_dat$vectors

总和上述代码:

pca

dat

covdat

eigendat

eigenValue

eigenVector

order_value

values

valueSum

cumVar

order_vector

principal

return(list(PCA=principal, cumVar=cumVar))

}

pca(data=dat1)

R 中函数总结:

#R中作为主成分分析最主要的函数是 princomp() 函数

#princomp() 主成分分析   可以从相关阵或者从协方差阵做主成分分析

#summary() 提取主成分信息

#loadings() 显示主成分分析或因子分析中载荷的内容

#predict() 预测主成分的值

#screeplot() 画出主成分的碎石图

#biplot() 画出数据关于主成分的散点图和原坐标在主成分下的方向

案例:

#现有30名中学生身高、体重、胸围、坐高数据,对身体的四项指标数据做主成分分析。

#1.载入原始数据

test

X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151, 139,

140, 161, 158, 140, 137, 152, 149, 145, 160, 156,

151, 147, 157, 147, 157, 151, 144, 141, 139, 148),

X2=c(41, 34, 49, 36, 45, 31, 43, 43, 42, 31,

29, 47, 49, 33, 31, 35, 47, 35, 47, 44,

42, 38, 39, 30, 48, 36, 36, 30, 32, 38),

X3=c(72, 71, 77, 67, 80, 66, 76, 77, 77, 68,

64, 78, 78, 67, 66, 73, 82, 70, 74, 78,

73, 73, 68, 65, 80, 74, 68, 67, 68, 70),

X4=c(78, 76, 86, 79, 86, 76, 83, 79, 80, 74,

74, 84, 83, 77, 73, 79, 79, 77, 87, 85,

82, 78, 80, 75, 88, 80, 76, 76, 73, 78)

)

#2.作主成分分析并显示分析结果

test.pr

若 cor=FALSE 表示用样本的协方差阵S做主成分分析

summary(test.pr,loadings=TRUE)  #loading是逻辑变量,当 loading=TRUE 时表示显示 loading 的内容

#loadings 的输出结果为载荷是主成分对应于原始变量的系数,即Q矩阵

分析结果含义

#----Standard deviation 标准差   其平方为方差=特征值

#----Proportion of Variance  方差贡献率

#----Cumulative Proportion  方差累计贡献率

#由结果显示 前两个主成分的累计贡献率已经达到96% 可以舍去另外两个主成分 达到降维的目的

因此可以得到函数表达式 Z1=-0.497X'1-0.515X'2-0.481X'3-0.507X'4

Z2=  0.543X'1-0.210X'2-0.725X'3-0.368X'4

#4.画主成分的碎石图并预测

screeplot(test.pr,type="lines")

p

biplot(test.pr)  #画出数据关于主成分的散点图和原坐标在主成分下的方向

由碎石图可以看出 第二个主成分之后 图线变化趋于平稳 因此可以选择前两个主成分做分析。

扩展说明:

1,它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。通常表示为原始变量的线性组合。

2,把多指标转化为少数几个综合指标,降低观测空间的维数,以获取最主要的信息。减少数据集的维数,同时保持数据集的对方差贡献最大的特征。

3,由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量 x 做回归分析。

4,用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量,获得选择最佳变量子集合的效果。

主成分分析碎石图_R: 主成分分析 ~ PCA(Principal Component Analysis)相关推荐

  1. PCA(principal component analysis)主成分分析降维和KPCA(kernel principal component analysis​​​​​​​)核

    PCA(principal component analysis)主成分分析降维和KPCA(kernel principal component analysis)核主成分分析降维方法详解及实战 PC ...

  2. pca主成分分析结果解释_SKLEARN中的PCA(Principal Component Analysis)主成分分析法

    PCA(Principal Component Analysis)主成分分析法是机器学习中非常重要的方法,主要作用有降维和可视化.PCA的过程除了背后深刻的数学意义外,也有深刻的思路和方法. 1. 准 ...

  3. 主成分分析PCA(principal component analysis)原理

    PCA在很多方面均有应用,但是之前没有仔细探究过,最近看了一些博客和论文,做一下总结. 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将 ...

  4. JAVA实现PCA主成分分析_主成分分析PCA(principal component analysis)原理

    PCA在很多方面均有应用,但是之前没有仔细探究过,最近看了一些博客和论文,做一下总结. 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将 ...

  5. 【机器学习sklearn】主成分分析PCA(Principal Component Analysis)

    主成分分析方法PCA 前言 一.PCA是什么? 二.代码实践 使用MNIST数据集实现sklearn库里的主成分分析方法 不同主成分个数对应的可解释方差分析(Explained Variance) 总 ...

  6. 【碎片知识(9)】PCA (Principal Component Analysis) [主成分分析]

    离开很久啦,从Ph.D.套磁开始到全部settle down花费了太久的时间,在上周也终于把研究方向定下来了,终于手头的事告一段落了.未来是跨度三到四年的research生涯,无数师兄师姐告诫我,读博 ...

  7. 机器学习降维算法一:PCA (Principal Component Analysis)

    引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达 ...

  8. 主成分分析碎石图_主成分分析(PCA)基本原理及分析实例

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.例如,使用PCA可将30个相关(很可能冗余)的环境变量转化为5个无关的成分变量,并且尽可能 ...

  9. 如何利用PCA(Principal component analysis)来简化数据

    本博文的的内容为以下: 降维技术 主成分分析(PCA) 对半导体数据进行降维处理 降维(dimensionality reduction)的目标就是对输入的数目进行消减,由此剔除数据中的噪声并提高机器 ...

最新文章

  1. 移动方向_1908号台风“范斯高”继续向西北方向移动
  2. MongoDB 条件操作符
  3. iOS获取最上层控制器
  4. INNODB在裸设备上的性能简单测试
  5. echarts 仪表盘 文字位置_企业数据仪表盘设计,该怎样设计自己的BI产品?
  6. 基于XML及注解配置方式实现AOP及aspectJ表达式
  7. Cmake:linux中cmake添加动态库
  8. 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
  9. Mysql基础语法DDL、DML、DQL
  10. C++合并两个有序数组成一个有序数组时间复杂度最小的解法
  11. VK Cup 2012 Round 1 D. Distance in Tree (树形dp)
  12. 大学计算机基础实训指导第四版,大学计算机基础:学习指导与实训篇(第4版)...
  13. php extjs 教程,Exjs 入门篇_extjs
  14. mac电脑装java环境变量_Mac系统下安装jdk并配置环境变量的方法
  15. java 闰年闰月_闰年闰月查询表
  16. 关于MVVM的面试问题
  17. 分门别类刷leetcode——链表
  18. 聊聊我办上海居住证的经历
  19. 漂亮的非主流图片(38p)
  20. 关于DANet注意力机制

热门文章

  1. 全网最全抖音运营攻略(菜鸟小白,建议收藏)
  2. 在.jupyter文件夹中找不到jupyter_notebook_config.py文件怎么办
  3. Linux常用命令(超全面)
  4. 求幂级数的收敛域及和函数手写笔记
  5. Echarts动态数据折线图
  6. 第6章 引导启动程序boot
  7. 关于AI,你最该了解但从没想过的四个问题
  8. java画二维坐标_在图形界面中绘制二维的坐标系统
  9. html 显示天气预报,前端HTML页面获取实时天气预报并展示
  10. 讯飞董事长刘庆峰:人工智能是数字经济发展最核心的引擎