主成分分析和因子分析.pdf
主成分分析和因子分析史 会 峰华北电力大学(保定)2014年6月14日史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日1/28主成分分析Principal components analysis PCA主成分分析是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。主成分分析是最简单的以特征量分析多元统计分布的方法,其方法主要是通过对协方差矩阵进行特征分解,以得出数据的主成分(特征向量)与它们的权值(特征值)。PCA提供了一种降低数据维度的有效办法;如果分析者在原数据中除掉最小的特征值所对应的成分,那么所得的低维度数据必定是最优化的,也就是,这样降维必定是失去讯息最少的方法。史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日2/28具体例子为了评价企业的经济效益,选用了8个指标作为经济效益评价的指标体系:1固定资产利税率,2资金利税率,3销售收入利税率,4资金利润率,5固定资产产值率,6流动资金周转天数,7万元产值能耗,8全员劳动生产率.其中指标1,2,3,4,5,8是正向指标,它们的取值越大越好,而指标6,7是反向指标,它们的数值越大反而越不好,这时采用它们的倒数.下表是15家企业的8项指标的数据:史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日3/2812345678116.6827.7531.8418.4053.255528.831.75219.7027.5632.9419.2059.825532.922.87315.2023.4032.9816.2446.786541.691.5347.258.9721.304.7634.396239.281.63529.4556.4940.7443.6875.326926.682.14632.9342.7849.9833.8766.465032.872.60725.3937.8536.7627.5668.186335.792.43815.0519.4927.2114.2156.137635.761.75史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日4/2812345678919.8228.7833.4120.1759.257139.131.831021.1335.2039.1626.5252.476235.081.731116.7528.7229.6219.2355.765830.081.521215.8328.0326.4017.4361.196132.754.601316.5329.7332.4920.6350.416937.571.311422.2454.5931.0537.0067.956332.331.571512.9220.8225.1212.5451.076639.181.83史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日5/28这样关于这8个指标有15个样本观察值,将指标按照下面公式进行标准化=,其中=11515=1,=11415=1()2样本,和 2,的相关系数定义为15=1()()15=1()215=1()2(1)计算指标 1,2,.,8的相关系数矩阵为史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日6/2810.8490.9250.9020.8500.3250.4910.58610.6930.9880.8600.1170.6100.52510.7760.6150.3670.3490.52210.8560.1290.6070.31710.0990.6200.97610.2840.50410.1941史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日7/28计算相关系数矩阵的特征值,并按照从大到小次序排列得,前三个特征值之和就占总和8的91.17%,因此选用三个指标就可综合8个指标的91.17%的信息,这三个特征值和对应的特征向量分别为:5.2360,1.2153,0.8420(0.4163,0.4038,0.3651,0.4014,0.4153,0.1522,0.2792,0.3092)(0.0169,0.2519,0.0775,0.3279,0.0166,0.7273,0.1786,0.5114)(0.0096,0.0199,0.0729,0.1195,0.3741,0.5193,0.5698,0.4956)史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日8/281=0.41631+0.40382+0.36513+0.40144+0.41535+0.15226+0.27927+0.309282=0.01691 0.25192+0.07753 0.32794 0.01665+0.72736 0.17867+0.511483=0.00961+0.01992 0.07293 0.11954+0.37415 0.51936 0.56987+0.49568史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日9/28这三个的值反映了工厂的三个方面的状况,从的表达式中的系数就可以看出主要体现哪些的内容.所以1反映的是企业的盈利能力,对应的指标为1,2,3,4,5;2反映的是企业的资金,人力利用,对应的指标为6,8;3反映的是企业的产值,能耗方面对1,2,3按照它们各自的贡献律作为权重进行加权计算出的结果作为企业的评价结果.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日10/28设有个指标1,2,.,这个指标反映了客观对象的各个特性,每个对象观察到的个指标值就是一个样本值,它是一个维的向量.如果观察了个对象,就有个维向量,用矩阵表示为1112.12122.2.12.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日11/28对于已知的数据矩阵,能否找到几个指标1,2,.,的线性函数=1,它们能够最好第反映指标1,2,.,的变化状况.也就是把个变量在样本上的差异,能否用他们的一个线性函数的差异来综合表示.如果可以,这个线性函数就是一个代表性好的指标,它就是这个指标的主要成分,找出主要成分的方法称为主成份分析法.如果把个指标看作是随机变量,它们的期望向量为()=(1)(2).()=12.(2)史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日12/28协方差矩阵为=()=(,)=1112121222.12(3)已知协方差矩阵的对角线上的元素就是每个变量的方差.它们的和=1用来衡量这个变量的变化状况.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日13/28设=1,则的方差()=(=1)=1=1=a a(4)其中a=(1,2,.,),=1=1.为了使最能反映1,.,的变化情况,就要求方差()尽可能地大.因此,求就要求解一个最大值问题:maxa a,s.t.=1=1史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日14/28令(a)=a a 2(aa 1),a=2Va 2a=0求解方程得Va=a,aa=1,所以Var(ax)=aVa=aa=因此只要求出最大特征值所对应的特征向量a,寻找主成分的问题就解决了.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日15/28主成分分析法的步骤对样本观察数据进行标准化处理,根据样本数据,求出样本数据的协方差矩阵V,求出矩阵V的最大特征值和相应的特征向量amax=(1,2,.,),于是=11+22+.+就是所求的主成分.比值/=1称为主成分的贡献率,贡献率越大主成分的综合能力就越强.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日16/28由于协方差矩阵V为半正定矩阵,所以他的所有特征值都是非负的,特征值按照从大到小排列为1 2 相对应的特征向量为v1,v2,.v.令=vx,则有1,2,.,是两两不相关的,并且的方差等于.由根与系数的关系可知=1=1.所以1,2,.,能够全面反映了1,2,.,的变化状况.之所以1,2,.,转化成1,2,.,就是这些变量的前几个主成分会集中全部方差的90%或85%,所以讨论少数几个主成分就可以了.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日17/28如果最大特征值1占总方差的百分比超过85%,这就说明第一主成分就能很好地反映1,2,.,的变化状况.一般情况下,最大特征值1占总方差的百分比不会超过85%.如果1+2+3占总方差的百分比超过85%这时就要同时考虑第二主成分3和第三主成分3,用三个变量1,2,3来反映1,2,.,的变化状况.假设最大的特征值1占全部方差的85%,设第一主成分的表达是为1=11+22+,这时系数的值或符号可能与实际意义不符合,这时需要对第一主成分的坐标系做一些旋转,这时就会涉及到因子分析的知识.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日18/28因子分析的原理设1,2,.,为原始变量,假设它们是随机变量,它们的协方差矩阵VV=()=(Cov(,).由于协方差矩阵是半正定矩阵,因此存在一个正交矩阵将V对角化.设协方差矩阵V的特征值为1 2.,正交矩阵用向量的形式表示为=(1,1,2,.,)于是V=10.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日19/28或者V=10.=1令y=x=1x.xVar(y)=Var(x)=10.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日20/28因子分析这样,根据变量x的协方差矩阵V,可以找到一个正交变换,使得y=x的各个分量,=1,2,.,是不相关的,各自的方差恰好是协方差矩阵V的特征根,即Var()=.由于是正交矩阵,=,所以x=y=10.01/10.01/1.=10.01.=Az史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日21/28向量z的各个分量是互不相关的,并且Var()=1.如果方差集中在少数几个1,.,中,而其它的特征值几乎是0,于是x=A1z+因此,变量x是由少数因子1,.的线性函数生成的,这些因子彼此是不相关的,而且方差都是1,即x=Af1+.设矩阵P是正交矩阵,则有x=AP1Pf1+.令g=Pf,由于P是正交矩阵,所以g的每个分量仍然是不相关的,并且各自的方差为1.向量g称为是f的正交旋转.如果矩阵P不是正交矩阵,而是一般的非退化矩阵,向量g称为是f的斜旋转,此时g不再保持向量f.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日22/28因子分析的实例城市的第三产业发展水平通常选用18个指标来评价,这些指标分别为:1:人口数2:GDP(国内生产总值)3:第三产业增加值4:货运总量5:商品销售总额6:外贸收购总额7:银行贷款余额8:社会零售物价指数9:利用外资额10:旅游收入11:就业比例12:邮电业务总量13:人均工资14:居住面积15:用水普及率16:煤气普及率17:人均道路面积18:人均绿地面积19:万名职工科技人员人数20:政策体制这些指标的取值可以从城市统计年鉴查到,这里就不列出.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日23/28计算这些指标的协方差矩阵的特征值为:序号特征值贡献率(%)累积贡献率(%)17.9913404023.734718.758.731.73138.767.441.49537.574.950.98374.979.860.81244.183.970.71833.687.580.62613.190.6史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日24/28根据特征值对总方差的累积贡献率可知,利用7-8个主成分就可以反映20个指标的85%以上的变化情况.设1,2,.,8表示前8个主分量,于是x=12.20=A20812.8+,Cov(,)=0.矩阵A称为因子荷载矩阵,他的每一行反映了指标1,.,20对因子1,.,8依赖的状况.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日25/28例如1=111+122+188由于1,.,8是不相关的,并且方差都是1,所以Var(1)=211+212+218+Var(1).21反映了因子荷载了1的方差的量.事实上,Var(x)=Var(Af)+Var()=AVar(f)A+Var()=AA+Var().Var()=Var(x)AA这就告诉我们,求出荷载矩阵A之后,Var(x)AA应该与一个对角矩阵相似,他的对角元素应近似于0.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日26/28因子荷载的值还明确显示了因子与原指标之间的关系,因为=11+22+.+88,=1,2,.,20由于因子1,.,8是两两不相关的,并且Var()=1,Cov(,)=于是与的相关系数,=Cov(,)Var()Var()=Cov(,)Var()如果原始数据已经标准化,则有Var()=1,因此,=系数的大小和正负都反映了与的相关情况.史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日27/281)可以利用因子荷载的值反映原始指标与因子之间的联系,利用因子将原指标加以分类,然后可以判断这个因子的实际意义是什么.2)将因子作正交旋转,使荷载矩阵中每一行数值尽可能两极化(接近0或者接近1),这样就便于发现它的实际意义.基于这个想法,提出极大方差旋转法(Varimax)史会峰(华北电力大学)华北电力大学数学建模俱乐部2014年6月14日28/28