主成分分析案例


主成分分析案例——我國各地區普通高等教育發展水平綜合評價

 

主成分分析步驟

  • 對原始數據進行標准化處理

  • 計算相關系數矩陣

  • 計算特征值和特征向量

  • 選擇 個主成分,進行綜合評價

分析

clc,clear;
load gj.txt;
​
% 標准化數據 計算相關系數矩陣
gj = zscore(gj);
r = corrcoef(gj);
​
% 利用相關系數矩陣進行主成分分析
% vec1 的列是 r 的特向量,即主成分系數
% lamda 為 r 的特征值
% rate  為各個主成分的貢獻率
[vec1,lamda,rate] = pcacov(r);
​
% 對貢獻率累加求和
contr = cumsum(rate);
​
% 構造與 vec1 同維數的元素為+1,-1的矩陣
f = repmat(sign(sum(vec1)),size(vec1,1),1);
​
% 修改特征向量的正負號,使得每個特征向量的分量和為正
vec2 = vec1.*f;
​
% 選取 4 個主成分元素
num = 4;
​
% 計算各個主成分得分 30*10 10*4 -> 30 * 4
% y1 y2 y3 y3 ———— 北京
df = gj*vec2(:,1:num);      
​
% 計算綜合得分
tf = df*rate(1:num)/100;
​
% 排序
[stf,ind] = sort(tf,'descend');
stf = stf';         % 得分
ind = ind';         % 名次

看程序應該是目前學過的最復雜的MATLAB程序了。

先看  vec1 列,他是主成分系數,也就是特征向量。

也就是說前幾個主成分分別為:

 

從表中可以看出第一主成分主要反映了前6個指標,第二主成分主要反映第7,第8個指標,等等。

 

然后是 rate 參數:

 

他是各個主成分對綜合評價的比例:

累加求和,要選取的主成分可以辨別  %90 以上的數據樣本,可知選4個主成分較好。

 

可以構建主成分綜合評價模型

 

然后代入樣本數據,看每個地區的得分情況。

需要注意的是,后面的  y5 , y6 ,..., y10都不要算咯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM