主成分分析法matlab實現(xiàn)_第1頁
主成分分析法matlab實現(xiàn)_第2頁
主成分分析法matlab實現(xiàn)_第3頁
主成分分析法matlab實現(xiàn)_第4頁
主成分分析法matlab實現(xiàn)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

利用Matlab編程實現(xiàn)主成分分析概述Matlab語言是當(dāng)今國際上科學(xué)界(尤其是自動控制領(lǐng)域)最具影響力、也是最有活力的軟件。它起源于矩陣運算,并已經(jīng)發(fā)展成一種高度集成的計算機語言。它提供了強大的科學(xué)運算、靈活的程序設(shè)計流程、高質(zhì)量的圖形可視化與界面設(shè)計、與其他程序和語言的便捷接口的功能。Matlab語言在各國高校與研究單位起著重大的作用。主成分分析是把原來多個變量劃為少數(shù)幾個綜合指標(biāo)的一種統(tǒng)計分析方法,從數(shù)學(xué)角度來看,這是一種降維處理技術(shù)。1.1主成分分析計算步驟計算相關(guān)系數(shù)矩陣乜"+ 5企"-怙r ? TITF…%.(1)在(3.5.3)式中,rij(i,j=1,2,…,p)為原變量的xi與xj之間的相關(guān)系數(shù),其計算公式為(2)因為R是實對稱矩陣(即rij=rji),所以只需計算上三角元素或下三角元素即可。

計算特征值與特征向量首先解特征方程AZ-科=0,通常用雅可比法(Jacobi)求出特征值吧鼻12…」},并使其按大小順序排列,即石〉希>->0;然后分別求出對應(yīng)于特征值的特征向量。這里要求=1,即,其中表示向量的第j個分量。計算主成分貢獻(xiàn)率及累計貢獻(xiàn)率主成分的貢獻(xiàn)率為累計貢獻(xiàn)率為一般取累計貢獻(xiàn)率達(dá)85—95%的特征值坷人,…人所對應(yīng)的第一、第二,…,第m(mWp)個主成分。計算主成分載荷其計算公式為(3)得到各主成分的載荷以后,還可以按照(3.5.2)式進(jìn)一步計算,得到各主成分的得分左阿2???(4)程序結(jié)構(gòu)及函數(shù)作用在軟件Matlab中實現(xiàn)主成分分析可以采取兩種方式實現(xiàn):一是通過編程來實現(xiàn);二是直接調(diào)用Matlab種自帶程序?qū)崿F(xiàn)。下面主要主要介紹利用Matlab的矩陣計算功能編程實現(xiàn)主成分分析。2.1程序結(jié)構(gòu)Cwprint.m主函數(shù)

子函數(shù)Cwfac.mCwscore.mCwstd.mCwfac.mCwscore.mCwstd.m2.2函數(shù)作用Cwstd.m——用總和標(biāo)準(zhǔn)化法標(biāo)準(zhǔn)化矩陣Cwfac.m――計算相關(guān)系數(shù)矩陣;計算特征值和特征向量;對主成分進(jìn)行排序;計算各特征值貢獻(xiàn)率;挑選主成分(累計貢獻(xiàn)率大于85%),輸出主成分個數(shù);計算主成分載荷Cwscore.m 計算各主成分得分、綜合得分并排序Cwprint.m 讀入數(shù)據(jù)文件;調(diào)用以上三個函數(shù)并輸出結(jié)果源程序cwstd.m總和標(biāo)準(zhǔn)化法標(biāo)準(zhǔn)化矩陣%cwstd.m,用總和標(biāo)準(zhǔn)化法標(biāo)準(zhǔn)化矩陣functionstd=cwstd(vector)cwsum=sum(vector,1); %對列求和[a,b]二size(vector); %矩陣大小,a為行數(shù),b為列數(shù)fori=1:aforj=1:bstd(i,j)=vector(i,j)/cwsum(j);endendcwfac.m計算相關(guān)系數(shù)矩陣%cwfac.mfunctionresult=cwfac(vector);fprintf('相關(guān)系數(shù)矩陣:\n')std=CORRCOEF(vector) %計算相關(guān)系數(shù)矩陣fprintf('特征向量(vec)及特征值(val):\n')[vec,val]=eig(std) %求特征值(val)及特征向量(vec)newval=diag(val);[y,i]=sort(newval)%對特征根進(jìn)行排序,y為排序結(jié)果,i為索fprintf('特征根排序:\n')forz=1:length(y)newy(z)=y(length(y)+1-z);endfprintf('%g\n',newy)rate=y/sum(y);fprintf('\n貢獻(xiàn)率:\n')newrate=newy/sum(newy)sumrate=0;newi=[];fork=length(y):-1:1sumrate=sumrate+rate(k);newi(length(y)+1-k)=i(k);ifsumrate>0.85break;endend%記下累積貢獻(xiàn)率大85%的特征值的序號放入newi中fprintf('主成分?jǐn)?shù):%g\n\n',length(newi));fprintf('主成分載荷:\n')forp=1:length(newi)forq=1:length(y)result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p));endend %計算載荷disp(result)cwscore.m%cwscore.m,計算得分functionscore=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為排序結(jié)果cwprint.m%cwprint.mfunctionprint=cwprint(filename,a,b);%filename為文本文件文件名,a為矩陣行數(shù)(樣本數(shù)),b為矩陣列數(shù)(變量指標(biāo)數(shù))fid=fopen(filename,'r')vector=fscanf(fid,'%g',[ab]);fprintf('標(biāo)準(zhǔn)化結(jié)果如下:\n')v1=cwstd(vector)result=cwfac(v1);cwscore(v1,result);程序測試4.1原始數(shù)據(jù)中國大陸35個大城市某年的10項社會經(jīng)濟(jì)統(tǒng)計指標(biāo)數(shù)據(jù)見下表。

城市名稱年底總?cè)丝冢ㄈf人)非農(nóng)業(yè)人口比(%)農(nóng)業(yè)總產(chǎn)值(萬元)工業(yè)總產(chǎn)值(萬元)客運總量(萬人)貨運總量(萬噸)地方財政預(yù)算內(nèi)收入(萬元)城鄉(xiāng)居民年底儲蓄余額(萬元)在崗職工人數(shù)(萬人)在崗職工工資總額(萬元)119北10.5978439992045279086326806410.805773301京249.908427706323562646122天910.170.580501645326112807311301202.682254343津9136502259317931石0.23326217095家875.40291888592991135234887595.60758877莊680768太0.65623621113943299.9273720327788.65654023原3038750937895100呼和207.780.44136581622105783139642.11309337浩2343452351623588特15沈677.080.6292958267155679199016135.451152811陽9418733782412998大0.4941810197556連545.31687942678018770922779694.15965922

73938515長0.406494803691.23853966357096102.63884447春8210343810532744哈0.46224676450爾927.09663186481443172.7913091517720520020濱855123254上10.738644259710695294318500336.845605445海313.12401909840648520013南0.53498914115680537.44072664299113.811357861京1199737269193472112杭0.35517117425616.0541400044959396.901180947州6737796883684967110寧0.25422105246538.4142862250172362.15824034波72358662152983502合0.318628411622429.9551423362847.27369577肥476412589351793126福0.273875030583.1315255546752469.59680607州3288351851190220廈0.4863335322108128.9941875846.93657484門5374751728570331

1242南424.200.39868830533167714264062.08479,555昌828988167418946016濟(jì)557.630.408486285511460690412683.31756696南5302882915775970211青702.970.36938249213176584354978103.52961704島33200364080380455鄭615.360.342677287106387252513584.66696848州442560143376833817武740.200.5862115069156046585748149.201314766漢929108579344205513長582.470.31014609885323660346169.57596986沙7367179706718244123廣0.621222320401685.006003481761499182.813047594州473813900785481120深0.793299849519119.85368184790891.261890338圳1662295754274900南285.870.406720153149700219045.09371809寧4486149130293918

691海54.380.8354471752115174162619.01198138口481546134535680048重30.20652259090168585898,912223.731606804慶072.34778052544112496915成1401974790.335935894561189132.891200671都003.565902891406326842貴321.500.455362247154197908178755.28419681陽70619347031437483昆473.390.386793605512524216412788.11842321明53567296040429003西674.500.4097396651094088965863114.01885169安49059423117669802287.590.54425994014169540264165.83550890州5444884832749568西133.950.52265711114913485505127.21219251寧7848310746469銀95.380.570171661217475881410323.72178621川9603226106193烏158.920.82478129254870236555.27517622魯4513847668041508

木齊2414.2運行結(jié)果>>cwprint('cwbook.txt',35,10)fid=6數(shù)據(jù)標(biāo)準(zhǔn)化結(jié)果如下:v1=0.05810.03560.04350.06800.05570.11120.11940.11840.10830.13920.04230.03460.03540.07700.00890.06420.04830.04990.05340.05440.04070.01390.06880.02340.00800.00470.01510.03140.02520.01830.01390.03910.00560.00930.00530.02900.00870.01740.02340.01580.00970.02630.00860.00280.00640.00640.00450.00620.01110.0075

0.03150.03750.03050.01980.02130.037

溫馨提示

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

最新文檔

評論

0/150

提交評論