主成分分析

来源:互联网 发布:php输出数组中的数组值 编辑:程序博客网 时间:2024/04/28 14:57
(一)、主成分分析

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),因子分析则需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specificfactor)之间也不相关,共同因子和特殊因子之间也不相关。

  4,主成分分析中,当给定的协方差矩阵或者相关矩阵的特征值是唯一的时候,的主成分一般是独特的;而因子分析中因子不是独特的,可以旋转得到不到的因子。

  5,在因子分析中,因子个数需要分析者指定(spss根据一定的条件自动设定,只要是特征值大于1的因子进入分析),而指定的因子数量不同而结果不同。在主成分分析中,成分的数量是一定的,一般有几个变量就有几个主成分。

  和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这中情况也可以使用因子得分做到。所以这种区分不是绝对的。

  总得来说,主成分分析主要是作为一种探索性的技术,在分析者进行多元数据分析之前,用主成分分析来分析数据,让自己对数据有一个大致的了解是非常重要的。主成分分析一般很少单独使用(我觉得不一定,可以单独用):a,了解数据。(screeningthe data),b,和cluster analysis一起使用,c,和判别分析一起使用,比如当变量很多,个案数不多,直接使用判别分析可能无解,这时候可以使用主成份发对变量简化。(reducedimensionality)d,在多元回归中,主成分分析可以帮助判断是否存在共线性(条件指数),还可以用来处理共线性。

  在算法上,主成分分析和因子分析很类似,不过,在因子分析中所采用的协方差矩阵的对角元素不再是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分)。