R中的主成分和因子分析

article/2025/9/21 18:26:36

2019独角兽企业重金招聘Python工程师标准>>> hot3.png


  • 主成分分析(PCA)
a、一种降维技巧,将大量相关变量转化为一组很少的相关变量,这些 无关变量称为主成分
b、用一组较少的不相关变量代替大量相关变量,同时尽可能保留初始变量的信息,,推导所得到的变量称为主成分,它们是观测变量的线性组合,如第一主成分为:
07084939_r6Ui.png
1、它是 k 个观测变量的加权组合,对初始变量集的方差解释性最大
2、第二主成分也是初始变量的线性组合,对方差的解释性排第二,同时与第一主成分正交(不相关),后面每一个主成分都最大化它对方差的解释程度,同时与之所有的主成分都正交


  • 探索性因子分析(EFA)
a、一系列用来发现一组变量的潜在结构方法。他通过寻找一组更小,潜在的或隐藏的结构来解释已观测到的、显式的变量间的关系
b、EFA的目标是通过发掘隐藏在数据下的一组较少的,更为基本的无法观测的变量,来解释一组可观测变量的相关性。这些虚拟的、无法观测的变量称做因子(每个因子被认可解释多个观测变量间共有方差,因此准确来说,他们应该成为公共因子),模型的形式为
07084939_2qx3.png
1、Xi是第 i 个可观测变量(i=1...k ),Fj 是公共因子(j=1...p),并且 p < k。Ui是 Xi变量独有的部分(无法被公共因子解释)
     2、ai可认为是每个因子对复合而成的可观测变量的贡献值


  • 两者的区别
主成分(PC1和PC2)是观测变量(X1和X5)的线性组合, 形成线性组合的权重都是通过最大化各主成分解释的方差来获得的,同时还要保证各主成分间不相关;
相反,因子(F1和F2)被当作观测变量的结构基础或“原因”,而不是线性组合。代表观测变量方差的误差(e1到e5)无法用因子来解释。图中的表示因子和误差无法直接观测,但可以通过变量间的相互关系推导得到,本例中,因子间带曲线的箭头表示它们之间有相关性。在EFA模型中,相关因子是常见的,但并不是必需的
07084941_KN9g.png
主成分分析和因子分析模型

注:
1、两种方法都需要大样本来支持稳定的结果,目前经验是:因子分析需要5-10倍于变量数的样本数
2、最近研究表明:所需样本量依赖于因子数目、与各因子相关联的变量数,以及因子对变量方差的解释程度

  • psych包
R的基础安装包提供了 PCA 和 EFA 的函数,分别为 princomp() 和 factanal() ,但 psych包中有更好的函数
psych包中有用的因子分析函数
函数描述
principal()含多种可选的方差旋转方法的主成分分析
fa()可用主轴、最小残差、加权最小平方或最大似然法估计的因子分析
fa.parallel()含平行分析的碎石图
factor.plot()绘制因子分析或主成分分析的结果
fa.diagram()绘制因子分析或主成分的载荷矩阵
scree()因子分析和主成分分析的碎石图

  • PCA/EFA步骤
a、数据预处理
PCA 和 EFA 都根据观测变量间的相关性来推导结果,用户可输入原始数据矩阵或相关矩阵到 principal() 和 fa() 函数中。若输入初始数据,相关系数矩阵将会被动自动计算,在计算前请确保数据中没有缺失值
b、选择因子模型
判断是 PCA(数据降维)还是 EFA(发现潜在结构)更符合你的研究目标。如果选择 EFA 方法,你还需要选择一个估计因子模型方法(如最大似然估计)
c、判断要选择的主成分/因子数目
d、选择主成分/因子
e、旋转主成分/因子
f、解释结果
g、计算主成分或因子得分

R语言主成分和因子分析篇 - mousever的专栏 - CSDN博客 

  • 主成分/探索因子分析的分析步骤图
07084951_Dhrw.png

转载于:https://my.oschina.net/u/1785519/blog/1563563


http://chatgpt.dhexx.cn/article/gt6cwvNV.shtml

相关文章

时间序列预测法

转 时间序列预测法 一种历史资料延伸预测&#xff0c;也称历史引伸预测法。是以时间数列所能反映的社会经济现象的发展过程和规律性&#xff0c;进行引伸外推&#xff0c;预测其发展趋势的方法。 时间序列&#xff0c;也叫时间数列、历史复数或动态数列。它是将某种统计指标的…

甲基化系列 3. 甲基化芯片数据分析完整版(ChAMP)

点击关注&#xff0c;桓峰基因 桓峰基因 生物信息分析&#xff0c;SCI文章撰写及生物信息基础知识学习&#xff1a;R语言学习&#xff0c;perl基础编程&#xff0c;linux系统命令&#xff0c;Python遇见更好的你 104篇原创内容 公众号 桓峰基因的教程不但教您怎么使用&…

R 语言之数据分析高级方法「主成分分析」和「因子分析」

‍‍‍‍‍‍‍‍‍ 作者&#xff1a;姚某某 博客&#xff1a;https://zhuanlan.zhihu.com/mydata 往期回顾&#xff1a; R语言之数据分析高级方法「时间序列」 R语言之高级数据分析「聚类分析」 本节主要总结「数据分析」的「主成分分析」和「因子分析」的思想。 通过学习《 R…

转:Android 中Makefile的详细分析

http://blog.chinaunix.net/uid-25838286-id-3204120.html 随着移动互联网的发展&#xff0c;移动开发也越来越吃香了&#xff0c;目前最火的莫过于android&#xff0c;android是什么就不用说了&#xff0c;android自从开源以来&#xff0c;就受到很多人的追捧。当然&#xff0…

Python数据分析理论与实战完整版本

Python数据分析基础 一、Python数据分析初探二、数据获取2.1 数据获取的手段2.2 数据仓库2.3 检测与抓取2.4 填写、埋点、日志2.5 计算2.6 数据学习网站 三、单因子探索分析与可视化3.1 理论铺垫3.2 数据分类3.3 单属性分析3.4 单因子分析实战3.5 可视化小节 四、多因子探索分析…

223.主成分分析PCA

主成分分析 PCA 本节作者&#xff1a;刘华&#xff0c;中国科学技术大学 版本1.0.3&#xff0c;更新日期&#xff1a;2020年6月18日 什么是PCA(Principal Component Analysis) 相关背景 在许多领域的研究与应用中&#xff0c;通常需要对含有多个变量的数据进行观测&#xff0c;…

探索性数据分析EDA(二)—— 缺失值处理

接上一篇 《探索性数据分析&#xff08;1&#xff09;—— 变量识别和分析》&#xff0c; 这篇笔记主要内容为缺失值处理方法介绍&#xff0c;以及相关python工具包sklearn.impute的使用介绍。 目录 1. 为什么需要处理缺失值2. 为什么数据有缺失值a) 完全随机缺失&#xff08;…

数据分析汇总

一、本文说明&#xff1a; 本文为自己学习的笔记&#xff0c;用来记录数分的相关知识&#xff0c;方便记录查阅。 二、指标体系建设与数据分析&#xff1a; 1、指标体系概念&#xff1a; ①&#xff1a;什么是指标体系&#xff1a; 企业指标的集合 ②&#xff1a;好…

5whys分析法在美团工程师中的实践

2019独角兽企业重金招聘Python工程师标准>>> 前言 网站的质量和稳定性对于用户和公司来说至关重要&#xff0c;但是在网站的快速发展过程中&#xff0c;由于各种原因导致事故不可避免的发生&#xff0c;这些大大小小的事故对公司难免会造成一些负面的影响&#xff0…

单因素方差分析的计算过程详解

统计分析之单因素方差分析计算过程详解 Excel方差分析 用Excel计算方差分析&#xff0c;三种方法&#xff1a; 一步步手推法 用Excel的数据分析→单因素方差分析自动生成 在1的基础上通过SUMX2MY2优化法 Excel版操作步骤可参见 Excel单因素方差分析操作详解 P…

哈佛大学——差异表达分析(九)DESeq2步骤描述

文章目录 学习目标DESeq2差异基因表达分析流程第一步&#xff1a;估计大小因子第二步&#xff1a;估计基因离散&#xff08;gene-wise dispersion&#xff09;第三步&#xff1a;拟合曲线到基因的分散估计第四步:将基因离散估计值向曲线预测值收缩MOV10 DE分析:探讨离散估计和评…

数学建模之层次分析法(AHP)

层次分析法&#xff08;Analytic Hierarchy Process&#xff09; AHP是对一些较为复杂的&#xff0c;较为模糊的问题作出决策的简易方法&#xff0c;它特别适用于那些难以完全定量分析的问题。由美国运筹学家T.L.Saaty教授于上世纪70年代初期提出。 目录 层次分析法&#xff0…

时序分析-季节因素

目录 1时序分析的基础 1.1 简介 1.2 分类 2 分析套路 3 主流时序分析模型 3.1移动平均 3.2 指数平滑法 3.3 组合模型 3.4 ARIMA 4 研究细分领域 4.1 异常值检测 4.2 季节序列分析 4.1 同期平均法 4.1.1 简单季节指数法 4.1.2 趋势季节指数法 4.2 长期趋势剔除法…

html5播放器的示例代码

本次的分享是一个基于HTML5标签实现的一个自定义视频播放器。其中实现了播放暂停、进度拖拽、音量控制及全屏等功能。 效果预览 核心思路 我相信一定会有些没有接触过制作自定义播放器的童鞋对于 标签的认识会停留在此。 <video controls"controls" autoplay"…

HTML5音乐播放器

明月浩空-HTML5浮窗音乐播放器研发于2014年&#xff0c;并持续更新至今 是基于QQ音乐、酷狗音乐、网易云音乐等歌曲ID全自动解析的网页音乐播放器 依靠服务器强大的接口功能&#xff0c;只需要一个ID既可获取全部信息 同时播放器主体会跟随专辑图片主色值自动变色&#xff0c;歌…

h5的开源播放器组件

哈喽&#xff0c;大家好&#xff0c;今天我要给大家推荐一个非常棒的看片神器&#xff0c;那就是【moovie】.它是一款专注于电影的HTML5 播放器。 先展示一下效果&#xff0c;测试了一下&#xff0c;支持倍速播放、快捷键操作、字幕偏移即时调整&#xff0c;还有一些参数展示&a…

H5播放器使用方法。

1.使用webkit-playsinline playsinline 在iOS微信webview中视频不会弹出来&#xff0c;直接播放。 <video id"test_video" class"test_video" webkit-playsinline playsinlinesrc"http://res.imtt.qq.com/qqbrowser/js/advideo.mp4"control…

H5,Audio音乐播放器(移动版)

有些时候&#xff0c;总是感觉自己进步的没有以前快了。于是就怀疑自己是不是也被时间磨灭了&#xff0c;这可真是一件不幸的事儿。可能是自己会的东西太少了&#xff0c;总是有种莫名的危机感。 前一段时间&#xff0c;想写一个移动版音乐播放器&#xff0c;于是就开始利用下班…

H5 video 播放器demo

H5 video 播放器demo 前言 最近在做一个wap端的项目&#xff0c;需要视频播放功能。大家也知道wap对flash支持很差&#xff0c;所以优先考虑使用h5播放器video,在这里我介绍用video实现视频播放方法。之后在介绍几个插件和第三方视频实现方法。 H5 video 因为video样式是原…

SkeyeWebPlayer.js H5播放器开发之播放器video动态创建(三)

SkeyeWebPlayer.js H5播放器是由成都视开信息科技开发和维护的一个完善的RTSP、FLV、HLS等多种流媒体协议播放&#xff0c;视频编码支持H.264&#xff0c;H.265&#xff0c;音频支持AAC&#xff0c;支持TCP/UDP协议&#xff0c;是一套极佳的且适合用于综合安防视频云服务播放组…