【数学建模学习】主成分分析法PCA板子

    技术2022-07-14  68

    理论不说了,主要就是n维的指标降维,从而方便评价。 matlab代码:

    clc,clear gj=load('pjsj.txt'); gj=zscore(gj);%数据标准化 r=corrcoef(gj);%计算相关系数矩阵 %利用相关系数矩阵进行主成分分析,x的列为r的特征向量,即主成分的系数 [x,y,z]=pcacov(r) %y为r的特征值,z为各个主成分的贡献率 f=repmat(sign(sum(x)),size(x,1),1);%构造与x同维数的元素为±1的矩阵 x=x.*f %修改特征向量的正负号,每个特征向量乘以所有分量和的符号的函数值 num=3; %num为选取的主成分的个数 df=gj*x(:,[1:num]); %计算各个主成分的得分 tf=df*z(1:num)/100; %计算综合得分 [stf,ind]=sort(tf,'descend'); %把得分按照从高到低的次序排列 stf=stf',ind=ind' %pjsj:行:指标;列:样本 %看什么: %z:贡献率 %x:第i列:第i主成分的系数 %最后根据num个主成分的比重来综合得到综合评价模型 %stf:综合评价值 %ind:对应stf名次的是第几个样本

    pjsj.txt

    0.71 0.49 0.41 0.51 0.46 0.40 0.39 0.44 0.57 0.50 0.55 0.56 0.48 0.53 0.49 0.62 0.93 0.38 0.53 0.49 0.45 0.42 0.41 0.54 0.47 0.36 0.37 0.46 0.54 0.46 0.55 0.68 0.42 0.54 0.46 0.62 0.90 0.38 0.56 0.46 0.61 0.99 0.33 0.57 0.43 0.71 0.93 0.35 0.66 0.44 0.59 0.69 0.36 0.57 0.48 0.41 0.47 0.40 0.54 0.48 0.26 0.29 0.43 0.57 0.48 0.14 0.16 0.43 0.55 0.47 0.12 0.13 0.45 0.59 0.54 0.22 0.25 0.44 0.58 0.52 0.71 0.49 0.41 0.51 0.46
    Processed: 0.018, SQL: 9