版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、方法 :1 利用 Excel2000 进行主成分分析第一步,录入数据,并对进行标准化。【例】一组古生物腕足动物贝壳标本的两个变量:长度和宽度。图 1 原始数据和标准化数据及其均值、方差(取自张超、杨秉庚计量地理学基础 )计算的详细过程如下: 将原始数据绘成散点图 (图 2)。主持分分析原则上要求数据具有线性相关趋势 如果数据之间不相关(即正交) ,则没有必要进行主成分分析,因为主成分分析的目的就是用正交的变量代替原来非正交的变量;如果原始数据之间为非线性关系,则有必要对1数据进行线性转换,否则效果不佳。从图 2 可见,原始数据具有线性相关趋势,且测定系数 R2=0.4979,相应地,相关系数
2、R=0.7056。 对数据进行标准化 。标准化的数学公式为xij*xijxjj这里假定按列标准化,式中1nnxijxij,2Var(xij )ij(x x j )n i 1 i 1ij分别为第 j 列数据的均值和标准差,xij为第 i 行(即第 i个样本)、第 j 列(即第 j 个变量)的数据, xij* 为相应于 xij的标准化数据,n 25为样本数目。252015度宽 10500度宽-2.000000原始数据的散点图y = 0.7686x + 2.3174 R2 = 0.4979510长度152025图 2 原始数据的散点图标准化数据的散点图y = 0.7056x + 2E-16 R2 =
3、 0.49793.0000002.0000001.0000000.0000001.0000002.000000-1.000000.3.0000000 -1.000000 0-2.000000长度图 3 标准化数据的散点图2对数据标准化的具体步骤如下:求出各列数据的均值,命令为average,语法为:average(起始单元格 :终止单元格 )。如图 1 所示,在单元格B27 中输入“=AVERAGE(B1 :B26)”,确定或回车,即得第一列数据的均值x110.88;然后抓住单元格 B27 的右下角( 光标的十字变细 )右拖至 C27,便可自动生成第二列数据的均值 x2 10.68。求各列数据
4、的方差。命令为varp,语法同均值。如图 1 所示,在单元格 B28 中输入“=VARP(B2:B26) ”,确定或回车,可得第一列数据的方差Var(x1 )19.4656,右拖至C28 生成第二列数据的方差 Var(x2 ) 23.0976。 求各列数据的标准差。将方差开方便得标准差。也可利用命令stdevp 直接生成标准差,语法和操作方法同均值、方差,不赘述。 标准化计算。如 图 1 所示,在单元格 D2中输入“ =(B2-$B$27)/$B$29 ”,回车可得第一列第一个数据“ 3”的标准化数值 -1.786045,然后按住单元格D2 的右下角下拖至D26,便会生成第一列数据的全部标准化
5、数值;按照单元格D2 的右下角右拖至 E2,就能生成第二列第一个数据“ 2”的标准化数据 -1.806077 ,抓住单元格E2 的右下角下拖至E26 便会生成第二列数据的全部标准化数值。 作标准化数据的散点图(图 3)。可以看出,点列的总体趋势没有变换,两种数据的相关系数与标准化以前完全相同。但回归模型的截距近似为0,即有 a0 ,斜率等于相关系数,即有bR 。 求标准化数据的相关系数矩阵或协方差矩阵 。求相关系数矩阵的方法是:沿着“工具(T)” “数据分析( D)”的路径打开“分析工具( A)”选项框( 图 4),确定,弹出“相关系数”对话框( 图 5),在“输入区域”的空白栏中输入标准化数
6、据范围,并以单元格 G1 为输出区域,具体操作方法类似于回归分析。确定,即会在输出区域给出相关图 4 分析工具选项框3图 5 相关系数对话框系数矩阵的下三角即对角线部分,由于系对称矩阵,上三角的数值与下三角相等,故未给出(图 6),可以通过“拷贝 转置 粘帖”的方式补充空白部分。图 6标准化数据的相关系数和协方差求协方差的方法是在“分析工具”选项框中选择“协方差”(图 7),弹出“协方差”选项框( 图 8),具体设置与“相关系数”类似,不赘述。结果见图 6,可以看出,对于标准化数据而言,协方差矩阵与相关系数矩阵完全一样。因此,二者任取其一即可。图 7 在分析工具选项框中选择“协方差”4图 8
7、协方差选项框 计算特征根。我们已经得到相关系数矩阵为C10.7056 ,0.70561而二阶单位矩阵为I10,01于是根据公式 det( IC)0 ,我们有1010.705610.70560010.705610.70561按照行列式化为代数式的规则可得(1)20.70562220.50210根据一元二次方程的求根公式,当b 24ac0 时,我们有bb 24ac2a据此解得11.7056, 20.2944(对于本例,显然11R , 21 R )。这便是相关系数矩阵的两个特征根。 求标准正交向量 。将1 代入矩阵方程 ( IC)0,得到0.70560.7056100.70560.705620在系数
8、矩阵IC 中,用第一行加第二行,化为0.70560.7056001200由此得 12,令11,则有21,于是得基础解系11,单位化为 e1 0.707110.70715单位化的公式为 eii( i1,2 )。1 222完全类似,将2 代入矩阵方程 ( IC)0 ,得到0.70560.70560.70560.7056用系数矩阵的第二行减去第一行,化为12000.70560.7056100020于是得到 12,取11,则有 21,因此得基础解系为21,单位化为 e20.707110.7071这里 e1 、 e2 便是标准正交向量。 求对角阵 。首先建立标准正交矩阵P,即有Pe1e2 0.70710
9、.70710.70710.7071该矩阵的一个特殊性质便是PTP1 ,即矩阵的 转置等于矩阵的 逆。根据 DPT CP ,可知D0.70560.70710.70711.7056000.70710.70710.705610.70710.707100.2934.70710.70711下面说明一下利用Excel 进行矩阵乘法运算的方法。矩阵乘法的命令为mmult ,语法是mmult (矩阵 1 的单元格范围,矩阵 2 的单元格范围 )。例如,用矩阵 PT 与矩阵 C 相乘,首先选择一个输出区域如 G1:H2,然后输入“ =mmult(A1:B2,C1:D2) ”,然后按下“Ctrl+Shift+En
10、ter ”键( 图 9),即可给出1.206044 1.2060440.20817 -0.20817再用乘得的结果与P 阵相乘,便得对角矩阵1.705603000.294397如果希望一步到位也不难,选定输出区域如C3:D4,然后输入“=mmult(mmult(A1:B2,C1:D2),E1:F2) ” (图 10),同时按下“ Ctrl+Shift+Enter ”键,立即得到结果( 图 11)。显然,对角矩阵对角线的数值恰是相关系数矩阵的特征值。图 9 矩阵乘法示例6图 10 矩阵连乘的命令与语法至此,标准化的原始变量x 与主成分之间z 之间可以表作1 x210.7056x1z1 z2 1.
11、70560z1x0.70561x00.2944z22显然 z1 与 z2 之间正交。图 11 乘法结果:对角矩阵根据特征根计算累计方差贡献率 。现已求得第一特征根为11.7056,第二特征根为20.2944,二者之和刚好就是矩阵的维数,即有 12m2 ,这里 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),可见将相关系数亦即协方差矩阵转换为对角矩阵以后,矩阵的 迹(trace,即对
12、角线元素之和)没有改变,这意味着将原始变量化为主成分以后,系统的信息量没有减少。现在问题是,如果我们只取一个主成分代表原来的两个变量,能反映原始变量的多少信息?这个问题可以借助相关系数矩阵的特征根来判断。利用 Excel 容易算出,第一特征根占特征根总和即矩阵维数的 85.28%(见下表 ),即有特征根累计值百分比累计百分比1.7056031.70560385.28%85.28%70.294397214.72%100.00%也就是说:1 : 1.7056, 1/ m1.7056/ 285.28%2 :0.2944, 2/ m0.2944/ m14.72%12:2,( 12 ) / m2/ 21
13、00%这表明,如果仅取第一个主成分,可以反映原来数据 85.28%的信息换言之,舍弃第二个主成分,原来数据的信息仅仅损失 14.72%,但分析变量的自由度却减少一个,整个分析将会显得更加简明。 计算主成分载荷 。根据公式jj ej ,容易算出11.70560.70710.92350.70710.923520.29440.70710.38370.70710.3837 计算公因子方差和方差贡献 。根据上述计算结果可以比较公因子方差和方差贡献。再考虑全部的两个主成分的时候,对应于1 和 2 的公因子方差分别为V1ij 22210.92350.3837j22V2ij 20.9235( 0.3837)1
14、j对应于第一主成分z1 和第二主成分 z2 的方差贡献分别为CV122ij0.92350.9235 1.7056i22CV2ij0.3837( 0.3837) 0.2944i可以看出( 图 12): 第一,方差贡献等于对应主成分的特征根,即有CV jj第二,公因子方差相等或彼此接近,即有V1V2第一,公因子方差之和等于方差贡献之和,即有ViCV jm2ij第一个规律是我们决定提取主成分数目的判据与之一,第二个规律是我们判断提取主成分数目是否合适的判据之一,第三个规律是我们判断提取主成分后是否损失信息的判据之一。去掉次要的主成分以后,上述规律理当仍然满足。这时如果第二个规律不满足,就意味着主成分
15、的提取是不合适的。此外,上述规律也是我们检验计算结果是否正确的判据之一。8图 12 公因子方差、方差贡献的计算结果及其与特征根的贡献 计算主成分得分。根据主成分与原始变量的关系,应有ZPT X或者XPZ对于本例而言,式中Xx1, Zz1 , Pe1e2e11e120.70710.7071x2z2e21e220.70710.7071这里 e1 e11e12T , e2e21e22T 为前面计算的标准化特征向量。于是有z10.70710.7071x1z0.70710.7071 x22化为代数形式便是z10.7071x10.7071x2z20.7071x10.7071x2式中的 x 均为标准化数据。
16、对 ZPT X 进行转置,可得Z TX T P图 13 计算特征向量的公式及语法9图 14 计算主成分得分根据这个式子,利用Excel 计算主成分得分的步骤如下: 将特征向量复制到标准化数据的附近; 选中一个与标准化数据占据范围一样大小的数值区域(如G2:H26);输入如下计算公式“ =mmult( 标准化数据的范围,特征向量的范围) ”,在本例中就是“=MMULT(B2:C26,E2:F3)”( 图 13); 同时按下“ Ctrl+Shift+Enter ”键。计算主成分得分的均值和方差,可以发现,均值为0(由于误差之故,约等于0),方差等于特征根。最后,可以对主成分得分进行标准化。已知主成
17、分得分的均值为0, 我们不按总体方差进行标准化,而按样本方差进行标准化。10图 15 主成分得分的标准化结果样本方差的计算公式为1n2Var(xj )(xijx jn 1)i 1相应地,标准差为1n(xij2jVar(x j )x j )ni11标准化公式同前面给出的一样。结果见表 15。注意,这里之所以按样本方差进行标准化,主要目的是为了与SPSS的计算结果进行比较。分别以1、 2 为坐标轴,将主成分得分(包括标准化的得分)点列标绘于坐标图中,z z可以发现,点列分布没有任何趋势:回归结果表明,回归系数和相关系数均为零,即有a 0 , b0 , R0 (图 16,图 17)。这从几何图形上显
18、示:主成分之间是正交的,即有 cos0(试将图 16、图 17 与图 2、图 3 对比)。11主成分得分的空间分布1.5000001.000000y = -7E-17x - 2E-162分R = 2E-320.500000得分0.000000成00001.000000 2.000000 3.000000 4.000000-3.000000 -2.000000 -1.000000 0.主二0-0.500000第-1.000000-1.500000第一主成分得分图 16 主成分得分的相关系数为零主成分得分的空间分布(标准化)2.52y = -2E-16x- 4E-171.52= 3E-32分R1得0.5分成0主 -3-2-10123二-0.5-1第-1.5-2第一主成分得分图 17 主成分得分的相关系数为零(标准化)最后可以验证因子载荷即为(标准化)原始数据与主成分得分之间的相关系数,容易算出(x1, z1 )Correl(x1, z1 )0.9235,(x2 , z1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论