层次分析法实战——城市综合指标排名

在这里插入图片描述
matlab代码:

clear;clc;
name=['南京','无锡','常州','苏州','镇江','南通','扬州','泰州','徐州','连云','淮安','盐城','宿迁'];
x=[125031   5265.55 1591.59 557.57  4955.76 102.7   39881   16531
124639  4015.77 1565.76 707.72  4086.84 102.10  38999   20587
92995   2902.84 1169.32 290.28  2753.31 102.20  36946   18643
123209  6001.94 2788.91 3093.48 6408.32 102.10  41143   21578
92656   1753.20 631.2   114.13  1483.6  102.1   32977   16258
69050   3298.7  1216.7  263.01  4150.50 102.20  31059   14754
72775   2025.18 660.30  101.73  1931.02 102.2   30690   14214
64917   1764.17 697.23  104.42  1790.89 101.9   30069   13982
51714   3090.13 659.95  83.27   2089.77 102.3   29347   12052
40416   1664.77 595.65  80.02   850.95  102.20  26898   10745
46020   1453.05 494.6   42.38   934.30  102.2   25456   11045
48150   2217.69 963.02  57.54   1820.45 102.7   28402   13344
35484   1290.75 381.94  33.22   736.29  102.4   20325   10703
];
stdr=std(x);
[n,m]=size(x);
sddata=x./stdr(ones(n,1),:);
[p,princ,evalue]=princomp(sddata);
p2=p(:,1:2);
sc=princ(:,1:2);
per=100*evalue/sum(evalue);
F=per(1)/100*princ(:,1)+per(2)/100*princ(:,2);
[~,index]=sort(F,'descend');%因为用不到前面的,所以用~节省空间
for(i=1:13)
        fprintf('%s%s排名是%d\n',name(2*index(i)-1),name(2*index(i)),i);
end

运行结果:

p,princ,evalue,per

p =

Columns 1 through 4

0.3744   -0.0557   -0.4568   -0.0929
0.3840    0.2365    0.1175    0.4571
0.3933    0.0687    0.2979   -0.1149
0.3428   -0.0945    0.6472   -0.4127
0.3905    0.1276    0.1162    0.5023

-0.0274 0.9333 -0.1062 -0.3231
0.3813 -0.0397 -0.4056 0.0641
0.3762 -0.1960 -0.2839 -0.4879

Columns 5 through 8

-0.4658 -0.5806 -0.2048 0.2085
-0.2187 0.0728 0.6863 0.2229
0.2868 0.1822 -0.3723 0.6961
-0.3918 -0.0283 0.0001 -0.3606
0.4111 -0.3159 -0.3061 -0.4504
0.0137 -0.0091 -0.0333 -0.1056
-0.2128 0.7208 -0.2347 -0.2539
0.5338 -0.0646 0.4456 -0.1169

princ =

Columns 1 through 4

2.7167    2.1924   -0.8511    0.3586
2.6825   -0.7416   -0.8782   -0.0536
0.9872   -0.4298   -0.8769   -0.3087
5.6478   -0.4677    1.6495   -0.2912

-0.4723 -0.9914 -0.9318 -0.4200
0.3721 0.0320 0.2749 0.7474
-0.8844 -0.3454 -0.3350 -0.0405
-1.0762 -1.5832 -0.0385 0.3010
-1.1431 0.4055 0.2504 0.5372
-2.2304 -0.2176 0.4928 0.0828
-2.3371 -0.2679 0.4004 0.0065
-1.2700 1.8505 0.1066 -0.5846
-2.9929 0.5641 0.7369 -0.3348

Columns 5 through 8

-0.3521 -0.1033 -0.0903 0.0179
0.1452 -0.1662 0.1225 0.1394
0.2614 0.2721 0.0881 -0.0230
-0.1072 0.0317 -0.0092 -0.0313
-0.2329 -0.1137 -0.0414 -0.0775
0.5335 -0.1445 -0.1034 -0.0416
-0.0838 -0.0569 -0.0650 -0.1266
0.0176 0.0477 -0.0940 0.0294
-0.1619 0.2165 0.3003 -0.0545
-0.2218 0.2905 -0.0868 0.1004
-0.1828 -0.0357 -0.0844 0.0425
0.3455 0.2199 -0.0667 0.0064
0.0393 -0.4581 0.1303 0.0184

evalue =

6.0054
1.1163
0.5886
0.1573
0.0667
0.0453
0.0152
0.0051

per =

75.0674
13.9542
7.3576
1.9667
0.8342
0.5661
0.1903
0.0637

我们可以根据p2,得到前两个主成分为:
在这里插入图片描述

第一个主成分贡献率为75.0674%,第二个主成分贡献率为13.9542%,前两个主成分累计贡献率为89.0215%。

如果按80%以上的信息量选取新因子,则可以选取前两个新因子。第一新因子z1包含的信息量最大为75.0674%,它的主要代表变量为人均产值(元), 反映了这个变量与经济水平密切相关,第二新因子Z2包含的信息量最大为13.9542%,它的主要代表变量为固定资产投资(亿元), 反映了这个变量与经济水平密切相关。
这些代表变量反映了各自对经济水平作用的大小,它们是经济水平中最重要的影响因素。根据前两个主成分得分,用其贡献率加权,即得13个城市各自的总得分。
最终的结果为:
苏州排名是1
南京排名是2
无锡排名是3
常州排名是4
南通排名是5
镇江排名是6
盐城排名是7
扬州排名是8
徐州排名是9
泰州排名是10
连云港排名是11
淮安排名是12
宿迁排名是13
在这里插入图片描述

注:这里笔者采用的是前两个主成分,也可以采用前三个,可能会导致排名有一些变化,但是大体上是差不多的,该排名为笔者所使用数据得到的结果,仅为个人观点,每个城市的排名在每个人心中肯定有差异,不喜勿喷(滑稽+狗头保命)

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值