MATLAB主成分分析法
F=[A-ones(m,1)*mean(A)]*d(:,6); %计算主成分第一主成分得分
[F1,I1]=sort(F,'descend'); %给出各市名次的序号
[F2,I2]=sort(I1); %给出各市排名
plot(1:m,F,'*'); %主成分得分图
实验结果分析
结果分析34
2.41
8.11
99.54
江西
26.75
12
65.12
2.51
5.6
98.69
山东
31.6
17.64
59.02
2.94
9.91
99.36
河南
37.7
13.02
65.02
2.68
6.86
98.58
湖北
33.75
10.65
54.28
2.17
9.87
98.56
湖南
35.96
16.62
62.35
2.62
55.26
2.56
32.94
99.21
上海
27.39
12.42
45.62
2.13
8.04
99.26
江苏
26.45
14.02
58.99
2.88
6.91
99.64
浙江
24.48
14.82
58.81
3.18
6.17
99.65
安徽
35.13
10.63
65.65
2.39
4.95
98.4
福建
29.76
12.67
(2)利用协方差和相关系数,最大特征值对应的不是正向量,所以均不能用第一主成分进行排名
(3)构造的实对称矩阵,最大特征值对应的是正向量,且其贡献率为71.68%,所以能用第一主成分进行排名,排名结果为:
北京
天津
河北
山西
内蒙古
辽宁
吉林
黑龙江
上海
江苏
16
6
11
27
17
15
30
14
13
5
浙江
安徽
福建
江西
山东
A2=(A(:,2)-min(A(:,2)))./(max(A(:,2))-min(A(:,2)));
A3=(max(A(:,3))-A(:,3))./(max(A(:,3))-min(A(:,3)));
A4=(A(:,4)-min(A(:,4)))./(max(A(:,4))-min(A(:,4)));
A5=(A(:,5)-min(A(:,5)))./(max(A(:,5))-min(A(:,5)));
A6=(A(:,6)-min(A(:,6)))./(max(A(:,6))-min(A(:,6)));
A=[A1,A2,A3,A4,A5,A6];
%利用相关系数矩阵进行主成分分析
R=corrcoef(A);
7
99.32
广东
32.84
17.68
48.65
2.88
12.85
99.36
广西
32.31
12.12
64.04
2.45
7.72
101.2
海南
35.02
13.59
49.41
2.34
14.5
101.23
重庆
32.96
11.97
59.24
2.03
5.97
96.58
四川
37
10.72
63.54
1.7
8.62
98.8
%在指标中无明显的共线关系
[v,d]=eig(R);%计算特征值与特征向量
%输出结果显示,最大特征值对应的不是正向量,所以不能用第一主成分进行排名
%利用协方差矩阵进行主成分分析
R1=cov(A);
[v1,d1]=eig(R1);
%输出结果显示,最大特征值对应的不是正向量,所以不能用第一主成分进行排名
(4)排名的结果是否合理?为什么?
程序:
clc,clear
A=load('shiyan4_1.txt');
[m,n]=size(A);
%根据指标的属性将原始数据统一趋势化,其中资产负债率为成本型,转换成,效益型。
A1=(A(:,1)-min(A(:,1)))./(max(A(:,1))-min(A(:,1)));
河南
湖北
湖南
广东
广西
4
23
7
19
10
20
21
12
9
2
海南
重庆
四川
贵州
云南
西藏
陕西
甘肃
青海
宁夏
1
29
18
25
8
31
24
26
28
22
新疆
3
(4)排名结果不合理,因为从第一主成分得分图可以看出,指标的属性并没有明显的区别:
建议利用总贡献率达到90%以上后运用加权得分的结果,再进行排名得出结果。
教师评语
贵州
37.49
12.52
65.69
1.86
8.97
98.35
云南
41.22
20.94
49.16
1.85
12.44
99.42
西藏
63.03
3.32
20.4
0.53
10.76
90.38
陕西
43.67
16.61
57.28
1.91
17.82
98.36
甘肃
26.57
13.42
58.38
2.54
7.51
98.31
统计与数学模型分析实验中心
《MATLAB数据分析方法》实验报告
实验名称:主成分分析实验使用软件名称:MATLAB
目的
1.熟练掌握利用matlab软件进行主成分分析的计算步骤。
2.掌握选择主成分个数的原则以及利用特征值建立权向量的方法。
3.能根据主成分的数学公式,针对实际问题给出主成分的合理解释。
实验内容
主成分分析实验:
实验数据表见表一
表1 各地区国有及国有控股工业企业主要经济效益指标
地区
工业
增加值率
总资产
贡献率
资产
负债率
流动资产
周转次数
工业成本
费用利润率
产品
销售率
北京
25.92
5.52
34.04
2.05
7.93
99.19
天津
34.29
16.18
62.66
2.62
12.44
99.58
河北
29.46
11.87
青海
41.62
14.58
63.15
1.92
26.59
98.11
宁夏
38.98
8.27
63.53
1.83
5.07
98.53
新疆
45.58
25.84
49.36
3.16
29.88
100.29
(1)根据指标的属性将原始数据统一趋势化。
(2)利用协方差、相关系数矩阵进行主成分分析,可否只用第一主成分排名?
(3)构造新的实对称矩阵,使得可以只用第一主成分排名。
61.02
2.53
7.23
99.34
山西
37.58
11.28
67.65
1.95
8.68
98.18
内蒙古
47.36
11.43
62.23
2.21
13.8
99.08
辽宁
28.73
8.86
60.88
2.17
4.14
99.21
吉林
30.31
15.14
58.53
2.66
9.26
95.97
黑龙江
52.12
33.67
%利用R矩阵进行主成分分析
for i=1:n
for j=1:n
R2(i,j)=2*dot(A(:,i),A(:,j))./[sum(A(:,i).^2)+sum(A(:,j).^2)];
end
end
[v2,d2]=eig(R2);
w=sum(d2)/sum(sum(d2));
%输出结果显示,最大特征值对应的是正向量,且其贡献率为71.68%,所以能用第一主成分进行排名