《实例说明利用Excel进行主成分分析讲解》由会员分享,可在线阅读,更多相关《实例说明利用Excel进行主成分分析讲解(16页珍藏版)》请在金锄头文库上搜索。
1、方法:1利用Excel2000进行主成分分析第一步,录入数据,并对进行标准化。【例】一组古生物腕足动物贝壳标本的两个变量:长度和宽度。计算的详细过程如下:将原始数据绘成散点图(图2)。主持分分析原则上要求数据具有线性相关趋势- 如果数据之间不相关(即正交),则没有必要进行主成分分析,因为主成分分析的目的就是 用正交的变量代替原来非正交的变量;如果原始数据之间为非线性关系,则有必要对这里假定按列标准化,式中*x.*.X .ni1X. .1J分别为第j列数据的均值和标准差,i1为第个变的数据,n(JJX.)i行(即第i个样本)、第J列(即第J X.*J为相应原始数据具有线性相关趋势,且测定系数据进
2、行线性转换,否则效果不佳。从图2可见 数R2=0.4979,相应地,相关系数R=0.7056。标准化的数学公式为对数据进行标准化。确定rd取消帮助(H)对数据标准化的具体步骤如下: 求出各列数据的均值,命令为average,语法为: average (起始单元格:终止单元格)。如图1所示,在单元格B27 中输入“=AVERAGE(B1 :B26) ”,确定或回车,即得第一列数据的均值x1 1088 ;然后抓住单元格B27的右下角(光标的十字变细)右拖至C27,便可自动生成第二列数据的均值x2 10.68。 求各列数据的方差。命令为varp,语法同均值。如图1所示,在单元格B28中输入“二VAR
3、P (B2:B26) ”,确定 或回车,可得第一列数据的方差Var(X) 牌.4656,右拖至C28生成第二列数据的方差Var(x2) 230976。 求各列数据的标准差。将方差开方便得标准差。也可利用命令stdevp直接生成标 准差,语法和操作方法同均值、方差,不赘述。 标准化计算。如图1所示,在单元格D2中输入“ =(B2-$B$27) /$B$29 ”,回车可得第一列第一个数据“ 3”的标准化数值-1.786045,然后按住单元格D2的右下 角下拖至D26,便会生成第一列数据的全部标准化数值;按照单元格D2的右下角右拖至 E2,就能 生成第二列第一个数据“ 2”的标准化数据-1.8060
4、77,抓住单元格E2的右下角下拖至 E26便会生成第二列数据的全部标准化数值。作标准化数据的散点图(图3 )。可以看出,点列的总体趋势没有变换,两种数据的相关系数与标准化以前完全相同。但回归模型的截距近似为 0,即有a 0,斜率等于 相关系数,即有b R。求标准化数据的相关系数矩阵或协方差矩阵。求相关系数矩阵的方法是:沿着“工具 (T)” 一 “数据分析(D)”的路径打开“分析工具(A)”选项框(图4),确定,弹 出“相关系数”对话框(图5),在“输入区域”的空白栏中输入标准化数据范围,并以单 元格G1为输出区域,具体操作方法类似于回归分析。确定,即会在输出区域给出相关jdx胃祈工具心差场平验
5、叶函万述数检利方m描指F-傅直方差归析:单因素方差苛析 方差二析:可重H祈 方差分析:无重夏凹日素为析M人域。$D$2:$E$2B逐列(Q)逐行iK)标志位于第一行(D输出选项c输出区域(町$3$2L新工作表狙:|C新工作薄Q0图5相关系数对话框由于系对称矩阵,上三角的数值与下三角相等,故未给出(图6),可以通过“拷贝一一转 置粘帖”的方式补充空白部分。求协方差的方法是在“分析工具”选项框中选择“协方差”(图7),弹出“协方 差”选项框(图8),具体设置与“相关系数”类似,不赘述。结果见图6,可以看出 对于标准化数据而言,协方差矩阵与相关系数矩阵完全一样。因此,二者任取其一即可。分折工M(A)
6、职消诉析析敦分给分系方方方相可重篁双函分析 无重复恩因素分帝帮助*指数平滑F-登骏攻样本方差诚峰分析直方图职消帮助图8协方差选项框计算特征根。我们巳经得到相关系数矩阵为7056 C0.7056 1而二阶单位矩阵为10.7050.7056110.7050.705612 2 0.5021 0I 10 01于是根据公式det( I C) 0,我们有按照行列式化为代数式的规则可得(1)2 0.70562根据一元二次方程的求根公式,当b2 4ac 0时,我们有b b2 4ac2a这便是据此解得1 L 7056, 2 0.2944(对于本例,显然1 1 R , 2 1 R)相关系数矩 阵的两个特征根。求标
7、准正交向量。将1代入矩阵方程(I C) 0 ,得到 0.70560.7056 100.7056 200.7056在系数矩阵1 C中,用第一行加第二行,化为0.7056 0.7056】0 0 0之0由此得】2 ,令1 1,则有2 1,于是得基础解系1 1,单位化为e1 0.70711 1 1 0.7071单位化的公式为(i 1,2)2212完全类似,将2代入矩阵方程(I0.70560.7056用系数矩阵的第二行减去第一C) 0,得到0.7056 1 00.7056 9乙是标准正交向量。行,化为0.7050.7056 10于是得到2,取1,则有21,7056 121 6 0因此得基础解系为量位化为
8、便1这里roi0.7071 e22 0.7071 求对角阵。首先建立标准正交矩P, 阵即有P e该矩阵的一个特殊性质便是PT P 10.7071 0.7071 1 0.7056D 0.7071 0.7071 0.7056 191.705603 00 0.294397如果希望一步到位也不难,选定输出区域如C3:D4,然后输入 “=mmult(mmult(A1:B2,C1:D2),E1:F2)” (图 10),同时按下“ Ctrl+Shift+Enter ” 键,立即得到结果(图11)。显然,对角矩阵对角线的数值恰是相关系数矩阵的特征值。0. 7 07 1 0.7071 0.70 7 10.707
9、1 0.707即矩阵的转置等于矩阵的逆。根据D PTCP,可知0.7071 0.70711.7056 00.7071 0.7071 0 0.2934下面说明一下利用Excel进行矩阵乘法运算的方法。矩阵乘法的命令为mmult,语法是mmult (矩阵1的 单元格范围,矩阵2的单元格范围)。例如,用矩阵PT与矩阵C相乘,首先选择一个 输出区域如G1:H2,然后输入“二mmult(A1:B2,C1:D2) ”,然后按下“Ctrl+Shift+Enter ”键(图 9),即可给出1.206044 1.2060440.20817 -0.20817再用乘得的结果与P阵相乘,便得对角矩阵至此,标准化的原始
10、变量X与主成分之间z之间可以表作显然X1X20.71056Z1与Z2之间正交。0.7056 x11 x1.7056 0 z10 0.2944 z9乙1图10矩阵连乘的命令与根据特征根计算累计方差贡献率。现巳求得第一特征根为1 L 7056,第二特征根为2 0.2944,二者之和刚好就是矩阵的维数,即有1 2 m 2 ,这里m=2为变量数目(注意前面的n=25为样本数目)。比较图6或图10中给出的相关系数矩阵C与图11 中给出的对角矩阵D可以看出,Tr.(C)=1+1=2 , Tr.(D)=1.7056+0.2944=2,即有 Tr.(C)= Tr.(D),可见将相关系数亦即协方差矩阵转换为对角
11、矩阵以后,矩阵的 迹 (trace,即对角线元素之和)没有改变,这意味着将原始变量化为主成分以后,系统的信息量没有减少。现在 问题是,如果我们只取一个主成分代表原来的两个变量,能反映原始变量的多少信息?这个 问题可以借助相关系数矩阵的特征根来判断。利用Excel容易算出,第一特征根占特征根 总和即矩阵维数的85.28%(见下表),即有特征根累计值百分比累计百分比1.705603 1.705603 85.28% 85.28%0.294397 2 14.72% 100.00% 也就是说:1.7056,0.2944,2,(1 /m 1.7056/ 2 85.28%2/m 0.2944/ m 14.7
12、2%1 2分,可以反映原来数据二个主成分,原来数据的信息仅仅损失分析将会显得更加简明。1 2)/m 2/2 100%这表明,如果仅取第一个主成85.28%的信息换言之,舍弃第14.72%,但分析变量的自由度却减少一个,整个计算主成分载荷。根据公式j j e j,容易算出1.7056 0 . 7 0 7 1 0.9 2 35 0 . 70710 . 9 23 520.7071 0.38370.29440.7071 0.3837计算公因子方差和方差贡献。根据上述计算结果可以比较公因子方差和方差贡献。再考虑全部的两个主成分的时候,对应于1和2的公因子方差分别为V1j 2 0.92352 0.3837
13、2 1jV2,j 2 0.92352 ( 0.3837)2 1j对应于第一主成分Z和第二主成分z2的方差贡献分别为CV.0.92352 0.923521.70561 ijCV 1. 0.38372(0.3837)20.29442 ij可以看出(图12):第一,方差贡献等于对应主成分的特征根,即有CVj j第二,公因子方差相等或彼此接近,即有V1 V2第一,公因子方差之和等于方差贡献之和,即有ViCVj m 2第一个规律是我们决定提取主成分数目的判据与之一,第二个规律是我们判断提取主成分数 目是否合适的判据之一,第三个规律是我们判断提取主成分后是否损失信息的判据之一。去 掉次要的主成分以后,上述
14、规律理当仍然满足。这时如果第二个规律不满足,就意味着主成 分的提取是不合适的。此外,上述规律也是我们检验计算结果是否正确的判据之Z PT X或者X PZ对于本例而言, 中X 这里 =X1ell e12P el e2e21 e220.7071 0.70710.7071 0.7071,巳、_ ke22T为前面计算的标准化特征向量。于是z1 有 0.7071 0.7071 x111z2 0.7071 0.7071 x2化为代数形式便是z1 0.7071x1 0.7071x2z2 0.7071x1 0.7071x2式中的x均为标准化数据。对Z PTX进行转置,可得ZT X TP根据这个式子,利用Excel计算主成分得分的步骤如下: 将特征向量复制到标准化数据的附近; 选中一个与标准化数据占据范围一样大小的数值区域(如G2:H26); 输入如下计算公式“二mmult(标准化数据的范围,特征向量的范围)”,在本例中 就是 “=MMULT(B2:C