主成分分析与因子分析(第20章)
- 格式:ppt
- 大小:1.26 MB
- 文档页数:68
主成份分析与因子分析转载自网站/teachers/lidf/docs/statsoft/html/statsoft.html作者:北京大学概率统计系李东风现实中的统计对象经常用多个指标来表示,比如人口普查,就可以有姓名、性别、出生年月日、籍贯、婚姻状况、民族、政治面貌、地区等,企业调查,可以有净资产、负债、盈利、职工人数、还贷情况等等。
多个指标(变量)可以分别进行分析,但是,我们往往希望综合使用这些指标,这时,有主成份分析、因子分析等方法可以把数据的维数降低,同时又尽量不损失数据中的信息。
I. 主成份分析一、理论介绍主成份分析的目的是从原始的多个变量取若干线性组合,能尽可能多地保留原始变量中的信息。
从原始变量到新变量是一个正交变换(坐标变换)。
设有是一个维随机变量,有二阶矩,记,。
考虑它的线性变换易见如果要用尽可能多地保留原始的的信息,经典的办法是使的方差尽可能大,这需要对线性变换的系数加限制,一般要求它是单位向量,即。
其它的各也希望尽可能多地保留的信息,但前面的已保留的信息就不再保留,即要求,同时对也有的要求,在这样的条件下使最大。
设协方差阵的特征值为,相应的单位特征向量分别为(当特征根有重根时单位特征向量不唯一)。
这时的第个主成分为,,且。
记,,,则为正交阵,,,且,其中为的主对角线元素。
主成份与原始变量的相关系数称为因子负荷量(factor loading),可以证明,,。
为了减少变量的个数,希望前几个就可以代表的大部分信息。
定义为主成份的贡献率,称为主成份的累计贡献率。
一般取使得累计贡献率达到70%-80%以上。
累计贡献率表示个主成份从中提取了多少信息,但没有表达用它来恢复每一个能恢复多少,为此定义个主成份对原始变量的贡献率,为对的复相关系数平方,可以用公式计算(注意时)。
前个主成份在的个线性组合中能对最好地线性逼近。
在上面的主成份计算方法中,方差越大的变量越被优先保留信息,实际中为了消除这种影响经常把变量标准化,即令这时的协方差阵就是的相关阵。
主成分分析和因子分析法一、主成分分析概论主成分分析的工作对象是样本点×定量变量类型的数据表。
它的工作目标,就是要对这种多变量的平面数据表进行最佳综合简化。
也就是说,要在力保数据信息丢失最少的原则下,对高维变量空间进行降维处理。
很显然,识辨系统在一个低维空间要比一个高维空间容易得多。
英国统计学家斯格特(M.Scott )在1961年对157个英国城镇发展水平进行调查时,原始测量的变量有57个。
而通过主成分分析发现,只需5个新的综合变量(它们是原变量的线性组合),就可以95%的精度表示原数据的变异情况,这样,对问题的研究一下子从57维降到5维。
可以想象,在5维空间中对系统进行任何分析,都比在57维中更加快捷、有效。
另一项十分著名的工作是美国的统计学家斯通(Stone)在1947年关于国民经济的研究。
他曾利用美国1929~1938年各年的数据,得到了17个反映国民收入与支出的变量要素,例如雇主补贴、消费资料和生产资料、纯公共支出、净增库存、股息、利息和外贸平衡等等。
在进行主成分分析后,竟以97.4%的精度,用三个新变量就取代了原17个变量。
根据经济学知识,斯通给这三个新变量要别命名为总收入1F 、总收入变化率2F 和经济发展或衰退的趋势3F (是时间t 的线性项)。
更有意思的是,这三个变量其实都是可以直接测量的。
二、主成分分析的基本思想与理论1、主成分分析的基本思想在对某一事物进行实证研究中,为了更全面、准确地反映出事物的特征及其发展规律,人们往往要考虑与其有关系的多个指标,这些指标在多元统计中也称为变量。
这样就产生了如下问题:一方面人们为了避免遗漏重要的信息而考虑尽可能多的指标,而另一方面随着考虑指标的增多增加了问题的复杂性,同时也由于各指标均是对同一事物的反映,不可避免地造成信息的大量重叠,这种信息有时甚至会抹杀事物的真正特征与内在规律。
基于上述问题,人们就希望在定量研究中涉及的变量较少,而得到的信息量又较多。
在实际工作中,为了全面的分析问题,往往会收集很多变量,这些变量之间通常都会存在大量重复信息,如果直接用来分析,不但计算繁琐,模型复杂,而且还有一个更严重的问题就是共线性问题,前面提到过共线性问题会导致模型误差增大,失去意义。
当面对变量过多时,通常的处理方法是降维,即设法将原来众多具有一定相关性的变量,重新组合成一组新的互相无关的综合变量,这些综合变量要尽可能多的反映原有变量的信息。
降维的方法有很多,其中最常用的就是主成分分析和因子分析一、主成分分析(Principal Component Analysis,PCA)1.基本思路设有n个原始变量,如果将它们都用散点图表示,会发现一些变量是存在某种线性关系的,这就是共线性,我们可以利用这个特点,创建一个变量Yi,使它成为某些原始变量的线性组合结果Yi =β+β1x1+...βnxn,这样处理之后,n个原始变量就转化为i个新变量,这i个新变量不同程度的反映了原始变量的信息,并且互不相关,这就解决了共线性问题。
那么接下来的问题是,n个变量的线性组合有很多种,我们取哪种结果作为新变量呢?经典的方法就是根据方差来判断,方差越大,变异越大,而我们的目的并不是消除变异,而是用尽可能少的新变量表示大部分原始变量,因此变异信息也必须尽量完整的反映。
我们将新变量按照方差大小排序,最大者也就是包含变异最多的为第一主成分,以此类推,通常只取前面几个最大的主成分,这样虽然损失部分信息,但是抓住了主要变异,如果全都取的话是没有意义的,因为原则上有多少个原始变量,就可以提取多少个主成分,但是这样做违背了降维的目的,多数情况下,取钱2-3个主成分就可以代表90%以上的变异信息,其余的可以忽略不计。
2.计算过程前面讲了PCA的基本思路,现在用具体数学算法来加以实现<1>数据标准化由于每个变量都有自己的数量级和量纲,首先要对变量进行标准化处理以消除这方面的差异<2>计算协方差矩阵或相关系数矩阵对于一维数据,也就是一个变量的数据,我们可以用均值、方差、标准差来描述,而协方差用于衡量两个变量的总体误差,如果多于两个变量,那就要用协方差矩阵来表示。
主成分分析与因⼦分析主成分分析,主成份是原始变量的线性组合,在考虑所有主成份的情况下主成份和原始变量间是可以逆转的。
即“简化变量”,将变量以不同的系数合起来,得到好⼏个复合变量,然后在从中挑⼏个能表⽰整体的复合变量就是主成份,然后计算得分。
因⼦分析,公共因⼦和原始变量的关系是不可逆转的,但是可以通过回归得到。
是将变量拆开,分成公共因⼦和特殊因⼦。
过程是:因⼦载荷计算,因⼦旋转,因⼦得分。
主成份分析主成份分析需要知道两变量之间的相关性,⽣成协⽅差举证和相关新矩阵,对应的⽣成的新向量矩阵Y还有特征值λi,对应是第I个新向量对总体信息的贡献率为λi/(λ1+λ2+...+λn),对应的还有⼀个累积贡献率。
确定主成份的个数的⽅法有:特征值⼤于1(要求原始数据的每⼀个变量⾄少能贡献1各单位的变异)、陡坡检验法(陡坡图中开始平坦的点之前的点的个数)、累积解释变异⽐例法(即(λ1+...+λi)/(λ1+λ2+...+λn)>70%)。
同时也可以知道主成分分析对应的⼏个难点①是使⽤协⽅差矩阵还是相关系数矩阵②如何确定主成份的个数。
当数据中不同变量的度量单位不同并且数值相差较⼤就⽤标准化后的相关系数矩阵,当数值相差不⼤并且指标的权重不⼀样时,考虑⽤协⽅差矩阵。
对于个数的确定就是我们⼀些边界问题是否1左右的也可以囊括进主成份中,是否难以确定开始变平坦的是那个点,是否70%不够。
等⼏个问题。
主成分分析可以⽤两个过程步完成PROC FACTORS 、PROC PRINCOMP。
后者能处理的数据量⼤⼀些,效率⾼⼀些,,前者输出的内容丰富些,还可以做旋转因⼦。
以下是主成分分析过程;proc princomp data=sashelp.cars out=car_component;var mpg_city mpg_highway weight wheelbase length;run;输出结果:先是输出统计结果,再是输出相关性矩阵,这⾥princomp步默认使⽤的是相关系数矩阵,实际应⽤过程中,可以通过cov选项来指定使⽤的矩阵。