原文链接:http://tecdat.cn/?p=8491

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

主成分分析模型,变量(X1到X5)映射为主成分(PC1,PC2)

  PCA分析的一般步骤如下:

  1. 数据预处理。PCA根据变量间的相关性来推导结果。用户可以输入原始数据矩阵或者相关系数矩阵到principal()和fa()函数中进行计算,在计算前请确保数据中没有缺失值。
  2. 判断要选择的主成分数目(这里不涉及因子分析)。
  3. 选择主成分(这里不涉及旋转)。
  4. 解释结果。
  5. 计算主成分得分。

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

  它是k个观测变量的加权组合,对初始变量集的方差解释性最大。第二主成分也是初始变量的线性组合,对方差的解释性排第二,同时与第一主成分正交(不相关)。后面每一个主成分都最大化它对方差的解释程度,同时与之前所有的主成分都正交.我们都希望能用较少的主成分来解释全部变量。

数据集USJudgeRatings包含了律师对美国高等法院法官的评分。数据框包含43个样本,12个变量:

那么问题来了:是否能够用较少的变量来总结这12个变量评估的信息呢?如果可以,需要多少个?如何对它们进行定义呢?

首先判断主成分的数目,这里使用Cattell碎石检验,表示了特征值与主成数目的关系。一般的原则是:要保留的主成分的个数的特征值要大于1且大于平行分析的特征值。我们直接作图:

评价美国法官评分中要保留的主成分个数。碎石图(直线与x符号)、特征值大于1准则(水平线)和100次模拟的平行分析(虚线)都表明保留一个主成分即可

可以看出只有左上交Component Number为1的特征值是大于1且大于平行分析的特征值的。所以选择一个主成分即可保留数据集的大部分信息。下一步是使用principal()函数挑选出相应的主成分。

  可以看出第一主成分(PC1)基本与每个变量都高度相关(除了CONT),也就是说,它是一个可用来进行一般性评价的维度。   h2栏指成分公因子方差——主成分对每个变量的方差解释度。u2栏指成分唯一性——方差无法被主成分解释的比例(1-h2)。   SS loadings行包含了与主成分相关联的特征值,指的是与特定主成分相关联的标准化后的方差值(本例中,第一主成分的值为10)。最后,Proportion Var行表示的是每个主成分对整个数据集的解释程度。此处可以看到,第一主成分解释了12个变量84%的程度。

PC1$scores

  主成分得分

由于变量CONT与PC1的相关性太低,即PC1无法代表CONT,所以我们增加一个主成分PC2来代表CONT,结合上期的推送,作图如下:

可以看出,PC1(84.4%)和PC2(9.2%)共可以解释这12个变量的93.6的程度,除了CONT外的其他的11个变量与PC1都有较好的相关性,所以PC1与这11个变量基本斜交,而CONT不能被PC1表示,所以基本与PC1正交垂直,而PC2与CONT基本平行,表示其基本可以表示CONT。

拓端tecdat|主成分分析(PCA)原理及R语言实现及分析实例相关推荐

  1. 主成分分析(PCA)原理及R语言实现及分析实例

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.最近我们被客户要求撰写关于主成分分析(PCA)的研究报告,包括一些图形和统计输出.例如,使 ...

  2. 主成分分析计算机如何实现,主成分分析(PCA)原理及R语言实现及分析实例

    评价美国法官评分中要保留的主成分个数.碎石图(直线与x符号).特征值大于1准则(水平线)和100次模拟的平行分析(虚线)都表明保留一个主成分即可 可以看出只有左上交Component Number为1 ...

  3. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  4. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  5. ++代码实现 感知机的原理_决策树ID3原理及R语言python代码实现(西瓜书)

    决策树ID3原理及R语言python代码实现(西瓜书) 摘要: 决策树是机器学习中一种非常常见的分类与回归方法,可以认为是if-else结构的规则.分类决策树是由节点和有向边组成的树形结构,节点表示特 ...

  6. 判别分析原理及R语言实现

    判别分析内容 判别分析做的好能挖掘数据最大的价值.判别分析(discriminat analysis)他要解决的问题是在一些已知研究对象已经用某种方法分成若干类的情况下,确定新的样品属于已知类别中的哪 ...

  7. R语言逻辑回归预测分析付费用户

    原文链接:http://tecdat.cn/?p=967 对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率(点击文末& ...

  8. pvrect r语言 聚类_技术贴 | R语言——肠型分析:介绍、方法

    点击蓝字↑↑↑"微生态",轻松关注不迷路 导读 2011年,肠型(Enterotypes)的概念首次在<自然>杂志上由Arumugam等[1]提出,该研究发现可以将人类 ...

  9. 【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享

    最近我们被客户要求撰写关于Bootstrap的研究报告,包括一些图形和统计输出. 自抽样统计是什么以及为什么使用它? 本文将自抽样方法与传统方法进行比较,并了解它为何有用.并在R语言软件中通过对汽车速 ...

  10. 【问题导向】利用R语言进行情感分析

    目录 前言 问题分析 R语言的安装 情感分析 分类的原理 未来学习计划 引文 前言 R语言是统计领域的一个重要工具,其中有很多独特的包能够实现特定功能,在进行GIS分析时有非常大的用处. 笔者最近在帮 ...

最新文章

  1. 【Python入门】Python 63个内置函数超级详解
  2. 127-条件布尔运算符和取反运算符
  3. mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货
  4. 【转载】Android Animation 简介(官方文档翻译) ---- 翻译的很好!
  5. Redis集群添加节点
  6. 深度剖析:Redis 分布式锁到底安全吗?看完这篇文章彻底懂了!
  7. java合并多个表格为一个_多个DataTable的合并成一个新表
  8. 阅读《构建执法》11-12章
  9. 【贪玩巴斯】一文学会检索三要素:检索字段、检索词、检索算法检索(二)——「一文学会检索三要素:检索字段、检索词、检索算法」 2021-09-18
  10. angular2 全局路由守卫_Angular 路由守卫
  11. python遍历文件夹下的所有图片
  12. Docker_数据卷容器
  13. 如何在游戏中快速集成聊天功能
  14. 产品说接口返回数据需要脱敏 只能安排
  15. 六月计算机应用基础考试是啥,2017年6月计算机应用基础试题及答案
  16. pdf上的文字和图片内容怎么编辑
  17. 骚操作!一行Python代码能干嘛
  18. v-show使用三元运算符
  19. html 预览海康实时视频,海康视频实时预览插件
  20. java毕业设计活动策划网mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. Scott Mitchell 的ASP.NET 2.0数据教程之三十一::使用DataList来一行显示多条记录
  2. auto, auto, const auto以及其它形式的auto变种在for-range loop的选择
  3. 【课本】【No.5】大数定律和中心极限定律的理解
  4. 凸优化第七章统计估计 7.1 参数分布估计
  5. Redis字符串类型的操作
  6. 多线程-Thread.join()的运用
  7. 年入百万的表弟给我上一课:互联网思维该怎么接地气
  8. QA: 自闭合标签要不要手动闭合?
  9. 设计模式之————依赖注入(Dependency Injection)与控制反转(Inversion of Controller)...
  10. 【C++】对象作为函数参数【原创技术】