matlab主成分分析法.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 成分 分析
- 资源描述:
-
§10.利用Matlab编程实现主成分分析 1.概述 Matlab语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 (1) 在(,rij(i,j=1,2,…,p)为原变量的xi与xj之间的相关系数,其计算公式为 (2) 因为R是实对称矩阵(即rij=rji),所以只需计算上三角元素或下三角元素即可。 ② 计算特征值与特征向量 首先解特征方程,通常用雅可比法(Jacobi)求出特征值,并使其按大小顺序排列,即;然后分别求出对应于特征值的特征向量。这里要求=1,即,其中表示向量的第j个分量。 ③ 计算主成分贡献率及累计贡献率 主成分的贡献率为 累计贡献率为 一般取累计贡献率达85—95%的特征值所对应的第一、第二,…,第m(m≤p)个主成分。 ④ 计算主成分载荷 其计算公式为 (3) 得到各主成分的载荷以后,还可以按照(,得到各主成分的得分 (4) 2.程序结构及函数作用 在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab种自带程序实现。下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。 2.1程序结构 Cwprint.m 主函数 子函数 Cwfac.m Cwscore.m Cwstd.m 2.2函数作用 Cwstd.m——用总和标准化法标准化矩阵 Cwfac.m——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷 Cwscore.m——计算各主成分得分、综合得分并排序 Cwprint.m——读入数据文件;调用以上三个函数并输出结果 3.源程序 3.1 cwstd.m总和标准化法标准化矩阵 %cwstd.m,用总和标准化法标准化矩阵 function std=cwstd(vector) cwsum=sum(vector,1); %对列求和 [a,b]=size(vector); %矩阵大小,a为行数,b为列数 for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); end end 3.2 cwfac.m计算相关系数矩阵 %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) 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 end %计算载荷 disp(result) 3.3 cwscore.m %cwscore.m,计算得分 function score=cwscore(vector1,vector2); sco=vector1*vector2; csum=sum(sco,2); [newcsum,i]=sort(-1*csum); [newi,j]=sort(i); fprintf('计算得分:\n') score=[sco,csum,j] %得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果 3.4 cwprint.m %cwprint.m function print=cwprint(filename,a,b); %filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数) fid=fopen(filename,'r') vector=fscanf(fid,'%g',[a b]); fprintf('标准化结果如下:\n') v1=cwstd(vector) result=cwfac(v1); cwscore(v1,result); 4.程序测试 4.1原始数据 中国大陆35个大城市某年的10项社会经济统计指标数据见下表。 城 市 名 称 年底 总人口 (万人) 非农业 人口比(%) 农 业 总产值 (万元) 工业 总产值 (万元) 客运总量 (万人) 货运总量 (万吨) 地方财政 预算内收入(万元) 城乡居民年底储蓄余额 (万元) 在岗职工人数(万人) 在岗职工工资总额 (万元) 北 京 1 249.90 0.597 8 1 843 427 19 999 706 20 323 45 562 2 790 863 26 806 646 410.80 5 773 301 天 津 910.17 0.580 9 1 501 136 22 645 502 3 259 26 317 1 128 073 11 301 931 202.68 2 254 343 石 家 庄 875.40 0.233 2 2 918 680 6 885 768 2 929 1 911 352 348 7 095 875 95.60 758 877 太 原 299.92 0.656 3 236 038 2 737 750 1 937 11 895 203 277 3 943 100 88.65 654 023 呼和浩特 207.78 0.441 2 365 343 816 452 2 351 2 623 105 783 1 396 588 42.11 309 337 沈 阳 677.08 0.629 9 1 295 418 5 826 733 7 782 15 412 567 919 9 016 998 135.45 1 152 811 大 连 545.31 0.494 6 1 879 739 8 426 385 10 780 19 187 709 227 7 556 796 94.15 965 922 长 春 691.23 0.406 8 1 853 210 5 966 343 4 810 9 532 357 096 4 803 744 102.63 884 447 哈 尔 滨 927.09 0.462 7 2 663 855 4 186 123 6 720 7 520 481 443 6 450 020 172.79 1 309 151 上 海 1 313.12 0.738 4 2 069 019 54 529 098 6 406 44 485 4 318 500 25 971 200 336.84 5 605 445 南 京 537.44 0.534 1 989 199 13 072 737 14 269 11 193 664 299 5 680 472 113.81 1 357 861 杭 州 616.05 0.355 6 1 414 737 12 000 796 17 883 11 684 449 593 7 425 967 96.90 1 180 947 宁 波 538.41 0.254 7 1 428 235 10 622 866 22 215 10 298 501 723 5 246 350 62.15 824 034 合 肥 429.95 0.318 4 628 764 2 514 125 4 893 1 517 233 628 1 622 931 47.27 369 577 福 州 583.13 0.273 3 2 152 288 6 555 351 8 851 7 190 467 524 5 030 220 69.59 680 607 厦 门 128.99 0.486 5 333 374 5 751 124 3 728 2 570 418 758 2 108 331 46.93 657 484 南 昌 424.20 0.398 8 688 289 2 305 881 3 674 3 189 167 714 2 640 460 62.08 479 ,555 济 南 557.63 0.408 5 1 486 302 6 285 882 5 915 11 775 460 690 4 126 970 83.31 756 696 青 岛 702.97 0.369 3 2 382 320 11 492 036 13 408 17 038 658 435 4 978 045 103.52 961 704 郑 州 615.36 0.342 4 677 425 5 287 601 10 433 6 768 387 252 5 135 338 84.66 696 848 武 汉 740.20 0.586 9 1 211 291 7 506 085 9 793 15 442 604 658 5 748 055 149.20 1 314 766 长 沙 582.47 0.310 7 1 146 367 3 098 179 8 706 5 718 323 660 3 461 244 69.57 596 986 广 州 685.00 0.621 4 1 600 738 23 348 139 22 007 23 854 1 761 499 20 401 811 182.81 3 047 594 深 圳 119.85 0.793 1 299 662 20 368 295 8 754 4 274 1 847 908 9 519 900 91.26 1 890 338 南 宁 285.87 0.406 4 720 486 1 149 691 5 130 3 293 149 700 2 190 918 45.09 371 809 海 口 54.38 0.835 4 44 815 717 461 5 345 2 356 115 174 1 626 800 19.01 198 138 重 庆 3 072.34 0.206 7 4 168 780 8 585 525 52 441 25 124 898,912 9 090 969 223.73 1 606 804 成 都 1 003.56 0.335 1 935 590 5 894 289 40 140 19 632 561 189 7 479 684 132.89 1 200 671 贵 阳 321.50 0.455 7 362 061 2 247 934 15 703 4 143 197 908 1 787 748 55.28 419 681 昆 明 473.39 0.386 5 793 356 3 605 729 5 604 12 042 524 216 4 127 900 88.11 842 321 西 安 674.50 0.409 4 739 905 3 665 942 10 311 9 766 408 896 5 863 980 114.01 885 169 兰 州 287.59 0.544 5 259 444 2 940 884 1 832 4 749 169 540 2 641 568 65.83 550 890 西 宁 133.95 0.522 7 65 848 711 310 1 746 1 469 49 134 855 051 27.21 219 251 银 川 95.38 0.570 9 171 603 661 226 2 106 1 193 74 758 814 103 23.72 178 621 乌鲁木齐 158.92 0.824 4 78 513 1 847 241 2 668 9 041 254 870 2 365 508 55.27 517 622 4.2运行结果 >> cwprint('cwbook.txt',35,10) fid = 6 数据标准化结果如下: v1 = 0.0581 0.0356 0.0435 0.0680 0.0557 0.1112 0.1194 0.1184 0.1083 0.1392 0.0423 0.0346 0.0354 0.0770 0.0089 0.0642 0.0483 0.0499 0.0534 0.0544 0.0407 0.0139 0.0688 0.0234 0.0080 0.0047 0.0151 0.0314 0.0252 0.0183 0.0139 0.0391 0.0056 0.0093 0.0053 0.0290 0.0087 0.0174 0.0234 0.0158 0.0097 0.0263 0.0086 0.0028 0.0064 0.0064 0.0045 0.0062 0.0111 0.0075 0.0315 0.0375 0.0305 0.0198 0.0213 0.0376 0.0243 0.0398 0.0357 0.0278 0.0253 0.0295 0.0443 0.0286 0.0295 0.0468 0.0304 0.0334 0.0248 0.0233 0.0321 0.0242 0.0437 0.0203 0.0132 0.0233 0.0153 0.0212 0.0270 0.0213 0.0431 0.0276 0.0628 0.0142 0.0184 0.0184 0.0206 0.0285 0.0455 0.0316 0.0610 0.0440 0.0488 0.1853 0.0176 0.1086 0.1848 0.1148 0.0888 0.1352 0.0250 0.0318 0.0233 0.0444 0.0391 0.0273 0.0284 0.0251 0.0300 0.0327 0.0286 0.0212 0.0334 0.0408 0.0490 0.0285 0.0192 0.0328 0.0255 0.0285 0.0250 0.0152 0.0337 0.0361 0.0609 0.0251 0.0215 0.0232 0.0164 0.0199 0.0200 0.0190 0.0148 0.0085 0.0134 0.0037 0.0100 0.0072 0.0125 0.0089 0.0271 0.0163 0.0508 0.0223 0.0243 0.0175 0.0200 0.0222 0.0183 0.0164 0.0060 0.0290 0.0079 0.0195 0.0102 0.0063 0.0179 0.0093 0.0124 0.0159 0.0197 0.0237 0.0162 0.0078 0.0101 0.0078 0.0072 0.0117 0.0164 0.0116 0.0259 0.0243 0.0350 0.0214 0.0162 0.0287 0.0197 0.0182 0.0220 0.0182 0.0327 0.0220 0.0562 0.0391 0.0367 0.0416 0.0282 0.0220 0.0273 0.0232 0.0286 0.0204 0.0160 0.0180 0.0286 0.0165 0.0166 0.0227 0.0223 0.0168 0.0344 0.0349 0.0286 0.0255 0.0268 0.0377 0.0259 0.0254 0.0393 0.0317 0.0271 0.0185 0.0270 0.0105 0.0239 0.0140 0.0139 0.0153 0.0183 0.0144 0.0318 0.0370 0.0377 0.0793 0.0603 0.0582 0.0754 0.0901 0.0482 0.0735 0.0056 0.0472 0.0071 0.0692 0.0240 0.0104 0.0791 0.0421 0.0240 0.0456 0.0133 0.0242 0.0170 0.0039 0.0141 0.0080 0.0064 0.0097 0.0119 0.0090 0.0025 0.0497 0.0011 0.0024 0.0146 0.0057 0.0049 0.0072 0.0050 0.0048 0.1428 0.0123 0.0983 0.0292 0.1437 0.0613 0.0385 0.0402 0.0590 0.0387 0.0466 0.0199 0.0456 0.0200 0.1100 0.0479 0.0240 0.0331 0.0350 0.0290 0.0149 0.0271 0.0085 0.0076 0.0430 0.0101 0.0085 0.0079 0.0146 0.0101 0.0220 0.0230 0.0187 0.0123 0.0154 0.0294 0.0224 0.0182 0.0232 0.0203 0.0313 0.0244 0.0174 0.0125 0.0283 0.0238 0.0175 0.0259 0.0300 0.0213 0.0134 0.0324 0.0061 0.0100 0.0050 0.0116 0.0073 0.0117 0.0173 0.0133 0.0062 0.0311 0.0016 0.0024 0.0048 0.0036 0.0021 0.0038 0.0072 0.0053 0.0044 0.0340 0.0040 0.0022 0.0058 0.0029 0.0032 0.0036 0.0063 0.0043 0.0074 0.0491 0.0019 0.0063 0.0073 0.0221 0.0109 0.0105 0.0146 0.0125 相关系数矩阵: std = 1.0000 -0.3444 0.8425 0.3603 0.7390 0.6215 0.4039 0.4967 0.6761 0.4689 -0.3444 1.0000 -0.4750 0.3096 -0.3539 0.1971 0.3571 0.2600 0.1570 0.3090 0.8425 -0.4750 1.0000 0.3358 0.5891 0.5056 0.3236 0.4456 0.5575 0.3742 0.3603 0.3096 0.3358 1.0000 0.1507 0.7664 0.9412 0.8480 0.7320 0.8614 0.7390 -0.3539 0.5891 0.1507 1.0000 0.4294 0.1971 0.3182 0.3893 0.2595 0.6215 0.1971 0.5056 0.7664 0.4294 1.0000 0.8316 0.8966 0.9302 0.9027 0.4039 0.3571 0.3236 0.9412 0.1971 0.8316 1.0000 0.9233 0.8376 0.9527 0.4967 0.2600 0.4456 0.8480 0.3182 0.8966 0.9233 1.0000 0.9201 0.9731 0.6761 0.1570 0.5575 0.7320 0.3893 0.9302 0.8376 0.9201 1.0000 0.9396 0.4689 0.3090 0.3742 0.8614 0.2595 0.9027 0.9527 0.9731 0.9396 1.0000 特征向量(vec): vec = -0.1367 0.2282 -0.2628 0.1939 0.6371 -0.2163 0.3176 -0.1312 -0.4191 0.2758 -0.0329 -0.0217 0.0009 0.0446 -0.1447 -0.4437 0.4058 -0.5562 0.5487 0.0593 -0.0522 -0.0280 0.2040 -0.0492 -0.5472 -0.4225 0.3440 0.3188 -0.4438 0.2401 0.0067 -0.4176 -0.2856 -0.2389 0.1926 -0.4915 -0.4189 0.2726 0.2065 0.3403 0.0404 0.1408 0.0896 0.0380 -0.1969 -0.0437 -0.4888 -0.6789 -0.4405 0.1861 -0.0343 0.2360 0.0640 -0.8294 0.0377 0.2662 0.1356 -0.1290 0.0278 0.3782 0.2981 0.4739 0.5685 0.2358 0.1465 -0.1502 -0.2631 0.1245 0.2152 0.3644 0.1567 0.3464 -0.6485 0.2489 -0.4043 0.2058 -0.0704 0.0462 0.1214 0.3812 0.4879 -0.5707 0.1217 0.1761 0.0987 0.3550 0.3280 -0.0139 0.0071 0.3832 -0.7894 -0.1628 0.1925 0.2510 -0.0422 0.2694 0.0396 0.0456 0.1668 0.3799 特征值(val) val = 0.0039 0 0 0 0 0 0 0 0 0 0 0.0240 0 0 0 0 0 0 0 0 0 0 0.0307 0 0 0 0 0 0 0 0 0 0 0.0991 0 0 0 0 0 0 0 0 0 0 0.1232 0 0 0 0 0 0 0 0 0 0 0.2566 0 0 0 0 0 0 0 0 0 0 0.3207 0 0 0 0 0 0 0 0 0 0 0.5300 0 0 0 0 0 0 0 0 0 0 2.3514 0 0 0 0 0 0 0 0 0 0 6.2602 特征根排序: 6.26022 2.35138 0.530047 0.320699 0.256639 0.123241 0.0990915 0.0307088 0.0240355 0.00393387 各主成分贡献率: newrate = 0.6260 0.2351 0.0530 0.0321 0.0257 0.0123 0.0099 0.0031 0.0024 0.0004 第一、二主成分的载荷: 0.690 1 -0.6427 0.148 3 0.8414 0.600 7 -0.6805 0.851 5 0.3167 0.465 6 -0.6754 0.946 3 0.0426 0.911 7 0.3299 0.953 7 0.1862 0.958 9 0.0109 0.950 6 0.2558 第一、二、三、四主成分的得分: score = 0.718 5 0.049 9 0.768 4 2.0000 0.380 6 0.038 6 0.419 2 4.0000 0.184 8 -0.043 3 0.141 4 21.0000 0.118 6 0.031 1 0.149 7 20.0000 0.054 9 0.011 5 0.066 4 33.0000 0.228 8 0.007 0 0.235 8 7.000 0 0.2364 -0.0081 0.2283 10.0000 0.1778 -0.0167 0.1611 16.0000 0.2292 -0.0337 0.1955 14.0000 0.8382 0.1339 0.9721 1.0000 0.2276 0.0064 0.2340 8.0000 0.2279 -0.0222 0.2056 12.0000 0.1989 -0.0382 0.1607 18.0000 0.0789 -0.0061 0.0728 32.0000 0.1711 -0.0317 0.1394 23.0000 0.0926 0.0266 0.1192 25.0000 0.0900 -0.0000 0.0899 28.0000 0.1692 -0.0082 0.1610 17.0000 0.2441 -0.0318 0.2124 11.0000 0.1507 -0.0108 0.1399 22.0000 0.2316 0.0012 0.2328 9.0000 0.1294 -0.0211 0.1083 27.0000 0.4716 0.0328 0.5045 3.0000 0.2737 0.0834 0.3570 5.0000 0.0754 -0.0013 0.0741 31.0000 0.0448 0.0349 0.0797 30.0000 0.4759 -0.2028 0.2731 6.0000 0.2907 -0.0883 0.2024 13.0000 0.0944 -0.0118 0.0826 29.0000 0.1546 0.0035 0.1581 19.0000 0.1718 -0.0092 0.1626 15.0000 0.0865 0.0230 0.1095 26.0000 0.0349 0.0216 0.0566 35.0000 0.0343 0.0228 0.0572 34.0000 0.0889 0.0422 0.1310 24.0000展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




matlab主成分分析法.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4881202.html