篇一:主成分分析/KMO检验

该文使用主成分分析(PCA)对葡萄成分数据进行处理,首先进行数据标准化,然后计算相关系数矩阵的特征值和特征向量。通过累计贡献率确定信息保留率为80%时的主成分数,并提取相应的特征向量。最后,计算主成分得分并按总分排序。文中还提到了KMO检验作为额外的质量检查工具。
摘要由CSDN通过智能技术生成
%主成分分析
clc
clear all
A=xlsread('葡萄成分数据表.xlsx','葡萄成分','B30:AM57');
%得到的数据矩阵的行数和列数
[a,b]=size(A)
%数据的标准化处理:得到标准化后的矩阵SA
for i=1:b
    SA(:,i)=(A(:,i)-mean(A(:,i)))/std(A(:,i));
end
%计算系数矩阵:CM
CM=corrcoef(SA);  %corr
%计算CM的特征值和特征向量
[V,D]=eig(CM);
%将特征值按降序排列到DS中
for j=1:b
    DS(j,1)=D(b+1-j,b+1-j);
end
%计算贡献率
for  i=1:b
    DS(i,2)=DS(i,1)/sum(DS(:,1));%单个贡献率
    DS(i,3)=sum(DS(1:i,1))/sum(DS(:,1));%累计贡献率
end
%假定主成分的信息保留率
T=0.8;
for k=1:b
    if DS(k,3) >= T
        num=k;
        break;
    end
end
%提取主成分的特征向量
for j=1:num
    PV(:,j)=V(:,b+1-j);
end
%计算主成分得分
new_score=SA*PV;
for i=1:a
    total_score(i,1)=sum(new_score(i,:));
    total_score(i,2)=i;
end
%强主成分得分与总分放到同一个矩阵中
result_report=[new_score,total_score];
%按总分降序排列
result_report=sortrows(result_report,-4);%-4需要做出调整
%输出结果
disp('特征值、贡献率、累计贡献率:')
DS
disp('信息保留率T对应的主成分数与特征向量:')
com_num
PV
disp('主成分得分及排序')
result_report
%KMO检验,KMO检验可以用SPSS做
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值