本文主要是介绍利用层次分析法(AHP)评价NBA球员历史地位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
简介
建立层次结构
构造判断矩阵
层次单排序
层次总排序
结论
简介
层次分析法(AHP)是适用于解决定性与定量结合问题的一种方法,而NBA球迷们老生常谈、津津乐道的球员历史地位问题就非常适合用此方法来分析。著名篮球评论员苏群说过,“历史地位”这一词完全属于文学描述的范畴,而荣誉又是评判一名球员历史地位的主要标准。本文将以NBA球员的各项荣誉为指标,对几名球员进行历史地位的排名。
建立层次结构
AHP分为目标层、准则层、方案层。
本例中,目标层是“球员历史地位”。
准则层是评价指标,我们选择NBA的7项主要荣誉:总冠军、FMVP、MVP、一阵、防守阵容、全明星、单项数据王。共有7个准则。
方案层即为每个球员,本例选择乔丹、詹姆斯、邓肯、科比、杜兰特、库里、哈登、伦纳德,一共8名球员。
建立完成后,绘制层次结构图:
构造判断矩阵
采用两两比较法
历史地位 | MVP | FMVP | 一阵 | 单项数据王 | 总冠军 | 防守阵容 | 全明星 | 特征向量 | 归一化 |
MVP | 1.0000 | 2.0000 | 3.0000 | 4.0000 | 6.0000 | 7.0000 | 9.0000 | 0.7504 | 0.3613 |
FMVP | 0.5000 | 1.0000 | 2.0000 | 3.0000 | 4.0000 | 5.0000 | 7.0000 | 0.4823 | 0.2322 |
一阵 | 0.3333 | 0.2000 | 1.0000 | 3.0000 | 4.0000 | 5.0000 | 6.0000 | 0.3569 | 0.1718 |
单项数据王 | 0.2500 | 0.3333 | 0.3333 | 1.0000 | 3.0000 | 4.0000 | 5.0000 | 0.2270 | 0.1093 |
总冠军 | 0.1667 | 0.2500 | 0.2500 | 0.3333 | 1.0000 | 2.0000 | 4.0000 | 0.1240 | 0.0597 |
防守阵容 | 0.1429 | 0.2000 | 0.2000 | 0.2500 | 0.5000 | 1.0000 | 3.0000 | 0.0861 | 0.0415 |
全明星 | 0.1111 | 0.1429 | 0.1667 | 0.2000 | 0.2500 | 0.3333 | 1.0000 | 0.0502 | 0.0242 |
特征值和特征向量可以用matlab或一些在线工具算出来。这里用此矩阵举例,后面就省略计算过程了。
我们要选择最大的特征值和对应的特征向量。
特征值=7.3189
一致性指标CI=(7.3189-7)/6=0.05315
一致性比例CR=CI/RI=0.05315/1.36=0.0391<0.1
通过一致性检验
补充知识:CR的计算
层次单排序
首先,查询数据制作出球员荣誉表
| MVP | FMVP | 一阵 | 单项数据王 | 总冠军 | 防守阵容 | 全明星 |
乔丹 | 5 | 6 | 10 | 13 | 6 | 9 | 14 |
詹姆斯 | 4 | 4 | 13 | 2 | 4 | 6 | 16 |
邓肯 | 2 | 3 | 10 | 0 | 5 | 15 | 15 |
科比 | 1 | 2 | 11 | 2 | 5 | 12 | 18 |
杜兰特 | 1 | 2 | 6 | 4 | 2 | 0 | 10 |
库里 | 2 | 0 | 3 | 2 | 3 | 0 | 6 |
哈登 | 1 | 0 | 6 | 4 | 0 | 0 | 8 |
伦纳德 | 0 | 2 | 2 | 1 | 2 | 6 | 4 |
然后对准则层-方案层进行单排序
MVP | 乔丹 | 詹姆斯 | 邓肯 | 科比 | 杜兰特 | 库里 | 哈登 | 特征向量 | 归一化 |
乔丹 | 1.0000 | 3.0000 | 5.0000 | 7.0000 | 7.0000 | 5.0000 | 7.0000 | 0.8336 | 0.4295 |
詹姆斯 | 0.3333 | 1.0000 | 3.0000 | 5.0000 | 5.0000 | 3.0000 | 5.0000 | 0.4470 | 0.2303 |
邓肯 | 0.2000 | 0.3333 | 1.0000 | 3.0000 | 3.0000 | 1.0000 | 3.0000 | 0.2057 | 0.1060 |
科比 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.0830 | 0.0428 |
杜兰特 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.0830 | 0.0428 |
库里 | 0.2000 | 0.3333 | 1.0000 | 3.0000 | 3.0000 | 1.0000 | 3.0000 | 0.2057 | 0.1060 |
哈登 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.0830 | 0.0428 |
特征值和特征向量可以用matlab或一些在线工具算出来。
特征值7.1658
符合一致性检验
FMVP | 乔丹 | 詹姆斯 | 邓肯 | 科比 | 杜兰特 | 伦纳德 | 特征向量 | 归一化 |
乔丹 | 1.0000 | 3.0000 | 5.0000 | 7.0000 | 7.0000 | 7.0000 | 0.8505 | 0.4737 |
詹姆斯 | 0.3333 | 1.0000 | 3.0000 | 5.0000 | 5.0000 | 5.0000 | 0.4502 | 0.2508 |
邓肯 | 0.2000 | 0.3333 | 1.0000 | 3.0000 | 3.0000 | 3.0000 | 0.2217 | 0.1235 |
科比 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 1.0000 | 0.0910 | 0.0507 |
杜兰特 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 1.0000 | 0.0910 | 0.0507 |
伦纳德 | 0.1429 | 0.2000 | 0.3333 | 1.0000 | 1.0000 | 1.0000 | 0.0910 | 0.0507 |
特征值6.1378
符合一致性检验
一阵 | 乔丹 | 詹姆斯 | 邓肯 | 科比 | 杜兰特 | 库里 | 哈登 | 伦纳德 | 特征向量 | 归一化 |
乔丹 | 1.0000 | 0.3333 | 1.0000 | 0.5000 | 4.0000 | 7.0000 | 4.0000 | 8.0000 | 0.3430 | 0.1531 |
詹姆斯 | 3.0000 | 1.0000 | 3.0000 | 2.0000 | 5.0000 | 8.0000 | 5.0000 | 9.0000 | 0.6876 | 0.3070 |
邓肯 | 1.0000 | 0.3333 | 1.0000 | 0.5000 | 4.0000 | 7.0000 | 4.0000 | 8.0000 | 0.3430 | 0.1531 |
科比 | 2.0000 | 0.5000 | 2.0000 | 1.0000 | 5.0000 | 7.0000 | 5.0000 | 8.0000 | 0.4986 | 0.2226 |
杜兰特 | 0.2500 | 0.2000 | 0.2500 | 0.2000 | 1.0000 | 5.0000 | 1.0000 | 7.0000 | 0.1401 | 0.0626 |
库里 | 0.1429 | 0.1250 | 0.1429 | 0.1429 | 0.2000 | 1.0000 | 0.2000 | 2.0000 | 0.0509 | 0.0227 |
哈登 | 0.2500 | 0.2000 | 0.2500 | 0.2000 | 1.0000 | 5.0000 | 1.0000 | 7.0000 | 0.1401 | 0.0626 |
伦纳德 | 0.1250 | 0.1111 | 0.1250 | 0.1250 | 0.1429 | 0.2000 | 0.1429 | 1.0000 | 0.0364 | 0.0163 |
特征值8.5497
符合一致性检验
单项数据王 | 乔丹 | 詹姆斯 | 科比 | 杜兰特 | 库里 | 哈登 | 伦纳德 | 特征向量 | 归一化 |
乔丹 | 1.0000 | 7.0000 | 7.0000 | 5.0000 | 7.0000 | 5.0000 | 9.0000 | 0.8982 | 0.4887 |
詹姆斯 | 0.1429 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.3333 | 3.0000 | 0.1114 | 0.0606 |
科比 | 0.1429 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.3333 | 3.0000 | 0.1114 | 0.0606 |
杜兰特 | 0.2000 | 3.0000 | 3.0000 | 1.0000 | 3.0000 | 1.0000 | 5.0000 | 0.2769 | 0.1506 |
库里 | 0.1429 | 1.0000 | 1.0000 | 0.3333 | 1.0000 | 0.3333 | 3.0000 | 0.1114 | 0.0606 |
哈登 | 0.2000 | 3.0000 | 3.0000 | 1.0000 | 3.0000 | 1.0000 | 5.0000 | 0.2769 | 0.1506 |
伦纳德 | 0.1111 | 0.3333 | 0.3333 | 0.2000 | 0.3333 | 0.2000 | 1.0000 | 0.0519 | 0.0282 |
特征值7.2063
符合一致性检验
总冠军 | 乔丹 | 詹姆斯 | 邓肯 | 科比 | 杜兰特 | 库里 | 伦纳德 | 特征向量 | 归一化 |
乔丹 | 1.0000 | 3.0000 | 2.0000 | 2.0000 | 5.0000 | 4.0000 | 5.0000 | 0.7026 | 0.3158 |
詹姆斯 | 0.3333 | 1.0000 | 0.5000 | 0.5000 | 3.0000 | 2.0000 | 3.0000 | 0.2688 | 0.1208 |
邓肯 | 0.5000 | 2.0000 | 1.0000 | 1.0000 | 4.0000 | 3.0000 | 4.0000 | 0.4382 | 0.1969 |
科比 | 0.5000 | 2.0000 | 1.0000 | 1.0000 | 4.0000 | 3.0000 | 4.0000 | 0.4382 | 0.1969 |
杜兰特 | 0.2000 | 0.3333 | 0.2500 | 0.2500 | 1.0000 | 0.5000 | 1.0000 | 0.1048 | 0.0471 |
库里 | 0.2500 | 0.5000 | 0.3333 | 0.3333 | 2.0000 | 1.0000 | 2.0000 | 0.1677 | 0.0754 |
伦纳德 | 0.2000 | 0.3333 | 0.2500 | 0.2500 | 1.0000 | 0.5000 | 1.0000 | 0.1048 | 0.0471 |
特征值7.2063
符合一致性检验
防守阵容 | 乔丹9 | 詹姆斯6 | 邓肯15 | 科比12 | 伦纳德6 | 特征向量 | 归一化 |
乔丹9 | 1.0000 | 3.0000 | 0.2000 | 0.3333 | 3.0000 | 0.2064 | 0.1223 |
詹姆斯6 | 0.3333 | 1.0000 | 0.1429 | 0.2000 | 1.0000 | 0.0892 | 0.0529 |
邓肯15 | 5.0000 | 7.0000 | 1.0000 | 3.0000 | 7.0000 | 0.8672 | 0.5140 |
科比12 | 3.0000 | 5.0000 | 0.3333 | 1.0000 | 5.0000 | 0.4353 | 0.2580 |
伦纳德6 | 0.3333 | 1.0000 | 0.1429 | 0.2000 | 1.0000 | 0.0892 | 0.0529 |
特征值5.1362
符合一致性检验
全明星 | 乔丹14 | 詹姆斯16 | 邓肯15 | 科比18 | 杜兰特10 | 库里6 | 哈登8 | 伦纳德4 | 特征向量 | 归一化 |
乔丹14 | 1.0000 | 0.3333 | 0.5000 | 0.2500 | 4.0000 | 6.0000 | 5.0000 | 7.0000 | 0.2725 | 0.1263 |
詹姆斯16 | 3.0000 | 1.0000 | 2.0000 | 0.5000 | 5.0000 | 7.0000 | 6.0000 | 8.0000 | 0.4995 | 0.2315 |
邓肯15 | 2.0000 | 0.5000 | 1.0000 | 0.3333 | 5.0000 | 7.0000 | 6.0000 | 8.0000 | 0.3789 | 0.1756 |
科比18 | 4.0000 | 2.0000 | 3.0000 | 1.0000 | 6.0000 | 8.0000 | 7.0000 | 9.0000 | 0.7127 | 0.3302 |
杜兰特10 | 0.2500 | 0.2000 | 0.2000 | 0.1667 | 1.0000 | 3.0000 | 2.0000 | 4.0000 | 0.1155 | 0.0535 |
库里6 | 0.1667 | 0.1429 | 0.1429 | 0.1250 | 0.3333 | 1.0000 | 0.5000 | 2.0000 | 0.0567 | 0.0263 |
哈登8 | 0.2000 | 0.1667 | 0.1667 | 0.1429 | 0.5000 | 2.0000 | 1.0000 | 3.0000 | 0.0804 | 0.0373 |
伦纳德4 | 0.1429 | 0.1250 | 0.1250 | 0.1111 | 0.2500 | 0.5000 | 0.3333 | 1.0000 | 0.0419 | 0.0194 |
特征值8.4535
符合一致性检验
层次总排序
历史地位 | MVP | FMVP | 一阵 | 单项数据王 | 总冠军 | 防守阵容 | 全明星 | 层次总排序权值 | 方案排序 |
0.3613 | 0.2322 | 0.1718 | 0.1093 | 0.0597 | 0.0415 | 0.0242 | |||
乔丹 | 0.4295 | 0.4737 | 0.1531 | 0.4887 | 0.3158 | 0.1223 | 0.1263 | 0.3719 | 1 |
詹姆斯 | 0.2303 | 0.2508 | 0.3070 | 0.0606 | 0.1208 | 0.0529 | 0.2315 | 0.2158 | 2 |
邓肯 | 0.1060 | 0.1235 | 0.1531 | 0.0000 | 0.1969 | 0.5140 | 0.1756 | 0.1306 | 3 |
科比 | 0.0428 | 0.0507 | 0.2226 | 0.0606 | 0.1969 | 0.2580 | 0.3302 | 0.1025 | 4 |
杜兰特 | 0.0428 | 0.0507 | 0.0626 | 0.1506 | 0.0471 | 0.0000 | 0.0535 | 0.0585 | 5 |
库里 | 0.1060 | 0.0000 | 0.0227 | 0.0606 | 0.0754 | 0.0000 | 0.0263 | 0.0540 | 6 |
哈登 | 0.0428 | 0.0000 | 0.0626 | 0.1506 | 0.0000 | 0.0000 | 0.0373 | 0.0436 | 7 |
伦纳德 | 0.0000 | 0.0507 | 0.0163 | 0.0282 | 0.0471 | 0.0529 | 0.0194 | 0.0231 | 8 |
此处应有总排序一致性检验,省略了。
结论
历史地位 | 方案排序 |
乔丹 | 1 |
詹姆斯 | 2 |
邓肯 | 3 |
科比 | 4 |
杜兰特 | 5 |
库里 | 6 |
哈登 | 7 |
伦纳德 | 8 |
本结果与现实舆论基本一致,是因为我特意找了这几位历史地位有明显差距的球员,以免引战。
缺点
- AHP只适用于矩阵维数不超过10的问题,也就是只能评价十个以内的球员,无法为几十位乃至历史上所有球员进行排名。
- 主观性过强。
- 两两比较时容易不谨慎,导致得出夸张权重。比如本例在得出结果后,我认为我给予MVP在指标中所占权重过多,总冠军、防守阵容和全明星的权重过少了。
--------------------------------分割线---------------------------------
我重新构建了目标-准则层判断矩阵,标度从1-9变成了1-5,这样减少了各指标间的差距。
历史地位 | MVP | FMVP | 一阵 | 单项数据王 | 总冠军 | 防守阵容 | 全明星 | 特征向量 | 归一化 | 特征值 |
MVP | 1.0000 | 1.5000 | 2.0000 | 3.0000 | 4.0000 | 4.5000 | 5.0000 | 0.6730 | 0.2998 | 7.0961 |
FMVP | 0.6667 | 1.0000 | 1.5000 | 2.0000 | 3.0000 | 4.0000 | 4.5000 | 0.5010 | 0.2232 | |
一阵 | 0.5000 | 0.6667 | 1.0000 | 2.0000 | 3.0000 | 3.5000 | 4.0000 | 0.4158 | 0.1852 | |
单项数据王 | 0.3333 | 0.5000 | 0.5000 | 1.0000 | 2.0000 | 2.5000 | 3.0000 | 0.2666 | 0.1188 | |
总冠军 | 0.2500 | 0.3333 | 0.3333 | 0.5000 | 1.0000 | 1.0000 | 2.0000 | 0.1538 | 0.0685 | |
防守阵容 | 0.2222 | 0.2500 | 0.2857 | 0.4000 | 1.0000 | 1.0000 | 2.0000 | 0.1388 | 0.0618 | |
全明星 | 0.2000 | 0.2222 | 0.2500 | 0.3333 | 0.5000 | 0.5000 | 1.0000 | 0.0960 | 0.0428 |
最后的层次总排序变为:
历史地位 | MVP | FMVP | 一阵 | 单项数据王 | 总冠军 | 防守阵容 | 全明星 | 层次总排序权值 | 方案排序 |
0.2998 | 0.2232 | 0.1852 | 0.1188 | 0.0685 | 0.0618 | 0.0428 | |||
乔丹 | 0.4295 | 0.4737 | 0.1531 | 0.4887 | 0.3158 | 0.1223 | 0.1263 | 0.3554 | 1 |
詹姆斯 | 0.2303 | 0.2508 | 0.3070 | 0.0606 | 0.1208 | 0.0529 | 0.2315 | 0.2105 | 2 |
邓肯 | 0.1060 | 0.1235 | 0.1531 | 0.0000 | 0.1969 | 0.5140 | 0.1756 | 0.1405 | 3 |
科比 | 0.0428 | 0.0507 | 0.2226 | 0.0606 | 0.1969 | 0.2580 | 0.3302 | 0.1161 | 4 |
杜兰特 | 0.0428 | 0.0507 | 0.0626 | 0.1506 | 0.0471 | 0.0000 | 0.0535 | 0.0591 | 5 |
库里 | 0.1060 | 0.0000 | 0.0227 | 0.0606 | 0.0754 | 0.0000 | 0.0263 | 0.0495 | 6 |
哈登 | 0.0428 | 0.0000 | 0.0626 | 0.1506 | 0.0000 | 0.0000 | 0.0373 | 0.0439 | 7 |
伦纳德 | 0.0000 | 0.0507 | 0.0163 | 0.0282 | 0.0471 | 0.0529 | 0.0194 | 0.0250 | 8 |
这篇关于利用层次分析法(AHP)评价NBA球员历史地位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!