主成分分析和因子分析区别与联系

主成分分析可以简单的总结成一句话:数据的压缩和解释。常被用来寻找判断某种事物或现象的综合指标,并且给综合指标所包含的信息以适当的解释。在实际的应用过程中,主成分分析常被用作达到目的的中间手段,而非完全的一种分析方法。

 


可以通过矩阵变换知道原始数据能够浓缩成几个主成分,以及每个主成分与原来变量之间线性组合关系式。但是细心的朋友会发现,每个原始变量在主成分中都占有一定的分量,这些分量(载荷)之间的大小分布没有清晰的分界线,这就造成无法明确表述哪个主成分代表哪些原始变量,也就是说提取出来的主成分无法清晰的解释其代表的含义。

 

 

 

因子分析

鉴于主成分分析现实含义的解释缺陷,统计学斯皮尔曼又对主成分分析进行扩展。因子分析在提取公因子时,不仅注意变量之间是否相关,而且考虑相关关系的强弱,使得提取出来的公因子不仅起到降维的作用,而且能够被很好的解释。因子分析与主成分分析是包含与扩展的关系。

其次是扩展关系。因子分析解决主成分分析解释障碍的方法是通过因子轴旋转。因子轴旋转可以使原始变量在公因子(主成分)上的载荷重新分布,从而使原始变量在公因子上的载荷两级分化,这样公因子(主成分)就能够用哪些载荷大的原始变量来解释。以上过程就解决了主成分分析的现实含义解释障碍。

 

 

1.原理不同:

主成分分析(Principal components analysis,PCA)基本原理:利用降维(线性变换)的思想,在损失很少信息的前提下把多个指标转化为几个不相关的综合指标(主成分),即每个主成分都是原始变量的线性组合,且各个主成分之间互不相关,使得主成分比原始变量具有某些更优越的性能(主成分必须保留原始变量90%以上的信息),从而达到简化系统结构,抓住问题实质的目的。

因子分析(Factor Analysis,FA)基本原理:利用降维的思想,由研究原始变量相关矩阵内部的依赖关系出发,把一些具有错综复杂关系的变量表示成少数的公共因子和仅对某一个变量有作用的特殊因子线性组合而成。就是要从数据中提取对变量起解释作用的少数公共因子(因子分析是主成分的推广,相对于主成分分析,更倾向于描述原始变量之间的相关关系)。

2.线性表示方向不同:

因子分析是把变量表示成各公因子的线性组合;主成分分析中则是把主成分表示成各变量的线性组合。

 

3.假设条件不同:

主成分分析:不需要有假设(assumptions);

因子分析:需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specificfactor)之间也不相关,共同因子和特殊因子之间也不相关。 

4.求解方法不同:

(1)求解主成分的方法:

从协方差阵出发(协方差阵已知),从相关阵出发(相关阵R已知),采用的方法只有主成分法。(实际研究中,总体协方差阵与相关阵是未知的,必须通过样本数据来估计);

注意事项:由协方差阵出发与由相关阵出发求解主成分所得结果不一致时,要恰当的选取某一种方法;

一般当变量单位相同或者变量在同一数量等级的情况下,可以直接采用协方差阵进行计算;对于度量单位不同的指标或是取值范围彼此差异非常大的指标,应考虑将数据标准化,再由协方差阵求主成分。

实际应用中应该尽可能的避免标准化,因为在标准化的过程中会抹杀一部分原本刻画变量之间离散程度差异的信息。此外,最理想的情况是主成分分析前的变量之间相关性高,且变量之间不存在多重共线性问题(会出现最小特征根接近0的情况);

 

2)求解因子载荷的方法:

主成分法,主轴因子法,极大似然法,最小二乘法,a因子提取法。

5.主成分和因子的变化不同:

主成分分析:当给定的协方差矩阵或者相关矩阵的特征值唯一时,主成分一般是固定的独特的;

因子分析:因子不是固定的,可以旋转得到不同的因子。

6.因子数量与主成分的数量

主成分分析:主成分的数量是一定的,一般有几个变量就有几个主成分(只是主成分所解释的信息量不等),实际应用时会根据碎石图提取前几个主要的主成分。

因子分析:因子个数需要分析者指定(SPSS和SAS根据一定的条件自动设定,只要是特征值大于1的因子主可进入分析),指定的因子数量不同而结果也不同;

 

 

7.解释重点不同:

主成分分析:重点在于解释个变量的总方差;因子分析:则把重点放在解释各变量之间的协方差。 

8.算法上的不同:

主成分分析:协方差矩阵的对角元素是变量的方差;

因子分析:所采用的协方差矩阵的对角元素不在是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分)。

9.优点不同:

(1)因子分析:

对于因子分析,可以使用旋转技术,使得因子更好的得到解释,因此在解释主成分方面因子分析更占优势;其次因子分析不是对原有变量的取舍,而是根据原始变量的信息进行重新组合,找出影响变量的共同因子,化简数据;

(2)主成分分析:

第一:如果仅仅想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析,不过一般情况下也可以使用因子分析;

第二:通过计算综合主成分函数得分,对客观经济现象进行科学评价;

第三:它在应用上侧重于信息贡献影响力综合评价;

第四:应用范围广,主成分分析不要求数据来自正态分布总体,其技术来源是矩阵运算的技术以及矩阵对角化和矩阵的谱分解技术,因而凡是涉及多维度问题,都可以应用主成分降维。

1)主成分分析:

可以用于系统运营状态做出评估,一般是将多个指标综合成一个变量,即将多维问题降维至一维,这样才能方便排序评估;此外还可以应用于经济效益、经济发展水平、经济发展竞争力、生活水平、生活质量的评价研究上;主成分还可以用于和回归分析相结合,进行主成分回归分析,甚至可以利用主成分分析进行挑选变量,选择少数变量再进行进一步的研究。一般情况下主成分用于探索性分析,很少单独使用,用主成分来分析数据,可以让我们对数据有一个大致的了解。

几个常用组合:

主成分分析+判别分析,适用于变量多而记录数不多的情况;

主成分分析+多元回归分析,主成分分析可以帮助判断是否存在共线性,并用于处理共线性问题;

主成分分析+聚类分析,不过这种组合因子分析可以更好的发挥优势;

2)因子分析:

首先,因子分析+多元回归分析,可以利用因子分析解决共线性问题;其次,可以利用因子分析,寻找变量之间的潜在结构;再次,因子分析+聚类分析,可以通过因子分析寻找聚类变量,从而简化聚类变量;此外,因子分析还可以用于内在结构证实。

转载于:https://www.cnblogs.com/lantingg/p/9293880.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

luogu P1519 穿越栅栏 Overfencing

题目描述 描述 农夫John在外面的田野上搭建了一个巨大的用栅栏围成的迷宫。幸运的是,他在迷宫的边界上留出了两段栅栏作为迷宫的出口。更幸运的是,他所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫的路。给定迷…

css实现简单的告警提示动画效果

需求&#xff1a;css实现简单的告警提示动画效果&#xff0c;当接收到实时信息的时候&#xff0c;页面弹出告警信息的动画效果<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>css实现告警提示动画</…

程序员的八个级别

2009年4月6日 陈皓 在面试时&#xff0c;你可能会被经常问到“在未来5年&#xff0c;你想干什么&#xff1f;”&#xff0c;这可能是一个比较难回答的问题。在中国&#xff0c;答案一般可能会是Team leader&#xff0c;Manager&#xff0c;或是Architect&#xff0c;Specialist…

一个具有Spring Boot,Spring Security和Stormpath的简单Web应用程序-15分钟

建筑物身份管理&#xff0c;包括身份验证和授权&#xff1f; 尝试Stormpath&#xff01; 我们的REST API和强大的Java SDK支持可以消除您的安全风险&#xff0c;并且可以在几分钟内实现。 注册 &#xff0c;再也不会建立auth了&#xff01; 更新 &#xff1a;我们最近发布了对…

javafx2_JavaFX 2 GameTutorial第5部分

javafx2介绍 这是与JavaFX 2 Game Tutorial相关的六部分系列的第五部分。 我知道自从我写关于游戏的博客以来已经有很长时间了&#xff0c;但希望您仍然与我在一起。 如果您想回顾一下&#xff0c;请阅读第1部分 &#xff0c; 第2 部分 &#xff0c; 第3 部分和第4 部分 &#…

史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)

转载请标明出处&#xff1a; 原文首发于&#xff1a;https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f2-ribbon/ 本文出自方志朋的博客 在上一篇文章&#xff0c;讲了服务的注册和发现。在微服务架构中&#xff0c;业务都会被拆分成一个独立的服务&#xff0c;服务与服…

忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目

Github和Sourceforge上超过600,000个Java项目中的异常处理概述 Java是使用检查异常的少数语言之一。 它们在编译时强制执行&#xff0c;并且需要某种处理。 但是……实践中会发生什么&#xff1f; 大多数开发人员实际上处理任何事情吗&#xff1f; 以及他们如何做到的&#xf…

使用Boxfuse轻松在云中运行Spring Boot应用程序

几天前&#xff0c;我开始构建一个将使用REST API检索和存储数据的iOS应用。 该REST API将是我也必须构建的服务器应用程序。 由于我熟悉Java和Spring &#xff0c;因此决定使用Spring Boot作为框架。 为了能够在我的iPhone上使用它&#xff0c;如果我可以在服务器而不是我自己…

numpy的使用数组的创建2

随机创建了长度为十的数组 获得十以类的随机整数 快速获取数组2乘3维的数组 生成20个1到10之间的数组 通过reshape 将这些数变成二位数组 shape这个方法可以查看数组中的元素是几行几列的 转载于:https://www.cnblogs.com/chenligeng/p/9315339.html

Tabs vs Spaces:如何在Google,Twitter,Mozilla和Pied Piper上编写Java

流行的Java代码样式中最有趣的亮点是什么&#xff1f; 尽管上面有暗示性的形象&#xff0c;我们也不想发动任何不必要的圣战。 当归结为编码样式时&#xff0c;大多数选择都是相当随意的&#xff0c;并取决于个人喜好。 是的&#xff0c;即使在编辑器之间制表符宽度改变了&…

ES group分组聚合的坑

参考链接&#xff1a;https://blog.csdn.net/u010454030/article/details/71762838 ES group分组聚合的坑 原来知道Elasticsearch在分组聚合时有一些坑但没有细究&#xff0c;今天又看了遍顺便做个笔记和大家分享一下。 我们都知道Elasticsearch是一个分布式的搜索引擎&#xf…

字典树 ZOJ1109 HDU1251 PKU1204 HDU1075

又称单词查找树&#xff0c;Trie树&#xff0c;是一种树形结构&#xff0c;是一种哈希树的变种。典型应用是用于统计&#xff0c;排序和保存大量的字符串&#xff08;但不仅限于字符串&#xff09;&#xff0c;所以经常被搜索引擎系统用于文本词频统计。它的优点是&#xff1a;…

Codeforces Round #498 (Div. 3) F. Xor-Paths

题目链接&#xff1a;F. Xor-Paths 题解&#xff1a;从起点和终点双向搜索在中间相遇时更新答案 1 #include<bits/stdc.h>2 #include<set>3 #include<cstdio>4 #include<iomanip>5 #include<iostream>6 #include<string>7 #include<cst…

创建健壮的微服务架构所涉及的组件

在本文中&#xff0c;我们将简要学习构建强大的微服务应用程序所需的各种软件组件。 在简要了解每个架构组件之前&#xff0c;我们将陈述设计微服务架构时出现的一般查询。 1.微服务架构组件 每当我们创建微服务应用程序时&#xff0c;我们都会想到以下问题 我们将如何注册微…

MATLAB画图命令zz

一、散点图 1&#xff0e;1&#xff0e;命令 plot 功能 线性二维图。在线条多于一条时&#xff0c;若用户没有指定使用颜色&#xff0c;则plot循环使用由当前坐标轴颜色顺序属性&#xff08;current axes ColorOrder property&#xff09;定义的颜色&#xff0c;以区别不同的…

jax-rs jax-ws_JAX-WS入门

jax-rs jax-wsJAX-WS代表XML Web Services的Java API。 它是一种Java编程语言API&#xff0c;用于创建Web服务和使用XML进行通信的客户端。 这篇文章是JAX-WS的快速入门。 先决条件 GlassFish与Eclipse集成在一起 。 创建JAX-WS Web服务 1.在Eclipse中创建一个名为“ com.e…

lingo解题报告内容解释

1.2菜单介绍 1.2.1 File 1 New 新建一个窗口,当你执行这个命令时,会出现如下对话框: 你可以在对话框中选择你想要建立的类型.类型如下: 1)扩展名为(*.lg4) LG4格式是LINGO4.0的版本,是在Windows下最主要的储存文件格式,这种格式支持字体格式,自定义格式以及动态连接, LG4以二进…

OpenShift上的无痛集装箱化JBoss通用贷款处理

我们从头到尾讨论了各个层次&#xff0c;但尚未为您提供除Red Hat之外的任何应用程序开发工具。我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 容器开发套件&#xff08;CDK&#xff09; 。 到目前为止&#xff0c;您所拥有的只是一个…

多任务编程—多进程

什么是多任务编程&#xff1f; 多任务编程其实和计算机系统内核有关&#xff0c;通过程利用多个计算机内核同时执行程序&#xff0c;以此来提升程序执行的效率。 多任务编程其中包括&#xff0c;多进程、多线程和多协程&#xff0c;这三种多任务编程各有各的优点和缺点&#xf…

java锁实现_Java锁实现

java锁实现我们都将第三方库用作开发的正常部分。 通常&#xff0c;我们无法控制其内部。 JDK随附的库是一个典型示例。 这些库中的许多库都使用锁来管理争用。 JDK锁具有两种实现。 一个使用原子CAS样式指令来管理索赔过程。 CAS指令往往是最昂贵的CPU指令类型&#xff0c;并且…