文档介绍:随机抽取管理学院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]=p(sddata) %做主成分分析
P =
- -
- - -
- -
- - - -
score =
- - - -
- - -
- - -
- -
- -
- -
- - -
- -
- -
egenvalue =
t2 =
>> for k=1:m
gxl(k)=sum(egenvalue(1:k))/sum(egenvalue);
end
>> gxl %输出累计贡献率
gxl =
>> 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 3
3 6
8 8
9 9
4 4
10 10
5 5
两种排序方式下3号学生和6号学生的排序结果相反,原因在于
可见,这四个科目成绩的重要性是依次递减的,3号学生的总分