本文介绍一下主成分分析、因子分析,进而介绍它们之间的区别和联系。
两个方法的推导我也还有一些没有完全理解,因此中间有些理解可能有误,请大家批评指正

主成分分析

主成分分析:将多个有一定相关性的指标进行线性组合,以最少的维度解释原数据中尽可能多的信息为目标进行降维,降维后的各变量间彼此线性无关。
从其介绍中我们可以知道,主成分分析实际上是将相关性很强的变量通过一定的线性组合合并成一个综合变量,达到降维的效果,因此对于主成分分析只对那些变量间相关性强的变量才能有效降维。

  • 推导角度一:
    原来样本有p个变量x1···xp,现首先期望通过一个线性组合使得相应的方差最大,接下来,类似的再通过一个线性组合找到第二个新变量,使其在原样本信息中除被第一维度y1解释掉的部分,剩余部分信息的方差最大,依次类推下去,直到能够解释足够多的原样本空间信息(一般累计方差占80%以上),舍弃剩余的一些信息,以达到降维的效果。
    详细的推导见下面两张图片(划得有点乱了,实在抱歉啦)

    图1


图2

  • 推导角度二:
    对于正交空间的样本点,寻找一个超平面,使得

    • 最近重构性:样本点到这个超平面的距离足够近;
    • 最大可分性:样本点在这个超平面上的投影能尽可能分开;
      周志华老师的书中表明这两种方法得到的是公式是等价的。

      图3

      图4
      我觉得周老师书中的最近重构性也可以理解为丢失掉的信息尽可能少,因为得到新的正交坐标系的基向量{w1,w2,w3````xd},然后丢弃掉一些坐标维度后,将源空间的样本点投影到新空间得到新空间样本点Zi,然后基于Zi重构xi,最后计算两者的距离,使其距离和最小,实际上就是通过距离来度量损失掉的信息,令丢失掉的信息最少,即距离最大,得到新的坐标维度。

因子分析

————————————————————————————————————————
首先,先介绍下因子分析的整个思路:
因子分析实际上是提取出反应原变量的一些共性因子,同时希望尽可能少的损失样本信息。
其推导的思路是这样的:1、建立一个模型:X=AF+e;2、希望求出A,于是对模型取方差,得,若没有特殊因子项,然后使用样本的协方差阵去估计X的协方差,进而就可以求出A了;3、但是实际上我们希望得到少数几个能反应共性变异的因子,因此舍弃特征根小的那几个,即尽可能的少损失一些信息,并以此达到降维的效果,实际上损失的这一部分也就是特殊因子了。
—————————————————————————————————————————
接下来详细介绍这个过程:

  1. 因子分解

因子分析概括来说就是要得到一些公共因子,利用这些因子来解释原来的样本空间数据,即将X进行分解,X=AF,即
.目标也是尽可能保留x中的信息。

  1. 因子旋转

在完成分解,得到公共因子后,如果各个公共因子的实际意义不明显的话,一般还需要再进行坐标旋转,坐标旋转就是不改变因子所携带的各变量的信息量,但是改变各个因子所携带的信息量,使得各个因子的实际意义明显。
比如最常见的正交旋转(Varimax),最大方差正交旋转法,使得因子载荷的方差尽可能大,即信息分布尽可能不均匀,也就是信息要集中分布于几个不同的因子上。

  1. 因子得分计算
    得到意义明确的公共因子之后,由于我们之前实际上是得到了因子载荷矩阵A,即得到了下述方程组,但是我们会发现,方程数量p多余我们要求的值F的数量,这样一来我们需要用一些手段来得到近似F,比如回归法等等,来计算出因子得分,也就是各个样本各个因子的实际值。
    详细推导见下述,也画的有点多了,见谅
    因子分解的推导

    图5

    图6

    图7
    因子旋转的具体过程

    图8

    图9
    因子得分的计算

    图10
    ——————————————————————————————————————
    总结一下主成分分析的步骤和因子分析的步骤:
    主成分分析分析过程:

    1.将原始数据标准化,以消除变量间在数量级和量纲上的不同。
    2. 求标准化数据的相关矩阵。(标准化数据的协方差矩阵就是原数据的相关系数矩阵)
    3. 求相关矩阵的特征值和特征向量。
    4. 计算方差贡献率与累计方差贡献率:每个主成分的贡献率代表了原数据总信息量的百分比。
    5. 确定主成分:设C1,C2,C3…Cp为p个主成分,其中前m个主成分的的总信息量(方差贡献度)不低于80%时,课提取前m个主成分来反映原评价对象。
    6. 用原指标的线性组合来计算各主成分得分:以各主成分对原指标的相关系数为权,将各个主成分表示为原指标的线性组合,而主成分的经济意义则由权数较大的指标的综合意义来确定(一般主成分可以不做解释,这是因子分析擅长的)
    7. 综合得分:

    8. 得分排序:利用总得分得到得分名次

因子分分析分析过程:

  1. 将原始数据标准化,以消除变量间在数量级和量纲上的不同。
  2. 求标准化数据的相关矩阵。(标准化数据的协方差矩阵就是原数据的相关系数矩阵)
  3. 求相关矩阵的特征值和特征向量。
  4. 计算方差贡献率与累计方差贡献率。
  5. 确定因子:设F1,F2,F3…Fp为p个主成分,其中前m个因子的的总信息量(方差贡献度)不低于80%时,课提取前m个因子来反映原评价对象。
  6. 因子旋转:若所获得的m个因子无法确定或其实际意义不是很明显,这时需将因子进行旋转以获得较为明显的实际意义。
  7. 用原指标的线性组合来计算各因子得分:采用回归估计法,Bartlett估计法计算因子得分
  8. 综合得分:以各因子的方差贡献率为权,由各因子的线性组合得到综合评价指标函数
  9. 得分排序:利用总得分得到得分名次
    ———————————————————————————————————————
    说一下我的理解:主成分分析和因子分析的区别和联系(可能理解有误,希望大家能指正)
    1、主成分的目的是将原来的几个相联系的变量通过线性组合压缩成少数的几个综合变量,加以考察,但是这几个综合变量往往不具有明显的现实意义,而因子分析则是期望将一些相互联系的变量压缩,也是通过线性组合得到一些公共因子,这些公共因子往往有明显的现实意义。一个在于将原来的变量综合(Y=AX),一个在于将变量分解,提取公共因素(X=AF)。
    2、主成分分析的目标是以尽可能少的综合变量去蕴含原来数据中尽可能多的信息,而因子分析的目标是尽可能包含原数据尽可能多的信息量,没有要求要以尽可能少的因子。也就是说主成分分析的关键在于“变异数”的问题,希望综合指标尽可能少,而因子分析在于共变异数的问题,也就是希望变量能够提取出原数据中共有信息(共有方差/变异)。
    对于其中说的共有方差/变异有些难理解,我是这样来理解的。

    因子分解如上图所示,这个等式X=AF+e可以理解成一个回归式,因变量是X,自变量是F,e是误差(随机变量),所以实际上该因子分解时在做一个提取影响X的自变量(公共因子)的过程,也就是提取共有方差。
    3、当因子分析的特殊因子方差贡献率为0时,主成分分析和因子分析(使用主成分法求公共因子)是完全等价的。两者的系数矩阵之间只是相差一个系数,这个系数是各个特征根的二次平方根。当主成分分析取标准化系数时,两个系数矩阵就完全一致了。

    ——————————————————————————————————
    验证性因子分析
    上面所说的因子分析也就是常用的探索性因子分析,而实际因子分析还有一种验证性因子分析,验证性因子分析正如其名字,是用来验证一种结构的,举一个例子:根据理论我们可以构建出一个问卷,问卷中有很多题目,其中1-3题共同反映因子A,4-6题共同反映因子B,然后便可以使用验证性因子分析(CFA),去验证这种关系是否存在,以及问卷设计的信效度是否很好。具体的介绍可以我的这篇博文

————————————————————————————————————
参考文献:
王斌会.《多元统计分析及R语言建模》
周志华.《机器学习》
张文彤,董伟.《SPSS统计分析高级教程》

主成分分析和因子分析的介绍、区别和联系相关推荐

  1. 主成分与因子分析异同_如何做主成分分析和因子分析?它们的区别与联系在哪里?...

    "主成分分析和因子分析有什么区别和联系?"这个问题其实很多朋友在后台提问过,今天将这个问题的答案写成推送分享给大家.以后有问题或需求,请在下方留言区留言.觉得解释得好的朋友,记得打 ...

  2. 主成分分析、因子分析和聚类分析的区别

    主成分分析就是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标. 综合指标即为主成分.所得出的少数几个主成分,要尽可能多地保留原始变量的信息,且彼此不 ...

  3. 主成分分析和因子分析及其在R中的…

    1  主成分分析和因子分析比较 主成分分析和探索性因子分析是两种用来探索和简化多变量复杂关系的常用方法,它们之间有联系也有区别. 主成分分析(PCA)是一种数据降维方法,它能将大量相关变量转化为一组很 ...

  4. 机器学习-特征抽取(主成分分析法/因子分析法/非负矩阵因子分解NMF算法)

    1.特征抽取: 特征抽取是机器学习中另一种十分有用的方法,它与特性选择不同,特征抽取是对数据的特征进行概括和总结,而特性选择则主要是对数据中的不同特征进行比较和选取. 特征抽取是机器学习技术中的一个常 ...

  5. 主成分分析、因子分析、聚类分析的比较与应用

    听说这是一篇论文 不过我没详细看. 一.概述 主成分分析就是将多项指标转化为少数几项综合指标,用综合指标来解释多变量的方差- 协方差结构.综合指标即为主成分.所得出的少数几个主成分,要尽可能多地保留原 ...

  6. 关于聚类分析、判别分析、主成分分析、因子分析等多元统计分析方法

    转载自:http://blog.csdn.net/nieson2012/article/details/25408421 主成分分析与因子分析的区别 1. 目的不同: 因子分析把诸多变量看成由对每一个 ...

  7. 主成分分析与因子分析之比较及实证分析

    一.问题的提出 在科学研究或日常生活中,常常需要判断某一事物在同类事物中的好坏.优劣程度及其发展规律等问题.而影响事物的特征及其发展规律的因素(指标)是多方面的,因此,在对该事物进行研究时,为了能更全 ...

  8. 因子分析模型(主成分解)、及与主成分分析模型的联系与区别(附详细案例)

    * * *  * *   * * * 因子分析是主成分分析的推广和发展,它也是多元统计分析中将为的一种方法. 因子分析是研究相关阵和或协方差阵的内部依赖关系,它将多个变量综合为少数几个因子,以再现原始 ...

  9. SPSS(十一)SPSS信息浓缩技术--主成分分析、因子分析(图文+数据集)

    SPSS(十一)信息浓缩技术--主成分分析.因子分析(图文+数据集) 当我们的自变量存在多重共线性,表现为进行回归时候方程系数估计不正常以及方程检验结果不正常,也许我们可以使用变量挑选的办法(手动挑选 ...

最新文章

  1. 深入理解 wpa_supplicant(四)
  2. ArrayList 源码阅读记录
  3. python工程师-如何面试Python后端工程师?
  4. 【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
  5. 成功解决AttributeError: 'collections.defaultdict' object has no attribute 'iteritems'
  6. 枚举类的使用-使用实例域来替代序数
  7. Date日期类型的绑定
  8. GitHub上Java的Bloom Bloom实现
  9. Mac/Linux/Centos终端中上传文件到Linux云服务器
  10. python云端系统开发入门_Python云端系统开发入门
  11. kotlin 查找id_Kotlin程序查找平行四边形的区域
  12. MongoDB 教程四: 高级更改操作
  13. java 简易的闹钟设计_JavaFX实现简易时钟效果
  14. 【每日算法Day 78】面试经典题:能说出全部四种方法,不录用你都不可能!
  15. 王振质问于谦,死得越多说明越伟大?
  16. Raki的PRML阅读笔记 第1章:Introduction
  17. EyouCMS文章图片懒加载
  18. python与开源gis_Python与开源GIS:数据处理、空间分析与地图制图
  19. 打造简易NineoldAndroids动画库,深入理解Android动画原理
  20. MoveIt的使用(二)机械臂URDF在ROS中MoveIt的配置和使用

热门文章

  1. 市场营销Chapter02
  2. 解决行业反复“造轮子”现象,全新地平线RDK系列机器人开发者套件上线
  3. matlab数学实验分形,数学实验分形实例
  4. 梯度下降法求解线性回归
  5. CockroachDB架构浅析
  6. huffman图像编码C语言,Huffman编码 数据结构 C语言
  7. 使用matlab解压不同层次文件夹中.gz压缩包并另存
  8. 攻防世界-misc-warmup题解
  9. 【操作系统】常见面试题集锦(全)
  10. 体验「UOS」V20 专业版:能代替 Win10 了吗体验