转载-Matlab主成分分析(无来源说明)
z=zscore(active);
M=cov(z) ;%协方差
[V,D]=eig(M); %求出协方差矩阵的特征向量、特征根
d=diag(D); %取出特征根矩阵列向量(提取出每一主成分的贡献率)
eig1=sort(d,'descend') %将贡献率按从大到小元素排列
v=fliplr(V) %依照D重新排列特征向量
S=0;
i=0;
while S/sum(eig1)<0.6
i=i+1;
S=S+eig1(i);
end %求出累积贡献率大于85%的主成分
NEW=z*v(:,1:i) %输出产生的新坐标下的数据
W=100*eig1/sum(eig1)
figure(1)
pareto(W); %画出贡献率的直方图

浙公网安备 33010602011771号