pca是一種屬降維方法,將眾多具有一定相關性的變數重組為一組新的相互無關的綜合變數,可以用作降維或評價(建議不用,因為新綜合變數很難解釋)。此方法在實際運用中有乙個難點,就是選擇主成分後,需要注意主成分實際含義的解釋(難點)。
1、原始資料標準化處理
2、計算樣本相關係數矩陣
3、計算相關係數矩陣的特徵值以及相應的特徵向量
4、選擇主成分並寫出表示式
根據貢獻率選出主成分
5、計算主成分得分:樣本資料*主成分特徵向量
6、進一步分析
));% 貢獻率
ds(i,3)=
sum(ds(
1:i,1)
)/sum(ds(
:,1)
);% 累計貢獻率
end% calculate the numvber of principal components.t=
0.9;
%set the threshold value for evaluating information preservation level.
fork=1
:b ifds(
k,3)
>=
t com_num=k;
break
; end
end% get the eigenvectors of the com_num principal components
for j=
1:com_num
pv(:
,j)=v(
:,b+
1-j)
;% 與之前倒序排列的特徵值相匹配,故需要倒序
end% calculate the new
socres
of the orginal items
new_score=sa*
pv;for i=1:a
total_score
(i,2)=
sum(
new_score
(i,:))
;total_score
(i,1
)=i;
endnew_score_s=
sortrows
(total_score,-2
);% displays result reports
disp
('特徵值及貢獻率:')ds
disp
('閥值t對應的主成分數與特徵向量:'
)com_num
pvdisp
('主成分分數:'
)new_score
disp
('主成分分數排序:'
易知第9家綜合實力最強,第12家綜合實力最弱
主成分分析Matlab實現
資料匯入及處理 clcclear all a xlsread coach.xlsx b2 h16 資料標準化處理 a size a,1 b size a,2 for i 1 b sa i a i mean a i std a i end 計算相關係數矩陣的特徵值和特徵向量 cm corrcoef s...
Matlab 主成分分析(PCA)
是一種資料降維方法。保留具有代表性的主成分,捨棄比重較小的成分。演算法步驟 matlab 實現 clear all close all clc load data.mat m,n size x step1 預處理資料。均值標準化 零均值 特徵縮放 x x repmat mean x 50,1 s s...
MATLAB實現主成分分析 PCA
function ds,com num,pv,new score,new score s pca dr a,t pca dr 主成分降維及分析函式 輸入變數 a 原始資料 未標準化處理 t 設定累積貢獻率的閾值 輸出變數 ds 特徵值及貢獻率 com num 閾值t對應的主成分數 pv 閾值t對應的...