欢迎来到天天文库
浏览记录
ID:58632784
大小:15.00 KB
页数:2页
时间:2020-10-17
《主成分分析matlab源程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、dataset=[263.8621.611442.754680.268.7642.072182.617560.261.1961.597692.350370.248.7082.096092.852790.253.3651.694572.94920.268.4341.568192.781130.13252258.7412.146532.691110.244.1922.021562.226070.219.7381.612241.885990.244.7021.914772.259450.245.2862.124992.352820.251.961.837142.535190.251.1641
2、.741672.629610.251.8242.001332.626650.257.682.148782.656860.]stdr=std(dataset);%求个变量的标准差[n,m]=size(dataset);%定义矩阵行列数sddata=dataset./stdr(ones(n,1),:);%将原始数据采集标准化sddata%输出标准化数据[p,princ,eigenvalue,t2]=princomp(sddata);%调用前三个主成分系数p3=p(:,1:3);%提取前三个主成分得分系数,通过看行可以看出对应的原始数据的列,每个列在每个主成分的得分p3%输出前三个主成分得分
3、系数sc=princ(:,1:3);%提取前三个主成分得分值sc%输出前三个主成分得分值e=eigenvalue(1:3)';%提取前三个特征根并转置M=e(ones(m,1),:).^0.5;%输出前三个特征根并转置compmat=p3.*M;%利用特征根构造变换矩阵per=100*eigenvalue/sum(eigenvalue);%求出成分载荷矩阵的前三列per%求出各主成分的贡献率cumsum(per);%列出各主成分的累积贡献率figure(1)pareto(per);%将贡献率绘成直方图t2figure(2)%输出各省与平局距离plot(eigenvalue,'r+');
4、%绘制方差贡献散点图holdon%保持图形plot(eigenvalue,'g-');%绘制方差贡献山麓图figure(3)%关闭图形plot(princ(:,1),princ(:,2),'+');%绘制2维成份散点图%gname%,(rowname)%标示个别散点代表的省data市[st2,index]=sort(t2);%st2=flipud(st2);%index=flipud(index);%extreme=index(1);
此文档下载收益归作者所有