前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >主成分分析和因子分析在SPSS中的实现

主成分分析和因子分析在SPSS中的实现

作者头像
机器学习AI算法工程
发布2018-03-12 15:02:17
3.8K0
发布2018-03-12 15:02:17
举报
文章被收录于专栏:机器学习AI算法工程

(一)、因子分析在SPSS中的实现

进行因子分析主要步骤如下: 1.  指标数据标准化(SPSS软件自动执行); 2.  指标之间的相关性判定; 3.  确定因子个数; 4.  综合得分表达式; 5.  各因子Fi命名; 例子:对沿海10个省市经济综合指标进行因子分析 (一)指标选取原则   本文所选取的数据来自《中国统计年鉴2003》中2002年的统计数据,在沿海10省市经济状况主要指标体系中选取了10个指标: X1——GDP       X2——人均GDP X3——农业增加值    X4——工业增加值 X5——第三产业增加值  X6——固定资产投资 X7——基本建设投资   X8——国内生产总值占全国比重(%) X9——海关出口总额   X10——地方财政收入

图1:沿海10个省市经济数据

(二)因子分析在SPSS中的具体操作步骤   运用SPSS统计分析软件Factor过程[2]对沿海10个省市经济综合指标进行因子分析。具体操作步骤如下: 1. Analyzeà Data Reductionà Factor Analysis,弹出Factor Analysis对话框 2. 把X1~X10选入Variables框 3. Descriptives: Correlation Matrix框组中选中Coefficients等选项,然后点击Continue,返回Factor Analysis对话框 4. 点击“OK”

图2:Factor Analyze对话框与Descriptives子对话框

  SPSS在调用Factor Analyze过程进行分析时,SPSS会自动对原始数据进行标准化处理,所以在得到计算结果后指的变量都是指经过标准化处理后的变量,但SPSS不会直接给出标准化后的数据,如需要得到标准化数据,则需调用Descriptives过程进行计算。我们可以通过AnalyzeàDescriptive Statisticsà Descriptives对话框来实现:弹出Descriptives对话框后,把X1~X10选入Variables框,在Save standardized values as variables前的方框打上钩,点击“OK”,经标准化的数据会自动填入数据窗口中,并以Z开头命名。Descriptives对话框

图3:相关系数矩阵

  从图表3可知GDP与工业增加值,第三产业增加值、固定资产投资、基本建设投资、社会消费品零售总额、地方财政收入这几个指标存在着极其显著的关系,与海关出口总额存在着显著关系。可见许多变量之间直接的相关性比较强,证明他们存在信息上的重叠。   通过图表4(方差分解因子提取分析)可知,提取2个因子,因为方差累积贡献率为84.551%,接近85%。从图表5(初始因子载荷矩阵)可知GDP、工业增加值、第三产业增加值、固定资产投资、基本建设投资、社会消费品零售总额、海关出口总额、地方财政收入在第一因子上有较高载荷,说明第一因子基本反映了这些指标的信息;人均GDP和农业增加值指标在第二因子上有较高载荷,说明第二因子基本反映了人均GDP和农业增加值两个指标的信息。所以提取两个因子是可以基本反映全部指标的信息,所以决定用两个新变量来代替原来的十个变量。此时,因子得分已经在窗口中自动给出。此处还可以选择对话框中图表2中的Rotation,选择不同的旋转方式,一般较为多用的是最大方差旋转。   关于综合得分,是用第一因子和第二因子加权平均得到,权重由 方差来得到,表4中 7.22+1.235=8.455 第一因子权重为7.22/8.455,第二因子权重为1.235/8.455 总因子得分=(7.22/8.455)*第一因子得分+(1.235/8.455)*第二因子得分

(二)、主成分分析在SPSS中的实现

  假定现在接着要对上面的例子进行主成分分析。spss 软件中没有直接给出主成分系数,而是给出的因子载荷(图表5),我们可将初始因子载荷系数(注意,非旋转后的因子载荷系数)除以相应的

,即可得到主成分系数。   由 Component1 的这一列系数除以SQRT(7.22),Component2的系数除以SQRT(1.235),就得到了主成分分析所需特征向量:具体的主成分的计算方法见主成分分析和因子分析(1)主成分的性质、求解方法及分析步骤,有类似例子。

二、 主成分分析和因子分析(1)

  主成分分析( principal component analysis )和因子分析( factor analysis )是两种把变量维数降低以便于描述、理解和分析的方法:实际上主成分分析可以说是因子分析的一个特例。在引进主成分分析之前,先看下面的例子。 成绩数据( student.sav ) 100 个学生的数学、物理、化学、语文、历史、英语的成绩如下表(部分)。

  从本例可能提出的问题是,能不能把这个数据的 6 个变量用一两个综合变量来表示呢?这一两个综合变量包含有多少原来的信息呢?能不能利用找到的综合变量来对学生排序呢?这一类数据所涉及的问题可以推广到对企业,对学校进行分析、排序、判别和分类等问题。 (一)、主成分分析 1 、主成分分析的基本理论与方法;主成分分析的几何意义;   例中的的数据点是六维的;也就是说,每个观测值是 6 维空间中的一个点。我们希望把 6 维空间用低维空间表示。   先假定只有二维,即只有两个变量,它们由横坐标和纵坐标所代表;因此每个观测值都有相应于这两个坐标轴的两个坐标值;如果这些数据形成一个椭圆形状的点阵(这在变量的二维正态的假定下是可能的),那么这个椭圆有一个长轴和一个短轴。在短轴方向上,数据变化很少;在极端的情况,短轴如果退化成一点,那只有在长轴的方向才能够解释这些点的变化了;这样,由二维到一维的降维就自然完成了。   当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。椭圆(球)的长短轴相差得越大,降维也越有道理。   对于多维变量的情况和二维类似,也有高维的椭球,只不过无法直观地看见罢了。   首先把高维椭球的主轴找出来,再用代表大多数数据信息的最长的几个轴作为新变量;这样,主成分分析就基本完成了。   注意,和二维情况类似,高维椭球的主轴也是互相垂直的。这些互相正交的新变量是原先变量的线性组合,叫做主成分 (principal component) 。   正如二维椭圆有两个主轴,三维椭球有三个主轴一样,有几个变量,就有几个主成分。   选择越少的主成分,降维就越好。什么是标准呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分。有些文献建议,所选的主轴总长度占所有主轴长度之和的大约 85% 即可,其实,这只是一个大体的说法;具体选几个,要看实际情况而定。 2 、主成分的性质、求解方法及分析步骤;   对于我们的数据, SPSS 输出为:

主成分分析的一般模型

为什么 spss 中值取了两个主成分呢?

  头两个成分特征值对应的方差累积占了总方差的 81.142% ,称为累计方差贡献率为 81.142% 。后面的特征值的贡献越来越少。   一般我们取累计方差贡献率达到 85% 左右的前 k 个主成分就可以了,因为它们已经代表了绝大部分的信息 。   Spss 中选取主成分的方法有两个:一是根据特征根≥ 1 来选取; 另一种是用户直接规定主成分的个数来选取。   特征值的贡献还可以从 SPSS 的所谓碎石图看出。   可以把第一和第二主成分的点画出一个二维图以直观地显示它们如何解释原来的变量的。 (二)、因子分析。 1 、因子分析的基本理论与模型;   因子分析是主成分分析的推广和发展。   为什么要进行因子分析?   我们如果想知道每个变量与公共因子的关系,则就要进行因子分析了。因子分析模型为:

  aij 称为因子载荷(实际上是权数)。   因子载荷的统计意义:就是第 i 个变量与第 j 个公共因子的相关系数,即表示变量 xi 依赖于 Fj 的份量(比重),心理学家将它称为载荷。 2 、因子载荷的求解,因子分析的步骤; 公因子方差表 :提取出来的公因子对每个变量的解释程度到底有多大呢? 因子旋转   为了对公因子 F 能够更好的解释,可通过因子旋转的方法得到一个好解释的公因子。   所谓对公因子更好解释,就是使每个变量仅再一个公因子上有较大的载荷,而在其余的公因子上的载荷比较小。   这种变换因子载荷的方法称为因子轴的旋转。因子旋转的方法很多,常用的为方差最大正交旋转。 因子得分   在分析中,人们往往更愿意用公共因子反映原始变量,这样根有利于描述研究对象的特征。因而往往将公共因子表示为变量(或样品)的线性组合,即:

  称上式为因子得分函数,用它可计算每个样品的公因子得分。但是由于公因子的个数小于变量个数,无法从因子分析模型推导得到,所以因子得分是通过估计得到的,估计因子得分的方法很多。   SPSS可以直接输出各个因子得分,我们可以以每个因子的方差贡献率为权数,进行加权综合,计算出每个学生的总得分,以此排队。 3 、主成分和因子分析的一些注意事项   可以看出,因子分析和主成分分析都依赖于原始变量,也只能反映原始变量的信息。所以原始变量的选择很重要。   另外,如果原始变量都本质上独立,那么降维就可能失败,这是因为很难把很多独立变量用少数综合的变量概括。数据越相关,降维效果就越好。   在得到分析的结果时,并不一定会都得到如我们例子那样清楚的结果。这与问题的性质,选取的原始变量以及数据的质量等都有关系。   在用因子得分进行排序时要特别小心,特别是对于敏感问题。由于原始变量不同,因子的选取不同,排序可以很不一样。

三、主成分分析和因子分析(2)

主成分分析和因子分析的区别

  1,因子分析中是把变量表示成各因子的线性组合,而主成分分析中则是把主成分表示成各个变量的线性组合。   2,主成分分析的重点在于解释个变量的总方差,而因子分析则把重点放在解释各变量之 间的协方差。   3,主成分分析中不需要有假设(assumptions),因子分析则需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specific factor)之间也不相关,共同因子和特殊因子之间也不相关。   4,主成分分析中,当给定的协方差矩阵或者相关矩阵的特征值是唯一的时候,的主成分 一般是独特的;而因子分析中因子不是独特的,可以旋转得到不到的因子。   5,在因子分析中,因子个数需要分析者指定(spss根据一定的条件自动设定,只要是特 征值大于1的因子进入分析),而指 定的因子数量不同而结果不同。在主成分分析中,成分的数量是一定的,一般有几个变量就有几个主成分。   和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这中情况也可以使用因子得分做到。所以这种区分不是绝对的。   总得来说,主成分分析主要是作为一种探索性的技术,在分析者进行多元数据分析之前 ,用主成分分析来分析数据,让自己对数据有一个大致的了解是非常重要的。主成分分析一般很少单独使用(我觉得不一定,可以单独用):a,了解数据。(screening the data),b,和cluster analysis一 起使用,c,和判别分析一起使用,比如当变量很多,个案数不多,直接使用判别分析可能无解,这时候可以使用主成份发对变量简化。(reduce dimensionality)d,在多元回归中,主成分分析可以帮助判断是否存在共线性(条件指数),还可以用来处理共线性。   在算法上,主成分分析和因子分析很类似,不过,在因子分析中所采用的协方差矩阵的对角元素不再是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档