因子分析和PCA

  1. 定义

因子分析就是数据降维工具。从一组相关变量中删除冗余或重复,把相关的变量放在一个因子中,实在不相关的因子有可能被删掉。用一组较小的“派生”变量表示相关变量,这个派生就是新的因子。形成彼此相对独立的因素,就是说新的因子彼此之间正交

  1. 应用

筛选变量。

  1. 步骤

3.1计算所有变量的相关矩阵

3.2要素提取,仅在此处需要使用PCA

3.3要素轮换

3.4就基本因素的数量作出最后决定

 

3.1计算所有变量的相关矩阵

构建数据矩阵,该数据矩阵是相关矩阵(矩阵里面全是相关系数),PCA之后变为因子矩阵。

绝对值大于0.3的相关系数表示可接受的相关性,即相关系数大于0.3则把它们放在一堆。

3.2要素提取,仅在此处需要使用PCA(当然也有其他方法,要素提取使用不同方法有不同结果)按照对方差的解释程度排序。

连续分量解释总样本方差的逐渐变小的部分,并且所有的分量彼此不相关。

确定因子数:特征值大于1

3.3要素轮换

因素轴转为了让因子之间差距尽量大。

非旋转因素通常不是很容易解释的(比如因素1与所有变量都相关,因素二与前四个变量相关)

对因素进行旋转,使它们更有意义,更易于解释(每个变量都与最小数量的因素相关联)。

不同旋转方法会识别不同因素,这与要素提取使用不同方法有不同结果是一样的。

3.4就基本因素的数量作出最后决定

3.4.1因子选择的原则:

因子数>1

碎石图判断,断崖前一个比后一个表示的强太多。

解释方差比例,选择解释方差最多的前几个,贡献率大于0.5。

以学科理论为基础,选择找好解释的因子

前提:

各因子和线性相关。???

对于每一对变量,数据应该有一个二元正态分布。???

观察是独立的。

因子分析模型假定变量由共同因素和独特因素决定。所有独特因素都被假定为互不相关。

  1. 样本量
  2. 各变量之间必须有相关性(被归纳在一个因子里强相关,因子间弱相关)

=====================================

因子分析(FA)与PCA比较

在实际操作过程中,因子分析和PCA没有区别(小方面有区别,比如因子分析有轮转过程),但是从结果解释的解读来说,因子分析侧重分析协方差的一面,而PCA分析侧重方差的一面。

区别:

(1)因子分析需要构造因子模型,着重要求新变量具有实际的意义,能解释原始变量间的内在结构。

(2)主成分分析仅仅是变量变换,是原始变量的线性组合表示新的综合变量,强调新变量贡献了多大比例的方差,不关心新变量是否有明确的实际意义。

联系:

两者都是降维和信息浓缩的方法。

PCA分析方差,FA分析协方差。

PCA是用最少的因素提取出尽可能多的方差。

FA是为了解释尽可能多的关联与最小数量的因素。

PCA给出了一个独特的解决方案。如果保留所有主成分,则解释所有差异。就是结果可能是:

FA1:变量A,变量B,变量C,变量D和变量E

FA2:变量A,变量B,变量C和变量D

FA3:变量A,变量B,变量C和变量E

FA可以根据方法和公共估计给出多个解。

就是说有两机会改变最后的结果,第一次是抽取变量,第二次是轮转。

最好的理想结果是一种变量仅归因于一种因子。即结果是:

PCA1:变量A,变量D和变量C

PCA2:变量B和变量E

PCA与FA的区别在于FA还要旋转以及最开始时,PCA的矩阵是特征矩阵,而FA是相关矩阵。

====================================

NMDS与MDS

PCoA是基于距离矩阵,它的排序的目的是将N个样品排列在一定的空间,使得样品间的空间差异与原始距离矩阵保持一致,这类排序方法也称作多维标定排序(Multi—dimensional scaling)。如果排序依赖于相异系数的数值,就叫有度量多维标定法(metric multi—dimensional scaling)所以说PCoA分析也叫有度量多维标定法;如果排序仅仅决定于相异系数的大小顺序(秩次排序),则称为无度量多维标定法(Non—Metric Multi—Dimensional Scaling;NMDS)。

==================================================

PCA是PCoA中的一种类型,而PCoA=MDS,而NMDS是将数值大小比较变成序数1,2,3

RDA是PCA带有环境约束的版本。PCA是一个X矩阵解释y值,RDA是一个X矩阵解释Y矩阵。

FA是PCA的同样操作的不同解释的结果。

CCA是CA的带有环境约束的版本,DCA是CA稍作修饰的版本。

CA是一个X矩阵解释y值,同时一个Y矩阵解释x值;而CCA是一个X矩阵解释Y矩阵,同时一个Y矩阵解释x矩阵,即X矩阵与Y矩阵相互解释。

====================================

非约束排序和约束排序排序区别

非约束排序也叫间接梯度分析,没有环境变量的,自己创造隐含的变量。

约束排序也叫直接梯度分析,有环境变量的。

非约束排序也叫间接梯度分析(unconstrained ordination or indirect gradient analysis)的目标就是发现这样的坐标轴,让群落中的样方或是物种的最大变化量能够在坐标轴上体现出来。换句话说,让尽可能多的变化量能够在尽可能少的轴上展示出来,并且让样方或物种在排序图能够可视化展示出来。当然,我们会经常期望这些轴能够代表一些潜在的环境变量。而约束排序(constrained ordination)的目的就是发现物种在环境梯度上的变化情况。说白了非约束排序不需要输入环境变量信息(如 PH,湿度,温度等),而约束排序需要环境信息,对排序图进行约束。典型的非约束排序有PCA,PCoA,NMDS,CA分析等,约束排序典型例子有RDA CCA等分析;其中RDA就是PCA的约束排序版本,CCA是CA分析对应的约束排序分析方法。

=========================================================

线性模型和单峰模型

所有排序方法都是基于一定的模型之上,这种模型反映物种和环境之间的关系以及在某一环境梯度上的种间关系。最常用的关系模型有两种:一种是线形模型(linear model),另一种是单峰模型(unimodal model)。线形模型的含义表示某个植物种随着某一环境因子的变化而呈线性变化或叫线性响应(linear response)。单峰模型的含义是某个植物种的个体数随某个环境因子值的增加而增加。当环境因子增加到某一值时,植物种的个体数达到最大值,此时的环境因子值称为该种的最适值(optimum);随后当环境因子值继续增加时,种的个体数逐渐下降。为了简化单峰模型,我们经常假设单峰曲线以峰值为中心,两边是对称的。

其中,红色线代表选择的梯度长度,黄色线表示如果此时选择线性模型时的情况。可知,在跨越比较短的环境梯度情况下,选择线性模型,比较长就不要使用线性模型了,使用单峰模型比较好。CA与CCA适用于单峰模型,因为以CA中X与Y的关系平等,所以可还原为正态分布解释正态分布,而PCA中只能由X解释y,所以只是正态分布解释单值,是线性关系。(推测)

自己判断环境变化还是太主观,我们可以通过DCA分析来判断,如果DCA排序前4个轴中最大值超过4,选择单峰模型排序更合适。如果是小于3,则选择线性模型更好(Lepx & Smilauer 2003)。如果介于3-4之间,单峰模型和线性模型都可行。

============================================

因子分析和PCA总结的更多相关文章

  1. PCA分析和因子分析

    #由此说明使用prcomp函数时,必须使用标准化过的原始数据.如果使用没有标准化的raw数据(不是相关系数矩阵或者协方差矩阵),必须将参数scale. = T <result>$sdev ...

  2. PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...

  3. 降维PCA技术

    降维技术使得数据变得更易使用,并且它们往往能够去除数据中的噪声,使得机器学习任务往往更加精确. 降维往往作为预处理步骤,在数据应用到其它算法之前清洗数据.有很多技术可以用于数据降维,在这些技术中,独立 ...

  4. PCA理论与实践

    PCA作用: 降维,PCA试图在力保数据信息丢失最少的原则下,用较少的综合变量代替原本较多的变量,而且综合变量间互不相关,减少冗余以及尽量消除噪声.   PCA数学原理: 设 是维向量 想经过线性变换 ...

  5. 《机器学习实战》学习笔记——第13章 PCA

    1. 降维技术 1.1 降维的必要性 1. 多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯.2. 高维空间本身具有稀疏性.一维正态分布有68%的值落于正负 ...

  6. Machine Learning in Action – PCA和SVD

    降维技术, 首先举的例子觉得很好,因为不知不觉中天天都在做着降维的工作 对于显示器显示一个图片是通过像素点0,1,比如对于分辨率1024×768的显示器,就需要1024×768个像素点的0,1来表示, ...

  7. Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)

    网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...

  8. 数字图像处理-----主成成分分析PCA

    主成分分析PCA 降维的必要性 1.多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯. 2.高维空间本身具有稀疏性.一维正态分布有68%的值落于正负标准差之 ...

  9. 主成份分析PCA

    Data Mining 主成分分析PCA 降维的必要性 1.多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯. 2.高维空间本身具有稀疏性.一维正态分布有6 ...

随机推荐

  1. RadioGroup的使用

    前言: 使用RadioGroup就可以在选择情况多的时候,简化代码 RadioGroup 使用互斥选择时,会使用RadioGroup标签下面RadioButton,如下面的代码:(这样写下来,男和女的 ...

  2. POJ 3250:Bad Hair Day 好玩的单调栈

    Bad Hair Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15699   Accepted: 5255 Des ...

  3. nodeks —— fs模块 —— 从流中 读取和写入数据

    Fs流读取和写入数据 使用文件流来读取大文件不会卡顿 1, 从流中读取数据 var fs = require("fs"); var data = ''; var count = 0 ...

  4. Elasticsearch开启试用x-pack license

    一.Elasticsearch 6.7.2开启trial  x-pack license:x-pack的license试用期只有30天 1.ES6.7.2版本默认已经安装了x-pack插件,这里就没有 ...

  5. SpringBoot+Jpa测试自增时报错Springboot-jpa Table 'sell.hibernate_sequence' doesn't exist

    解决办法: @GeneratedValue(strategy = GenerationType.IDENTITY) 如图所示:

  6. JPA#复杂查询#引子

    _ 震惊....简历上写精通JPA的被下面几个问题震呆了.... 几个问题: 复杂查询如何从前端传递到后端,特别是多个条件的.且具有and和or等复杂逻辑,这个要如何封装呢? 多表查询? 自定义sql ...

  7. vim使用技巧(常用指令)

    1. vim基础操作 vim是从 vi 发展出来的一个文本编辑器 .代码补完.编译及错误跳转等做了一些增强 1.1 进入编辑模式 命令 含义 i和I i在光标前插入,I在行首插入. a和A a在光标后 ...

  8. [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: URLError: <urlopen error [Errno 10061] Connection refused>

    [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: URLError: <urlopen error ...

  9. 【转】selenium技巧 - 通过js来控制滚动条,通过xpath定位最上层的div层

    http://blog.csdn.net/iceryan/article/details/8162703 业务流程:   1.打开此网页 http://nanjing.xiaomishu.com/sh ...

  10. 对近期docker学习的总结

    Docker 总结 1. 说在前头(Docker命令的格式) docker中的对象分为4个(就目前我所学到的) 镜像 image 容器 container 网络 network 数据卷 volume ...