价值前瞻
点击右侧关注,让你成为一个有远见的人!
Python数据之道
点击右侧关注,开启数据之道!
来源:Ray的数据分析自习室
文章经授权转载
数据分析必知必会 |
层次分析法:
如何解决具有难于定量描述目标的决策问题?
我们常常需要对不同的方案进行选择,最简明的当然是希望将各个方案量化评分, 理论上,对于任何一项问题,我们都能够抽象出其中的潜在数学逻辑,通过拟合甚至机器学习的方式实现量化建模; 但是,实际工作中,我们要多方面权衡,数据建模对于目标值难以定量描述的问题来说常常是一个费力不讨好的选择。 面对这种问题,层次分析法不失为一项较优解。1 应用场景
层次分析法(AHP)比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。 在实际情况中我们可能需要考虑问题所涉及的多个因素,这导致我们很难做出清晰的判断,AHP帮助我们结构化和量化的来思考这些因素,做出合理的决策。 除此之外,AHP提出了一种透明可重复的决策方案,这样所有利益相关者可以了解这个决策产生的所有细节,这样我们就可以得出让人信服的决策结果。 什么具有分层交错评价指标的目标系统呢? 简单来说,就是我们在对某个问题的方案或备选做评价时,具有多维的衡量标准,并且每个维度又可能具有一层乃至多层的拆解维度。 例如相亲,对于一个相亲对象,我们会从外貌、内涵、经济条件等多个角度评价, 外貌会受到五官、身高、穿搭、气质等多方面的影响,内涵包含了学历、三观等多个方面,经济条件也要从个人收入和家庭背景等多方面进行考虑。 从这个例子可以看出,一个分层交错评价指标的目标系统,首先非常的复杂,具有较多的指标维度;另一方面,对于其中各项的重要性其实每个人都会有自己主观的评价。 层次分析法的重点就是对人们的主观判断加以形式化的表达和处理,逐步剔除主观性,从而尽可能地转化为客观描述。2 层次分析法的一般步骤
我曾在知乎上利用层次分析法回答了一个问题《小米MIX3、荣耀magic2、Nubia X、魅族16th,预算3799以内,哪一款最值得推荐?》(https://www.zhihu.com/question/301236460/answer/538704165), 我就以此来对AHP的方法进行介绍。2.1 确定评分指标体系
使用层次层析法先要选定评分指标,从我个人角度来说,选择了拍照、性能、价位、UI设计、口碑等五个指标。 可以看到这是一个5维的双层评分指标体系,最终目标为机型评分,而支持评分的是细分的5项维度。2.2 构建判断矩阵
使用层次分析法,要使用判断矩阵确定各指标权重。 首先,初步对上述几个指标排序,根据题主提到的要求(轻度拍照需求,不玩游戏,预算3500),暂定排序为:拍照、价位、性能、UI设计、口碑等。 之后,使用excel构建判断矩阵:2.2.1 指标两两对照打分
左侧打分矩阵是指某个因素(行)相对于其他因素(列)的重要程度,打分标准如下。 对角线上是相同的指标对比,因此都是1。 此外,拍照认为是最重要的,相比价位、性能重要程度为2,相比外观、续航重要程度为3...依次对各指标两两比较,完成打分。 对于手机的选择,我们大可以根据自己的主观选择进行评分。 在面临商业问题或业务问题时,通常要对相关领域较熟知的专家或业务方进行访谈,来确定对比评分; 同时,为了避免主观性的影响,我们可以综合考虑多方或是多人的意见,综合进行评定。2.2.2 由判断矩阵计算比较元素的相对权重
- 计算判断矩阵中各行每个因素得分的乘积:G2 = Product( B2 : F2 )
- 对上述各乘积分别开N次方(N为判断矩阵维度):H2 = POWER(G2,1/5)
- 计算各因素权重Wi:I2 = H2 / SUM( H$2 : H$6 )
2.2.3 一致性检验
什么是一致性检验? 举个例子,当两两比较认为A比B重要,B比C重要时,轮到A和C比较了,你给出C比A重要的比较值,此时就叫做“不一致”。 层次分析法的计算不是简单得到一个结果,而是要得到一个令人满意的一致性的结果。- 计算各因素分向量Awi:公式 J2 = SUMPRODUCT( TRANSPOSE($B2 : $F2), I$2 : I$6),使用Ctrl+Shift+Enter在excel中实现矩阵计算
- 计算Awi/Wi :K2 = J2 / I2
- 一致性指标CI :L7 =( SUM(K2 : K6) - COUNT(B2 : B6)) / (COUNT(B2 : B6)-1)
- 随机一致性指标RI:该项指标只与因素数量N有关,本文中N=5,对应的RI = 1.12
- CR = CI / RI = 0.03,符合一致性要求(≤0.1)
3 机型评分
根据主观或市场评价对各机型各维度分别评分,然后计算获得各机型最终的加权得分即可。 如此,我们便通过层次分析法系统地梳理了我们对各机型的评价,获得了最终的结果,你学会了么? 在业务中使用的基本流程也是如此,但是评分时要综合考虑更多的意见,判断矩阵构造和各因素打分尽量有明确的参考。-------------------End-------------------
公众号后台回复「微信群」,将邀请加入读者交流群。
推荐 | 免费获取《Python知识手册》
Matplotlib最有价值的50个图表