主成分分析

简介: 主成分分析(Principal Component Analysis,PCA),是考察多个变量间相关性的一种多元统计方法,基本思想[1]就是在保留原始变量尽可能多的信息的前提下达到降维的目的,从而简化问题的复杂性并抓住问题的主要矛盾。最后筛选出的几个替代原始数据的变量被称为主成分,它们是原始变量的线性组合

6LFAFPEFG5M6~HBPI8L9$5Y.png


1 主成分分析 简介


主成分分析(Principal Component Analysis,PCA),是考察多个变量间相关性的一种多元统计方法,基本思想[1]就是在保留原始变量尽可能多的信息的前提下达到降维的目的,从而简化问题的复杂性并抓住问题的主要矛盾。最后筛选出的几个替代原始数据的变量被称为主成分,它们是原始变量的线性组合,关系图如下:@A{4~3WYB@@JSZ7N(NH6_}4.png


2 主成分分析 步骤


  • 构建原始数据矩阵;
  • 消除量纲——数据标准化;
  • 建立协方差矩阵(或相关系数矩阵);
  • 求出特征值、特征向量;
  • 根据方差、累计方差贡献率确定主成分个数;
  • 求出综合得分,给出现实意义的解释。


3 R语言实战


依据《R语言实战》提供的实例,下面用psych程序包中的USJudgeRatings数据集进行主成分分析,这个数据集描述的是律师对美国高等法院法官的评分情况,部分数据集及各变量含义如下所示:image.gif

>install.packages("psych")
>library(psych)
>USJudgeRatingsz

{`G`A4IAUVM@32XM~GSJ0QW.png


3.1 数据预处理

数据集中的CONT变量表示的是律师与法官的联系次数,由于该变量对评分情况没有影响,考虑在进行主成分分析时将其剔除,用cor函数检查变量间的相关性。(@}BM9P166TIV2$N9DHMT1M.png

从相关系数矩阵中可以发现,有几个变量之间的相关性还是非常强的,表明这份数据适合做主成分分析。


3.2 构建主成分模型

R中构建主成分模型的常用函数有pricipal()princomp(),两者不同之处在于: pricipal() 只返回最佳nfactor的子集,而princomp() 将会得到和变量个数一样多的主成分。

  • 使用psych包中的pricipal()
>pc<-principal(USJudgeRatings,nfactors=1)
>pc

image.gifimage.gif

  • 使用基础函数pricomp()
>pc<-princomp(USJudgeRatings,cor=T)
>summary(pc)

运行结果如下所示:39%8{X$F`%73MR3X1IBGN]A.png


3.3 确定主成分个数

原则[2]

  • 根据先验经验和理论知识判断主成分个数
  • 根据解释变量的累积方差贡献率来判断主成分个数
  • 通过检查变量间的相关系数矩阵来判断保留的主成分个数

碎石图能够直观地展现要选择的主成分数目,图中急剧的中断表明需要提取的主成分的适当数量,从图中可知最佳的主成分个数为1。

>fa.parallel(cor(USJudgeRatings),fa="pc",n.iter = 100,show.legend = F,main = "Scree plot with parallel analysis")

9A~5]LWKEL@(@O5@KLU9LCV.png


3.4 提取主成分

pricipal() 和碎石图的运行结果可知,第一主成分(PC1)与每一个变量都高度相关,也就是说,PC1是一个可用来进行一般性评价的维度。

运行结果中的h2指主成分对每个变量的方差解释度,u2指方差无法被主成分解释的比例。例如,法官正直度(INTG)84%的方差可以用PC1来解释,15.65%的方差不能由PC1来解释。SS loadings行包含了与主成分相关联的特征值。Proportion Var行表示的是每个主成分对整个数据集的解释程度。


3.5 主成分旋转

旋转后得到的主成分能更容易的解释原始变量,常用的旋转方法有:

  • 正交旋转:旋转后的主成分不相关
  • 斜交旋转:旋转后的主成分相关

本例中采用正交旋转中的方差极大旋转进行分析:

>rc<-principal(USJudgeRatings,nfactors = 1,rotate="varimax")
> rc

旋转后的结果如下:Y%_L$LF}{{SG28X_VEI79[R.png


3.6 计算主成分得分

  • 从原始数据中获取主成分得分
pc<-principal(USJudgeRatings,nfactors = 1,scores=T )
pc$scores

image.gif

  • 当主成分分析基于相关系数矩阵时,无法从原始数据获得主成分得分,但是可以计算主成分得分的系数。
rc<-principal(cor(USJudgeRatings),nfactors = 1)

GK8[RX1DARVEN}KCD[C2LXC.png


4 模型评价


从运行结果可知,PC1的累积方差贡献率为0.92,说明第一主成分可以解释原始变量92%的方差变化,模型拟合效果良好。

目录
相关文章
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】回归任务、线性回归评价指标讲解及温度与花朵数线性回归实战(图文解释 附源码)
【Python机器学习】回归任务、线性回归评价指标讲解及温度与花朵数线性回归实战(图文解释 附源码)
556 0
|
8月前
|
Oracle Java 关系型数据库
Java 17 采用率增长 430%
1995年,Sun Microsystems发布Java语言,推动现代多媒体应用发展。凭借“一次编写,到处运行”的优势,Java迅速成为主流编程语言。New Relic最新发布的《2023年Java生态系统现状》报告显示,Java 11以超56%的使用率稳居榜首,Java 8仍占近33%。尽管Oracle每半年更新一次Java版本,但开发者更倾向使用长期支持(LTS)版本。Java 17的采用率在过去一年增长430%,潜力巨大。此外,Amazon已成为最受欢迎的JDK供应商,市场份额达31%。容器化应用也已成为主流,70%的Java应用来自容器。
|
6月前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
1202 10
|
8月前
|
数据采集 JavaScript 物联网
智能工厂四大核心系统:ERP/PLM/MES/WMS规划架构图详解
企业数字化转型需要构建ERP、PLM、MES、WMS等核心系统协同运作的完整体系。ERP整合企业资源管理,PLM管理产品全生命周期数据,MES实现车间生产执行管控,WMS优化仓储物流管理。各系统通过数据流紧密衔接:PLM为ERP提供BOM数据,ERP为MES下达生产计划,MES与WMS协同物料调度。
|
机器学习/深度学习 存储 人工智能
2025年阿里云GPU服务器的租赁价格与选型指南
随着AI、深度学习等领域的发展,GPU服务器成为企业及科研机构的核心算力选择。阿里云提供多种GPU实例类型(如NVIDIA V100、A100等),涵盖计算型、共享型和弹性裸金属等,满足不同场景需求。本文详解2025年阿里云GPU服务器的核心配置、价格策略及适用场景,帮助用户优化选型与成本控制,实现高效智能计算。
|
存储 传感器 监控
智慧养殖的智慧网络:构建高效、可扩展的养殖生态
智慧养殖,在国家政策的大力扶持和农业数字化浪潮的推动下,正迅速发展。然而,许多人对它的价值仍持怀疑态度:认为智慧养殖只是昂贵的技术堆砌,短期内看不到经济回报,甚至怀疑其实用性。本文将挑战这些观点,展示智慧养殖如何通过技术整合提高效率、降低成本,并探讨如何克服网络稳定性和速度等技术障碍,引领养殖企业走向高效、经济的现代化转型。
888 22
|
SQL 安全 关系型数据库
关系型数据库REVOKE语句
`REVOKE` 语句用于在关系型数据库中撤销用户或角色的权限,以增强安全性。基本语法包括指定权限类型(如 `SELECT`)、对象类型和名称,以及目标用户或角色。可选地,可以使用 `GRANT OPTION FOR` 撤销授予权限的能力,以及 `CASCADE` 或 `RESTRICT` 处理依赖关系。示例:`REVOKE SELECT ON TABLE employees FROM john;` 这句话撤销用户 `john` 对 `employees` 表的 `SELECT` 权限。各数据库系统可能有不同的语法细节,建议参照具体系统的官方文档。
466 3
|
编解码 监控 网络协议
GB/T28181规范和JT1078交通部标差异
Android平台GB28181接入SDK(SmartGBD),可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育、远程办公、明厨亮灶、智慧交通、智慧工地、雪亮工程、平安乡村、生产运输、车载终端等场景,可能是业内为数不多功能齐全性能优异的商业级水准GB28181接入SDK
643 0
systemback 系统备份与恢复
systemback 系统备份与恢复
328 0
|
数据采集 人工智能 数据挖掘
【AI大模型应用开发】【附】常用Prompt记录 - 论文全文写作
【AI大模型应用开发】【附】常用Prompt记录 - 论文全文写作
2041 0
【AI大模型应用开发】【附】常用Prompt记录 - 论文全文写作

热门文章

最新文章