主成分分析方法 主成分分析的基本原理 主成分分析的计算步骤 主成分分析方法应用实例
主成分分析 ( Principal Components Analysis) 是由Hotelling于1933年首先提出的, 它是利用降维的思想,把多指标转化 为少数几个综合指标的多元统计分析 方法。 从数学角度来看,这是一种降维处理 技术。
主成分分析的目的与功能 在多变量分析中,分析者所面临的最大难题是解决众多变量之间的关系问题。进行数据降维可以用尽可能少的新指标取代原来较多的指标变量,并能包含原来指标变量所包含的大部分信息 。 解决多元回归分析中的多重共线性问题。 综合评价中,人们总是尽可能多地选取评价指标,而这些评价指标之间往往相互重叠,信息冗余是不可避免的。主成分分析则可以把这众多指标所蕴含的信息压缩到少数几个主成分指标,然后给出这几个主成分指标的权重,综合到一个评价指标中。
主成分的主要功能 数据降维(Dimension Reduction) 变量筛选(Variables Screening)
一、数据处理 采集m维随机向量x=(x1,x2,…,xm)T的n个样品xi=(xi1,xi2,…,xim)T, i=1,2, …,n, n>m,构造样本阵X x1T x11 x12 ┅ x1m x2T x21 x22 ┅ x2m X= ┇ = ┇ ┇ ┇ xnT xn1 xn2 ┅ xnm
1.对样本阵X中的元进行如下变换 x ij , 对正指标 Y ij = - x ij, 对逆指标 得 Y= Y ij n×p
z1T z11 z12 ┅ z1m z2T = z21 z22 ┅ z2m ┇ ┇ ┇ ┇ znT zn1 zn2 ┅ znm 2 对Y中元进行如下标准化变换 其中 得标准化矩阵Z: z1T z11 z12 ┅ z1m z2T = z21 z22 ┅ z2m ┇ ┇ ┇ ┇ znT zn1 zn2 ┅ znm Z=
一、主成分分析的基本原理 假定有n个样本,每个样本共有m个变量,构成一个n×m阶的数据矩阵(标准化后的数据) (3.5.1)
当m较大时,在m维空间中考察问题比较麻烦。为了克服这一困难,就需要进行降维处理,即用较少的几个综合指标代替原来较多的变量指标,而且使这些较少的综合指标既能尽量多地反映原来较多变量指标所反映的信息,同时它们之间又是彼此独立的。
定义:记x1,x2,…,xm为原变量指标,F1,F2,…,Fp(p≤m)为新变量指标 (3.5.2) 系数eij的确定原则: ① Fi与Fj(i≠j;i,j=1,2,…,p)相互无关;
② F1是x1,x2,…,xm的一切线性组合中方差最大者,F2是与F1不相关的x1,x2,…,xm的所有线性组合中方差最大者; …… Fp是与F1,F2,……,Fp-1都不相关的x1,x2,…xm, 的所有线性组合中方差最大者。 则新变量指标F1,F2,…,Fp分别称为原变量指标x1,x2,…,xm的第一,第二,…,第p主成分。
从以上的分析可以看出,主成分分析的实质就是确定原来变量xj(j=1,2 ,…,m)在诸主成分Fi(i=1,2,…,p)上的权重 eij( i=1,2,…,p; j=1,2 ,…,m)。
二、计算步骤 (一)计算相关系数矩阵 rij(i,j=1,2,…,m)为原变量xi与xj的相关系数, rij=rji,其计算公式为: (3.5.3) (3.5.4)
(二)计算特征值与特征向量: ① 解特征方程 ,常用雅可比法(Jacobi)求出特征值,并使其按大小顺序排列 ; ② 分别求出对应于特征值 的特征向量 ,要求 =1,即 ,其中 表示向量 的第j个分量。
③ 计算主成分贡献率及累计贡献率 ▲贡献率: ▲累计贡献率: 一般取累计贡献率达85—95%的特征值 所对应的第一、第二、…、第p(p≤m)个主成分。
(三)确定主成分 1.主成分表达式: 其中 为第i个特征值所对应 的特征向量 2.计算主成分载荷 表示主成分与对应变量的相关系数
(四)排序问题: 1.主成分得分 2.综合得分:选取综合评价函数为
三、主成分分析实例1 下表是10名初中男学生的身高(cm),胸围(cm),体重(kg)的数据,试进行主成分分析。 身高x1 胸围x2 149.5 69.5 38.5 162.5 77.0 55.5 162.7 78.5 50.8 162.2 87.5 65.5 156.5 74.5 49.0 156.1 45.5 172.0 76.5 51.0 173.2 81.5 59.5 159.5 43.5 157.7 79.0 53.5
Matlab程序 %cwfac.m function result=cwfac(vector); fprintf('相关系数矩阵:\n') std=corrcoef(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\n') [vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ; [y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引 fprintf('特征根排序:\n') for z=1:length(y) newy(z)=y(length(y)+1-z); end fprintf('%g\n',newy) rate=y/sum(y); fprintf('\n贡献率:\n') newrate=newy/sum(newy)
Matlab程序 sumrate=0; newi=[]; for k=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break; end end %记下累积贡献率大85%的特征值的序号放入newi中 fprintf('主成分数:%g\n\n',length(newi)); fprintf('主成分载荷:\n') for p=1:length(newi) for q=1:length(y) result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p)); end %计算载荷 disp(result)
主成分分析实例 2 表1是某市工业部门13个行业的8项重要经济指标的数据,这8项经济指标分别是: X1:年末固定资产净值,单位:万元;
利用Matlab求解 相关系数矩阵为 特征值为 2.42 0.53 0.045 对应的特征向量为 0.4983 0.8638 -0.0747 特征值为 2.42 0.53 0.045 对应的特征向量为 0.4983 0.8638 -0.0747 0.6063 -0.4088 -0.6822 0.6198 -0.2947 0.7274
贡献率为 0.8069 0.1781 0.0150 前两个的累计贡献率为98.5% 选取两个主成分
是反映学生身材魁梧与否的综合指标 是反映学生体形特征的综合指标。
表1是某市工业部门13个行业的8项重要经济指标的数据,这8项经济指标分别是: X1:年末固定资产净值,单位:万元; X2:职工人数据,单位:人; X3:工业总产值,单位:万元; X4:全员劳动生产率,单位:元/人年; X5:百元固定资产原值实现产值,单位:元; X6:资金利税率,单位:%; X7:标准燃料消费量,单位:吨; X8:能源利用效果,单位:万元/吨。
表1 某市工业部门13个行业8项指标
我们要考虑的是:如何从这些经济指标出发,对八个指标进行适当的缩减,便于我们对某市经济状态做定性分析?
0.002442 0.032184 0.086598 0.30408 0.64212 0.93022 2.8974 3.1049 -0.245 -0.75762 -0.065854 -0.18422 0.045303 0.10419 0.29599 0.47665 -0.52711 0.51841 -0.048451 0.30545 -0.17443 0.16298 0.27789 0.47281 0.78054 0.17404 0.099048 0.017475 0.05867 0.15626 0.37795 0.42385 -0.22013 0.24943 0.28786 -0.53941 0.51609 -0.0085443 0.45141 -0.21289 -0.030623 -0.23297 0.58229 0.4499 -0.19942 0.32113 0.33094 -0.38846 0.042355 -0.056436 -0.71357 0.31684 0.27926 0.14514 0.40274 -0.35243 -0.04116 -0.052842 0.19359 0.4182 0.75817 0.14046 -0.37741 0.21483 0.0032996 -0.067111 0.12217 0.3222 0.071855 -0.89116 0.27274 0.055034
表2 特征根和累计贡献率
表3 特征向量
载荷 成份 1 2 3 年末固定资产净值 .840 .504 .100 职工人数 .833 .473 .157 工业总产值 .747 .643 .151 全员劳动生产率 -.375 .768 -.008 百元固定资产原值实现产值 -.684 .563 .310 资金利税率 -.621 .686 .140 标准燃料消费量 .379 -.642 .135 能源利用效果 .097 .464 -.860
表4 各行业主成分得分及排序
从上表可以看出,机器行业在该地区的综合评价排在第一,原始数据也反映出机器行业存在明显的规模优势, 另外从前两个主成分得分上看,该行业也排在第一位,同样存在效益优势;而排在最后三位的分别是皮革行业、电力行业和煤炭行业。