网站大量收购闲置独家精品文档,联系QQ:2885784924

数学建模-主成分分析聚类分析.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
随机抽取管理学院10名学生,对其4门课程的考试成绩进行统计,如下表所示,这4门课程分别为多元统计分析,运筹学,经济学,管理学. 使用主成分分析方法对学生成绩进行分析. 学生编号 多元统计分析 运筹学 经济学 管理学 1 77 82 67 81 2 63 78 80 81 3 75 73 71 81 4 55 72 63 68 5 31 55 60 73 6 67 81 82 67 7 70 81 78 80 8 66 81 73 71 9 70 68 72 63 10 57 73 55 60 x1=[77 63 75 55 31 67 70 66 70 57]; x2=[82 78 73 72 55 81 81 81 68 73]; x3=[67 80 71 63 60 82 78 73 72 55]; x4=[81 81 81 68 73 67 80 71 63 60]; data=[x1;x2;x3;x4]; %输入观测值数据矩阵 [n,m]=size(data); for i=1:m %将数据矩阵中心标准化 sddata(:,i)=(data(:,i)-mean(data(:,i)))./std(data(:,i),1); end [P,score,egenvalue,t2]=princomp(sddata) %做主成分分析 P = -0.5511 0.3268 -0.3624 0.6769 -0.5588 0.3358 -0.2089 -0.7289 -0.5110 -0.1193 0.8460 0.0944 -0.3505 -0.8753 -0.3307 -0.0398 score = -1.3489 -0.2567 -1.2840 -0.0315 -1.2458 -0.9740 0.5341 -0.2698 -0.8704 -0.7467 -0.5863 0.7336 1.1642 0.3096 -0.2225 -0.2707 3.3634 -1.5690 0.3950 -0.0572 -1.1054 0.8480 1.1534 -0.2345 -1.5954 -0.5212 0.0958 -0.1867 -0.6992 0.4872 0.1005 -0.4105 0.4738 0.9799 0.5768 1.0306 1.8637 1.4430 -0.7628 -0.3031 egenvalue = 2.7502 0.9334 0.5275 0.2334 t2 = 3.8620 2.4333 3.8297 1.0034 7.0609 3.9724 1.3834 1.1732 6.2912 4.9906 for k=1:m gxl(k)=sum(egenvalue(1:k))/sum(egenvalue); end gxl %输出累计贡献率 gxl = 0.6188 0.8288 0.9475 1.0000 plot(score(:,1),score(:,2),r+) %画出第一第二主成分的散点图 gname 第一主成分,所有科目考试成绩的系数均为负,且差异不大,故可解释为学生的综合学习成绩,该主成分得分越小(散点图中的位置越靠左),综合成绩越好. 第二主成分,数学科目考试成绩的系数均为正,专业科目考试成绩的系数均为负,故可解释为学生的数学科目与专业科目学习成绩的差异,该主成分得分绝对值越大则差异越大,由散点图可以看出,10号学生的数学科目明显优于其专业科目成绩,而5号学生的数学科目明显差于其专业科目成绩. Y1=score(:,1);ZF=(sum(data)); %提取第一主成分得分,求每个学生的总分 for k=1:n order(k,1)=find(Y1==min(Y1));Y1(order(k,1))=inf; %按第一主成分得分由高到低排序 order(k,2)=find(ZF==max(ZF));ZF(order(k,2))=-inf; %按总分由高到低排序 end order order = 7 7 1 1 2 2 6

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档