主成分分析法MATLAB的實現_第1頁
主成分分析法MATLAB的實現_第2頁
主成分分析法MATLAB的實現_第3頁
主成分分析法MATLAB的實現_第4頁
主成分分析法MATLAB的實現_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MATLAB結課作業指導老師:張肅 班級:信管 121 姓名:桂亞東學號: 4118利用Matlab編程實現主成分分析概述Matlab語言是當今國際上科學界(尤其是自動控制領域)最具影響力、也是 最有活力的軟件。它起源于矩陣運算,并已經發展成一種高度集成的計算機語言。 它提供了強大的科學運算、靈活的程序設計流程、高質量的圖形可視化與界面設 計、與其他程序和語言的便捷接口的功能。Matlab語言在各國高校與研究單位 起著重大的作用。主成分分析是把原來多個變量劃為少數幾個綜合指標的一種統 計分析方法,從數學角度來看,這是一種降維處理技術。主成分分析計算步驟1222 計算相關系數矩陣ri p2prp

2、irP2rPP(1)在(3.5.3 )式中,rij(i ,j=1,2,,p)為原變量的xi與xj之間的相關系數,其計算公式為rijn(Xkik 1nn(XkiXi )2 (Xkj Xj)2k 1k 1Xi)(Xkj Xj)(2)因為R是實對稱矩陣(即rij=rji ),所以只需計算上三角元素或下三角元素即可。 計算特征值與特征向量首先解特征方程I R 0 ,通常用雅可比法(Jacobi )求出特征值0;然后分別求i(i1,2,P),并使其按大小順序排列,即 !2P出對應于特征值i的特征向量e (i 1,2, p)。這里要求|e =1,即e21,其j 1中e表示向量ei的第j個分量 計算主成分貢

3、獻率及累計貢獻率主成分乙的貢獻率為p(i1,2,p)累計貢獻率為kk 1ikk 1p(i1,2,p)kk 1一般取累計貢獻率達85 95%勺特征值1, 2,m所對應的第一、第二,第m (m< p)個主成分。計算主成分載荷其計算公式為lijP(Z,Xj) J ieji, j 1,2, p)(3)得到各主成分的載荷以后,還可以按照(3.5.2 )式進一步計算,得到各主 成分的得分4)z11z12z1mZz21z22z2mzn1zn2znm2. 函數作用用總和標準化法標準化矩陣計算相關系數矩陣; 計算特征值和特征向量; 對主成分進行排序; 計算 各特征值貢獻率;挑選主成分(累計貢獻率大于85%

4、),輸出主成分個數;計算主成分載荷計算各主成分得分、綜合得分并排序讀入數據文件;調用以上三個函數并輸出結果3. 源程序總和標準化法標準化矩陣%,用總和標準化法標準化矩陣 function std=cwstd(vector) cwsum=sum(vector,1); % 對列求和 a,b=size(vector); % 矩陣大小 ,a 為行數 ,b 為列數 for i=1:afor j=1:bstd(i,j)= vector(i,j)/cwsum(j);end end計算相關系數矩陣i 為索引newi 中function result=cwfac(vector);fprintf(' 相關

5、系數矩陣 :n') std=CORRCOEF(vector) % 計算相關系數矩陣 fprintf(' 特征向量 (vec) 及特征值 (val) : n')vec,val=eig(std) % 求特征值 (val) 及特征向量 (vec) newval=diag(val) ;y,i=sort(newval) ; % 對特征根進行排序, y 為排序結果, fprintf(' 特征根排序: n')for z=1:length(y) newy(z)=y(length(y)+1-z);end fprintf('%gn',newy) rate=y

6、/sum(y);fprintf('n 貢獻率: n') newrate=newy/sum(newy) sumrate=0;newi=;for k=length(y):-1:1sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k);if sumrate> break;endend % 記下累積貢獻率大 85%的特征值的序號放入 fprintf(' 主成分數: %gnn',length(newi);fprintf(' 主成分載荷: n')for p=1:length(newi)for q=1:leng

7、th(y) result(q,p)=sqrt(newval(newi(p)*vec(q,newi(p);endend % 計算載荷 disp(result)%,計算得分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為排序結果%function prin t=cwpri n

8、t(file name,a,b);%filename為文本文件文件名,a為矩陣行數(樣本數),b為矩陣列數(變量指標數)fid=fope n( file name,'。vector=fsca nf(fid,'%g',a b);fprintf('標準化結果如下:n')v1=cwstd(vector)result=cwfac(v1); cwscore(v1,result);4.程序測試原始數據中國大陸35個大城市某年的10項社會經濟統計指標數據見下表。城名市稱年底總人口(萬人)非農業人口比(%)農業總產值 (萬元)工業總產值(萬元)客運 總量(萬人)貨運總量

9、(萬噸)地方財政預算內收入(萬元)城鄉居民年底儲蓄余額(萬元)在崗職工人數(萬人)在崗職工工資總額(萬元)北京181 843 42719 999 70620 32345 5622 790 86326 806 6465 773 301天津91 501 13622 645 5023 25926 3171 128 07311 301 9312 254 343石家莊22 918 6806 885 7682 9291 911352 3487 095 875758 877太原3236 0382 737 7501 93711 895203 2773943 100654 023呼和浩特2365 343816

10、4522 3512 623105 7831 396 588309 337沈陽91 295 4185 826 7337 78215 412567 9199 016 9981 152 811大連61 879 7398 426 38510 78019 187709 2277 556 796965 922長春81 853 2105 966 3434 8109 532357 0964 803 744884 447哈爾濱72 663 8554 186 1236 7207 520481 4436 450 0201 309 151上海142 069 01954 529 0986 40644 4854 318

11、50025 971 2005 605 445南京1989 19913 072 73714 26911 193664 2995 680 4721 357 861杭州61 414 73712 000 79617 88311 684449 5937 425 9671 180 947寧波71 428 23510 622 86622 21510 298501 7235 246 350824 034合肥4628 7642 514 1254 8931 517233 6281 622 931369 577福州32 152 2886 555 3518 8517 190467 5245 030 220680 60

12、7廈門5333 3745 751 1243 7282 570418 7582 108 331657 484南昌8688 2892 305 8813 6743 189167 7142 640 460479 ,555濟南51 486 3026 285 8825 91511 775460 6904 126 970756 696青島32 382 32011 492 03613 40817 038658 4354 978 045961 704鄭州4677 4255 287 60110 4336 768387 2525 135 338696 848武漢91 211 2917 506 0859 79315

13、442604 6585 748 0551 314 766長沙71 146 3673 098 1798 7065 718323 6603 461 244596 986廣州41 600 73823 348 13922 00723 8541 761 49920 401 8113 047 594深圳1299 66220 368 2958 7544 2741 847 9089 519 9001 890 338南寧4720 4861 149 6915 1303 293149 7002 190 918371 809海口444 815717 4615 3452 356115 1741 626 800198 1

14、38重慶374 168 7808 585 52552 44125 124898,9129 090 9691 606 804成都11 935 5905 894 28940 14019 632561 1897 479 6841 200 671貴陽7362 0612 247 93415 7034 143197 9081 787 748419 681昆明5793 3563 605 7295 60412 042524 2164 127 900842 321西安4739 9053 665 94210 3119 766408 8965 863 980885 169蘭州5259 4442 940 8841 8324 749169 5402 641 568550 890西寧765 848711 3101 7461 46949 134855 051219 251銀川9171 603661 2262 1061 19374 758814 103178 621烏魯木齊478 5131 847 2412 6689 041254 8702 365 508517 622運行結果>> cwpri nt(",35,10)fid =數據標準化結果如下:6v1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論