搜索
查看: 2019|回复: 0

层次分析法-ahp

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-5-23 21:11:47 | 显示全部楼层 |阅读模式
层次分析法(Analytical Hierarchy Process,简称AHP法)
层次分析法是一种定性和定量结合的具有系统化、 层次化的分析方法。 层次分析法的基本步骤为:
第一,分析待评价系统各要素,建立递阶层次结构模型;
第二,确定评价尺度,建立判断矩阵;
第三,确定各层各因素对上一层因素的权重关系;
第四,计算各层要素对系统总目标的合成权重。

为了考察层次分析法所得出的结果是否合理,需要对判断矩阵进行一致性检验,若检验通过,则可按照组合权向量表示的结果进行决策,否则
需要重新考虑模型或重新构造那些一致性比率较大的成对比较矩阵

采用层次分析法建立评价体系模型,
然后用加权综合确定各影响因素的权系数。

取得近几年数据的平均值,运用判断矩阵反复测算,得到指标权重。

(CI的值由判断矩阵计算获得,RI的值查表获得)
两两成对比较得到的判断矩阵 A
计算判断矩阵 A 的一致性指标 CI ,CI=(λmɑx -n)/RI,取 n=1~7,分别可以算出平均随机一致性指标 RI 值
计算随机一致性比率 CR,CR=CI/RI

对经济金融专家发出三轮指标权重评分表, 去掉最高分、最低分之后,取得评分的平均值
采用层次分析法中的九分制评分表进行具体评分列表,计算权重,依此反复至三轮,得到一级指标权重

二级指标值标准化
本文运用公式 Yi=(Xi-Xmin)/(Xmɑx-Xmin) 将 58 个二级指标的值标准化

http://analytics.ncsu.edu/sesug/2012/SD-04.pdf
http://blog.csdn.net/lengxiao1993/article/details/19575261

有一个R包可以做,但是它的输入文件太变态了。
[AppleScript] 纯文本查看 复制代码
require(ahp)    
library(ahp)
# The YAML AHP input file requires you to specify 
# 1) the alternatives (along with some variables that describe the alternatives; 
#    I didn’t use them in this example, but I’ll post a second example that does use them) and 
# 2) the goal hierarchy, which includes 
#   2A) comparisons of all the criteria against one another FIRST, and then 
#   2B) comparisons of the criteria against the alternatives. 

#list example files provided by the package
list.files(system.file("extdata", package="ahp"))
#load a specific example
ahpFile <- system.file("extdata", "car.ahp", package="ahp")
carAhp <- Load(ahpFile)
Calculate(carAhp)
Analyze(carAhp)
AnalyzeTable(carAhp)
#the vacation.ahp file provides an example with multiple decision makers
ahpFile <- system.file("extdata", "vacation.ahp", package="ahp")
vacationAhp <- Load(ahpFile)
Calculate(vacationAhp)
Visualize(vacationAhp)
Analyze(vacationAhp, decisionMaker = "Dad")
AnalyzeTable(vacationAhp, decisionMaker = "Mom")
AnalyzeTable(vacationAhp,
             decisionMaker = "Kid",
             variable = "priority",
             sort = "orig",
             pruneFun = function(node, dm) PruneByCutoff(node, dm, minWeight = 0.1))

 






上一篇:shiny小玩具-镶嵌子页面
下一篇:Hiseq 4000 recipe (测序原理)
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-7-18 09:35 , Processed in 0.029572 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.