上一篇文章我们讨论完了回归的最后一部分内容,非线性回归。这一次我们正式结束回归,开始讨论降维分析。在之前关于相关的内容里,我们就说过,做相关,回归等分析的时候,消除多重共线性是一个很复杂很复杂的问题,一次数据分析的变量多达三四十个是很正常的情况,这个时候调整变量的效果往往微乎其微,因此就需要用到一个有力办法,降维。

现在我们就来谈一谈降维。首先要先明确一个概念,什么是降维。我们知道“维”是一个数学领域的一个术语,放在统计分析里边,我们可以简单的理解为一个变量就是一个维。降维的意思就是说把原来的许多变量通过一些方法压缩为较少的变量,这样变量数减少了,也就是维数减少了,也就叫降维。因子分析由于应用广泛,所以是最广为人知的降维方法。此外由于主成分分析和因子分析联系非常紧密,并且,注意,并且,spss没有独立的模块来做主成分分析,所以,我就同时讨论这两种技术了。

【一】因子分析和主成分分析的异同

因子分析和主成分分析的相同和不同的地方是每一个希望使用因子分析这种分析手段的人所必须要掌握的知识点。在博客或者各种论坛上,有许多相关的资源贴。我们在这里不从数学层面进行讨论,主要从应用层面来展开讨论。

对于因子分析和主成分分析最主要的也是最重要的一点是:因子分析需要旋转矩阵,主成分分析则不用。(实际上,在spss里边,如果你做因子分析时旋转方法为不旋转的话,那你做的就是主成分分析)

第二个不同点在于结果的解释:对于因子分析,要求公共因子不相关。主成分分析则不要求这个。这里不得不讲一点点原理性的东西。因子分析的目的是将输入变量表示成各因子的线性组合,而主成分分析则是试图选择出主成分,其表示为各变量的线性组合。(基本上比较绕)关键在于,主成分分析的目的是解释变量的总方差,而因子分析则侧重于解释各变量之间的协方差。也就是说,对于主成分分析,我们的目的是提取出主成分,用我们的变量来表示。而对于因子分析,我们的目的是找出公共因子,用这些公共因子去表示我们原有的变量。这个因果关系的不同,就要求因子分析中我们找到的公共因子可以从逻辑上被解释。

因为我们不涉及原理的解说,因此主要的异同点就是这些了。

【二】主成分分析的操作方法

因为spss里并没有专门的模块可以用来做主成分分析,所以我们操作主成分析的时候,需要选择菜单分析——降维——因子分析,在因子分析的模块下做主成分分析。

在主面板里把你想要分析的变量选到右边的大框框里。注意,这里不选地区啊,省份啊这些标志性的变量。你要选你认为信息有重合的变量,举个例子,比如身高和坐高在一项健康状况里有重叠性的作用,那你就把它们选到这个变量框里。下边的选择变量是用来选择个案的,一般不需要管它。

打开描述对话框,全部勾选。打开抽取对话框,抽取对话框最上边有一个方法的下拉菜单。默认的是主成分。除了主成分以外,还有六种抽取方法,我们要做的是主成分分析,当然默认就可以啦,下边的输出勾选碎石图,未旋转的因子解。在下边有一个抽取。一般基于特征值就可以了。下边还有一个最大收敛性迭代次数,默认是25。打开旋转对话框,勾选载荷图。打开保存对话框,勾选保存为变量,显示因子得分系数矩阵。

注意,注意。现在我们打开选项对话框。将缺失值勾选为使用均值替换。如果你的变量有缺失值,那么一定要千万记得这一步。不然你的变量得分会有缺失,就是说你的结果基本废了。我老是搞忘掉这一步,然后每次都想哭TAT。

【三】主成分分析的结果解释

第一个要看的表是kmo,这个表里的kmo度量值(第一行)告诉你你的数据是否适合做因子分析/主成分分析。这个值大于0.65就可以了。通常只要你的变量确实彼此之间有重叠,直观的想想都觉得有关系的话,而且变量数比较多的话,那kmo一般是过得去的。然后第二个表看解释的总方差,你看第二行有一个方差的百分比,第三行是累计百分比。我们主要看这两个指标,第一个指标告诉你每个主成分的解释的方差(你不用去管什么叫解释的方差,记住那个指标有用,怎么判断就可以了。),第二个指标是前几个主成分加起来的方差。仔细观察,你会发现这两个指标之间存在一个加法和和的关系。

由于我们之前默认的提取方法是基于特征值,所以这里会自动为你提取主成分。不过我们一般认为提取的方差需要大于百分之八十五,如果你的主成分特征值大于1的累计方差值小于85%,那么很不幸的,我需要告诉你,你得重做一遍。这时候你的抽取里的个数,就选那个抽取固定的数目。然后设定的数目为你查这个表查询的得到的累计方差大于85%的主成分数目。

然后看成分矩阵和成分系数矩阵,这两个表都是反映变量在成分的权重。不过成分矩阵可以看成是反映了一个绝对值,第二个则反映了用变量写成分的表达式怎么写(有了表达式,才能算出成分得分哇)。这个类似于啊,类似于回归里边的标准系数和非标准系数。

最后一个是综合得分的计算,我们上边把成分得分保存为了变量,用这些成分得分可以计算一个综合得分出来,算法如下,用每个成分的方差的百分比作为权重,将成分相加就可以了。综合得分的用处在于排名次,比如看看全国31个省的通信质量的高低,通过综合得分就可以来排名。此外做聚类的时候哇,也可以用这个。

【四】因子分析的操作方法

类似于主成分分析。只是旋转那里勾选最大方差法。和大家公认的抽取方法里主成分法最好以外,选装方法一般认为最大方差法最好。

【五】因子分析的结果解释

类似于主成分分析。只是多了一个旋转成分矩阵。咳,注意了注意了。因子分析最精髓的一个点就在这里了。

你看这个表的时候一定要很小心仔细,这个表的行是每个成分,列是每个变量,然后每个格格里对应的数就是相对应的变量在相对应的成分里的权重指标。我们需要反过来付过去的做因子分析,最后达到一个什么状态呢?最后达到每个成分在所有的变量里边有一个系数占绝对优势,明显比其他系数大的多。举个例子,一个变量在三个成分的系数分别是0.3,0.2,0.8,哎,这个里边0.8明显比其他的大,这个因子就可以。再比如,这三个系数是0.4,0.6,0.6,那由于出现了两个最大值,所以呢这个因子就不可以。通常来说,认为这个最大的系数和第二大要差0.2,这样才认为占了绝对优势。

上边我们说过因子分析的重点在于,用公共因子去解释变量。认为变量收到了公共因子的影响。也就是说哇,我们认为有一个公共因子潜在的影响到了几个变量,使得他们表现出了多重共线性。所以呢,旋转成分矩阵里就要表现出这个公共因子对于变量的影响。一个变量不能既受这个因子的影响,又受那个因子的影响,一个变量只能受一个因子影响,所以它的系数只能有一个占大头。

然后我们就有了分别代表一些不同变量的成分(既然一个变量只能由一个成分代表,那么每个成分代表的变量也就不同哇),然后,注意,然后,我们就可以给这些成分命名了。

你大概很恼火,有完没完啊,不过命名还是挺简单的一个步骤,你观察你的每个成分所代表的变量,然后给它们命个名字。比如你的一个成分是身高,坐高,体重,那你就命名为人体体型,另一个成分是胸围,肩宽,盆骨宽,那你就命名为人体体宽,懂?

【六】注意事项

我觉得这个是最重要的一个部分。请仔细看看。

1.关于kmo,有时候(很多时候),你的kmo输不出来。它会告诉你什么什么系数矩阵是非正定的,反正就是没有kmo矩阵,遇到这种情况,先别急好吗?我只能大致的告诉你这个不是很严重,不影响结果的解读。具体怎么回事,请看这篇链接:http://www.ppvke.com/Blog/archives/3357

2.关于结果解读。因子分析会生成相当多的表哦,但是我们只解读了其中两三个表,这并不是其他的表就没有意义,比如碎石图,在许多论文里就要用到。可以直观的看到各个成分的作用大小。

3.关于预处理。请记得数据要先进行标准化以后,才可以做分析。

4.关于因子分析的旋转。旋转出合适的成分矩阵是很重要的一件事,你可以通过改变你的抽取方法或者增大你的抽取因子数目来改善你的矩阵,这些都是可能起到作用的。多试试。此外,那些系数是负的话,就是说明是负相关,很正常哈。

5.关于因子分析和主成分分析的辨析。通常使用因子分析。主要是因为它比较高级。

8、spss做因子分析及主成分分析相关推荐

  1. 主元分析matlab,matlab spss做因子分析 主元分析 factor analysis 学习笔记

    目录 目录 (1) 说明 (2) 理论 (3) 3.1因子分析的基础 (3) 3.2因子分析步骤 (5) 3.3主成分分析分析与因子分析的联系和差异: (5) SPSS的因子分析 (6) 4.1SPS ...

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

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

  3. CSDN ARIMA R语言_SPSS做不了主成分分析,那就换R语言实现全过程吧

    SPSS只能完成主成分分析的一部分环节,主成分得分等计算尚需结合其他工具(如Excel)来完成,这对SPSS用户来说,是极不方便的.我们一定要很清楚的知道,SPSS可以一条龙做因子分析,但不能通过菜单 ...

  4. 因子分析和主成分分析

    前言:这是学校多元统计分析课程布置的实验(包括基于python的线性代数运算.线性回归分析实验.聚类分析.因子分析和主成分分析),这里分享出来,注解标注的比较全,供大家参考. 1.文件"te ...

  5. 因子分析,主成分分析,主因子分析,因子分析函数,极大似然法——数据分析与R语言 Lecture 12

    因子分析,主成分分析,主因子分析,因子分析函数,极大似然法--数据分析与R语言 Lecture 12 因子分析 因子分析的主要用途 与主成分分析的区别 因子分析使用了复杂的数学手段 统计意义 因子载荷 ...

  6. 因子分析_主成分分析_独立成分分析_斯坦福CS229_学习笔记

    Part VIII 因子分析 主成分分析 独立成分分析 在上个部分介绍了EM算法,在此部分因子分析中,我们会再次应用到. 因子分析.主成分分析和独立成分分析都作为对于数据维度进行处理的手段,对于我们理 ...

  7. spss相关性分析看结果_利用spss做Pearson相关性分析步骤详解

    有蛮多的学生私信老徐问如何利用spss做相关性分析,其实相关性分析应该是spss分析中较为基础的一个功能应用,很多学生可能是因为跨专业或者对统计软件了解较少,在没有经过系统学习的前提下,感觉云里雾里. ...

  8. 用spss做哑变量--给不敲代码同学福音

    今天给各位分享怎么用spss做哑变量,也算是给不想敲代码的同学带来一些福利. 首先介绍下什么是哑变量.哑变量是由虚拟变量衍生过来,指的是非数值型的字符变量转换而来的变量,通常情况下这些变量都是无序的变 ...

  9. 使用SPSS做时间序列预测时,如何自定义日期型数据周期(时间数据周期)?

    使用SPSS做时间序列预测时,如何自定义日期型数据周期/时间数据周期? 问题的产生 解决方案的来源:SPSS自带的语法参考 DATE命令的基本使用方法 两个示例讲解 写好命令以后如何运行 需要注意的点 ...

最新文章

  1. c#小软件(SaveClassic)开发手记--(1)前言
  2. 问答:双总线并机,可以使用不同品牌的ups吗?
  3. lr_eval_string()使用
  4. 使用lambdaquery() 报空指针异常_Java 14 来势汹汹,这回让空指针无处遁形!!
  5. [Node.js] 模块化 -- 中间件和跨域
  6. 【matlab】matalb生成dll给Cpp用
  7. [Python] L1-053 电子汪-PAT团体程序设计天梯赛GPLT
  8. 调查:是什么让你对开发者聚会(活动)感兴趣?(转 Y.boy一篇文章)
  9. Smart 3D 切块合并 使用S3C索引 excel表格法
  10. 如何用python计算年龄_python根据出生日期计算年龄的代码
  11. 第6章 分支语句和逻辑运算符
  12. 一个在ns3平台基于UDP协议实现的拥塞控制仿真框架
  13. c语言高亮字符,C语言语法高亮工具
  14. 云计算与大数据的应用及其相关性
  15. Mac系统下使用SecureCRT连接Linux虚拟机及上传文件
  16. 完全国产的开源Java微服务分布式开发框架 BudWk
  17. CxImage学习使用1:环境搭建
  18. 真Unity3d_profiler调试
  19. 【机器学习sklearn】主成分分析PCA(Principal Component Analysis)
  20. 【五六七人口普查】我国区县级人口基本情况

热门文章

  1. ABAddressBook个人使用总结,联系人中、英文排序及中、英文及号码搜索
  2. Cocos Creator Android 平台 Google 原生登录
  3. 一位女程序员的奋斗路程
  4. Windows Server 2012 R2 Standard序列号
  5. kali linux 打不开终端的问题
  6. fastJson、JackJson以及Gson序列化对象与get、set以及对象属性之间的关系
  7. 读 L. S. Stavrianos 之 《全球通史:从史前到21世纪》
  8. 英特尔会是下一个诺基亚吗?
  9. mysql:triggers
  10. Game Programming with DirectX -- 08[Mesh]