精华内容
下载资源
问答
  • 层次分析法的主要作用
    千次阅读 多人点赞
    2020-07-28 23:57:16

    概述

    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模
    糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。常用于相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。
    运用层次分析法建模,大体上可按下面四个步骤进行:

    1. 建立递阶层次结构模型;
    2. 构造出各层次中的所有判断矩阵;
    3. 层次单排序及一致性检验;
    4. 层次总排序及一致性检验

    下面将用实例分别阐述这些步骤。

    递阶层次结构的建立与特点

    我们拿到一个问题,常将其分为若干层次结构,上一层次的元素作为准则对下一层次有关元素起支配作用。
    这些层次可以分为三类:.

    1. 最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。
    2. 中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
    3. 最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。

    如我们想去旅游,现在要选择旅游地点,就可以先这样划分一下:

    更多相关内容
  • 针对土城煤矿运煤上山围岩软弱变形及控制困难的问题,通过现场调研、理论分析、数值模拟等研究手段,揭示软岩巷道的变形破坏特征及...基于此,运用层次分析法建立评价指标体系,提出 2种工程类比支护方案,采用 FLAC
  • 数学建模:层次分析法实例以及代码

    万次阅读 多人点赞 2020-11-22 22:06:09
    目录层次分析法的思想层次分析法步骤具体案例(市政工程项目建设决策)1.问题提出2.建立递阶层次结构3.构造判断矩阵(成对比较阵)并赋值4.层次单排序(计算权向量)与检验(一致性检验)计算权向量一致性检验5.层次总...

    博主联系方式:
    QQ:1540984562
    QQ交流群:892023501
    群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。

    层次分析法的思想

    层次分析法的思想:将所有要分析的问题层次化
    根据问题的性质和所要到达的总目标,将问题分为不同的组成因素,并按照这些因素间的关联影响即其隶属关系,将因素按不同层次聚集组合,形成一个多层次分析结构模型
    最后,对问题进行优劣比较排序.

    层次分析法步骤

    1、找准各因素之间的隶属度关系,建立递阶层次结构
    2、构造判断矩阵,并赋值
    3、层次单排序(计算权向量)与检验(一致性检验)
    4、层次总排序(组合权向量)与检验(一致性检验)
    5、结果分析

    具体案例(市政工程项目建设决策)

    1.问题提出

    市政部门管理人员需要对修建一项市政工程项目进行决策,可选择的方案是修建通往旅游区的高速路(简称建高速路)或修建城区地铁(简称建地铁)。除了考虑经济效益外,还要考虑社会效益环境效益等因素,即是多准则决策问题,考虑运用层次分析法解决。

    2.建立递阶层次结构

    1、明确决策目标:“合理建设市政工程,使综合效益最高”。

    2、为了实现这一目标,需要考虑的主要准则有三个,即经济效益社会效益环境效益
    还必须考虑直接经济效益间接经济效益方便日常出行方便假日出行减少环境污染改善城市面貌等因素(准则),从相互关系上分析,这些因素隶属于主要准则,因此放在下一层次考虑,并且分属于不同准则。

    3、解决方案,即建高速路或建地铁,这两个因素作为措施层元素放在递阶层次结构的最下层。

    这样递阶层次就形成了:
    在这里插入图片描述

    3.构造判断矩阵(成对比较阵)并赋值

    1、构造判断矩阵的方法:
    每一个具有向下隶属关系的元素(被称作准则)作为判断矩阵的第一个元素(位于左上角),隶属于它的各个元素依次排列在其后的第一行第一列
    如下图所示:
    在这里插入图片描述
    2、如何对判断矩阵进行赋值:
    向填写人(专家)反复询问:针对判断矩阵的准则,其中两个元素两两比较哪个重要,重要多少,对重要性程度按1-9赋值。
    (可以类比模糊PID中的隶属程度,都是人为设定的,也是被人诟病的一个地方)
    在这里插入图片描述
    设填写后的判断矩阵为A=(aij)n×n,判断矩阵具有如下性质:

    (1) aij>0
    (2) aji=1/ aji
    (3) aii=1

    判断矩阵具有对称性,因此在填写时,通常先填写aii=1部分,然后再仅需判断及填写上三角形或下三角形的n(n-1)/2个元素就可以了。
    在特殊情况下,判断矩阵可以具有传递性,即满足等式:aij*ajk=aik .
    当上式对判断矩阵所有元素都成立时,则称该判断矩阵为一致性矩阵。
    对于上述的例子,可以构造出下面的判断矩阵:
    在这里插入图片描述

    4.层次单排序(计算权向量)与检验(一致性检验)

    计算权向量

    对于专家填写后的判断矩阵,利用一定数学方法进行层次排序。
    层次单排序是指每一个判断矩阵各因素针对其准则的相对权重,所以本质上是计算权向量。
    这里简要介绍和法:
    对于一致性判断矩阵,每一列归一化后就是相应的权重。
    对于非一致性判断矩阵,每一列归一化后近似其相应的权重,在对这n个列向量求取算术平均值作为最后的权重。

    公式: 在这里插入图片描述
    在层层排序中,要对判断矩阵进行一致性检验。判断矩阵可以具有传递性和一致性。一般情况下,并不要求判断矩阵严格满足这一性质。

    但从人类认识规律看,一个正确的判断矩阵重要性排序是有一定逻辑规律的,例如若A比B重要,B又比C重要,则从逻辑上讲,A应该比C明显重要,若两两比较时出现A比C重要的结果,则该判断矩阵违反了一致性准则,在逻辑上是不合理的。

    因此在实际中要求判断矩阵满足大体上的一致性,需进行一致性检验。只有通过检验,才能说明判断矩阵在逻辑上是合理的,才能继续对结果进行分析。

    一致性检验

    第一步,计算一致性指标CI
    在这里插入图片描述
    第二步,查表确定相应的平均随机一致性指标RI
    据判断矩阵不同阶数查下表,得到平均随机一致性指标RI:
    在这里插入图片描述
    第三步,计算一致性比例CR并进行判断:
    在这里插入图片描述
    当C.R.<0.1时,认为判断矩阵的一致性是可以接受的,C.R.>0.1时,认为判断矩阵不符合一致性要求,需要对该判断矩阵进行重新修正。

    图1
    图2
    可以看出,所有单排序的C.R.<0.1,认为每个判断矩阵的一致性都是可以接受的。

    5.层次总排序(组合权向量)与检验(一致性检验)

    总排序是指每一个判断矩阵各因素针对目标层(最上层)的相对权重。这一权重的计算采用从上而下的方法,逐层合成。
    文字性描述公式如下:
    在这里插入图片描述

    计算过程如下,更好理解过程:
    P(C1/A) = P(C1/B1) * P(B1/A) = 0.5 * 0.1429 = 0.07145
    CR(C1/A) = CR(C/B) * CR(B/A) = 0 * 0 = 0
    P(D1/A) = P(D1/C1) * P(C1/B1) * P(B1/A)
    + P(D1/C2) * P(C2/B1) * P(B1/A)
    + P(D1/C3) * P(C3/B2) * P(B2/A)
    + P(D1/C4) * P(C4/B2) * P(B2/A)
    + P(D1/C5) * P(C5/B3) * P(B3/A)
    + P(D1/C6) * P(C6/B3) * P(B3/A)
    =0.8333 * 0.5 * 0.1429
    +0.75 * 0.5 * 0.1429
    +0.1667 * 0.75 * 0.4286
    +0.8750 * 0.25 * 0.4286
    +0.1667 * 0.75 * 0.4286
    +0.8333 * 0.25 * 0.4286

    在这里插入图片描述

    6.结果分析

    从方案层总排序的结果看,建地铁(D2)的权重(0.6592)远远大于建高速路(D1)的权重(0.3408),因此,最终的决策方案是建地铁。
    根据层次排序过程分析决策思路:

    1、对于准则层B的3个因子,直接经济效益(B1)的权重最低(0.1429),社会效益(B2)和环境效益(B3)的权重都比较高(皆为0.4286),说明在决策中比较看重社会效益和环境效益
    2、对于不看重的经济效益,其影响的两个因子直接经济效益(C1)、间接带动效益(C2)单排序权重都是建高速路远远大于建地铁,对于比较看重的社会效益和环境效益,其影响的四个因子中有三个因子的单排序权重都是建地铁远远大于建高速路,由此可以推出,建地铁方案由于社会效益和环境效益较为突出,权重也会相对突出
    3、从准则层C总排序结果也可以看出,方便日常出行(C3)、减少环境污染(C5)是权重值较大的,而如果单独考虑这两个因素,方案排序都是建地铁远远大于建高速路。

    由此我们可以分析出决策思路:
    即决策比较看重的是社会效益和环境效益,不太看重经济效益;(总结准则层B)
    因此对于具体因子,方便日常出行和减少环境污染成为主要考虑因素,对于这两个因素,都是建地铁方案更佳,(总结准则层C)由此,最终的方案选择建地铁也就顺理成章了。

    7.层次分析法的优缺点

    优点:
    (1)系统性:层次分析把研究对象作为一个系统,按照分解、比较判断、综合的思维方式进行决策,成为继机理分析、统计分析之后发展起来的系统分析的重要工具。
    (2)实用性:层次分析把定性和定量方法结合起来,能处理许多许多用传统的最优化技术无法着手的实际问题,应用范围很广。同时,这种方法将决策者和决策分析者相互沟通,决策者甚至可以直接应用它,这就增加了决策者的了解和掌握。
    (3)简洁性:具有中等文化程度的人即可了解层次分析的基本原理和掌握它的基本步骤,计算也非常简便,并且所得的结果简单明确,容易为决策者了解和掌握。

    缺点:囿旧:只能从原有方案中选优,不能生成新方案;粗略:它的比较、判断直到结果都是粗糙的,不适于精度要求很高的问题;主观:从建立层次结构模型到给出成对比较矩阵,人的主观因素的作用很大,这就使得决策结果可能难以为众人接受。当然,采取专家群体判断的办法是克服这个缺点的一种途径。

    层次分析法的代码实现(matlab)

    disp('请输入判断矩阵A(n阶)');
    A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);disp(t);
             %以下是一致性检验
    CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

    使用示例:
    将上面代码保存名为test1,并在点运行的时候添加到路径;
    输入的A矩阵是要以向量的形式输入的;
    之后按下回车即可,可以看到和之前的第4步得到的结果是一样的。
    在这里插入图片描述
    通过不断的使用这个式子计算相应矩阵(准则层B到准则层C、准则层C到方案层D)的权向量,最后可以得到最终的结果。
    简单的修改上面的程序,传入参数为矩阵,免得每次都要打。

    function w= test1(A)
    % disp('请输入判断矩阵A(n阶)');
    % A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);disp(t);
             %以下是一致性检验
    CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

    输入:

    Array1=[1 1/3 1/3;3 1 1;3 1 1];
    Array2=[1 1;1 1];
    Array3=[1 3;1/3 1];
    Array4=[1 3;1/3 1];
    Array5=[1 5;1/5 1];
    Array6=[1 3;1/3 1];
    Array7=[1 1/5;5 1];
    Array8=[1 7;1/7 1];
    Array9=[1 1/5;5 1];
    Array10=[1 1/3;7 1];
    
    A=test1(Array1);
    B1=test1(Array2);
    B2=test1(Array3); 
    B3=test1(Array4);
    C1=test1(Array5);
    C2=test1(Array6);
    C3=test1(Array7);
    C4=test1(Array8);
    C5=test1(Array9);
    C6=test1(Array10);
    

    得到相应的矩阵:
    在这里插入图片描述

    展开全文
  • 用人话讲明白AHP层次分析法(非常详细原理+简单工具实现)

    用人话讲明白AHP层次分析法(非常详细原理+简单工具实现)

    文章目录

    目录

    1、前言与算法简述

    2、AHP层次分析法过程

    2.1 构建层次评价模型

    2.2 构造判断矩阵

    2.3 层次单排序与一致性检验

    2.3.1 层次单排序

    2.3.2 求解最大特征根与CI值

    2.3.3 根据CI、RI值求解CR值,判断其一致性是否通过。

    2.4 层次总排序与一致性检验

    3、案例以及工具实现

    3.1 外出旅游最重视的因素

    3.1.1 使用工具

    3.1.2 案例操作

    3.1.3 分析结果解读

    3.1.4 小结

    3.2 选择最佳外出旅游地

    3.2.1 使用工具

    3.2.2 案例操作

    3.1.3 分析结果解读

    3.2.4 小结


    1、前言与算法简述

    今天应粉丝要求,梳理一下层次分析法。

    层 次 分 析 法, 即Analytic Hierarchy Process(AHP) , 是美国运筹学家 Saaty 于 20 世纪 70 年代初 期提出的一种主观赋值评价方法。 层次分析法将与决策有关的元素分解成目标、 准则、方案等多个层次, 并在此基础上进行定性和定量分析, 是一种系统、简便、灵活有效的决策方法。

    这个算法是一个多指标综合评价算法,由于这个算法简单、实用,因此在经管类或者实际生活中应用的非常多,其一般有两个用途:

    • 指标定权

    给指标制定权重,打个比方,例如选择旅游地这个决策,可能一般我们由以下5个因素组成,但是每个人(主观)对因素的重视程度不一,ahp可以实现在无需搜集数据的情况下,给这些指标制定权重。

    • 量化方案选择

    同样是选择旅游地这个决策,可能我们有一些方案,例如苏杭、北戴河、桂林这三个方案,层次分析法可以综合以上5个因素,给这些方案计算得出一个量化得分,例如苏杭0.3分、北戴河0.35分、桂林0.45分,这样根据分值大小,我们就可以选择得到内心或者经验上最心怡的方案了。

    通过上面讲解层次分析法的作用,在生活、工作中其实我们可以应用这个模型的渠道是非常广的,特别是那些需要主观决策的、或者需要用经验判断的决策方案,例如:

    • 买房子(主观决策)

    • 选择旅游地(主观决策)

    • 给员工进行绩效评估(经验判断)

    • 选择开店地址(经验判断)

    2、AHP层次分析法过程

    层次分析法的原理,是在分析一个现象或问题之前,首先将现象或问题根据它们的性质分解为有关因素,并根据它们之间的关系分类而形成一个多层次的结构模型。然后通过经验或专家,来判断和衡量低层因素对高层因素的相对重要性,并根据重要性的程度得出权重排序,进而可以量化分析比较。层次分 析法的核心是将影响因素层次化和数据化,它把一个抽象的现象或问题由难到 易地予以分解,易于对复杂问题进行直观地判断,并作出决策。层次分析法具有将复杂问题简单化且计算简单等优点,应用十分广泛,诸如在人员素质评估、 多方案比较、科技成果评比和工作成效评价等多领域多方面都有运用。

    简单地说,层次分析法就是将一个决策事件分解为目标层(例如选择旅游地),准则层(影响决策的因素,例如景色、交通、费用等)以及方案层(指的是方案,例如去广州、桂林等地旅游)。

    层次分析法应用过程中,大体步骤主要包括四个。第一步是层次结构模型的构建。第二步构造判断矩阵,第三步为层次单排序及其一致性检验,这步即为对指标定权,第四步为层次总排序及其一致性检验,这布如果没有决策层的话,通常可以省略。

    PS:一致性检验的含义用于确定构建的判断矩阵是否存在逻辑问题,例如以A、B、C构建判断矩阵,若判定A相当于B为3(A比B稍微重要),A相当于C为1/3(C比A稍微重要),在判断B相当于C时,根据上述的逻辑,理应C比B重要,若我们在构建判断矩阵时,错误填写为B相当于C为3(B比C稍微重要),那么就犯了逻辑错误。

    2.1 构建层次评价模型

    顾名思义,在这个层次评价模型里面,我们需要确认整个决策事件的目标层、准则层、方案层

    其中,

    目标层:最优旅游地选择

    准则层:景色、费用、居住、饮食、旅途

    方案层:西安、云南、西藏、青海

    需要注意的时,准则层如果有多层,例如下图所示,依次类推就行了。

    2.2 构造判断矩阵

    构造判断矩阵就是通过各要素之间相互两两比较,并确定各准则层对目标层的权重。

    简单地说,就是把准则层的指标进行两两判断,通常我们使用Santy的1-9标度方法给出。

    对于准则层A,我们可以构建一个

    其中A 中的元素满足:

    简单说,例如对于准则层:景色、费用、居住、饮食、旅途,我们可以构建这样一个5*5的判断矩阵:

    其中对角线为各个指标自己的判断,例如对于【景色】与【景色】,其重要性为1,因为肯定是指标自身对比自身肯定是1:1。对于第二行第一列,也就是【费用】与【景色】对比,可能我认为【费用】比【景色】明显重要,那么就可以标值为5

    那么判断矩阵就会变为:

    以此类推,直到构建完成一个完整的判断矩阵。

    2.3 层次单排序与一致性检验

    这里列出一般在文献中的说明:

    step1:层次单排序

    层次单排序是指针对上一层某元素将本层中所有元素两两评比,并开展层次排序, 进行重要顺序的排列,具体计算可依据判断矩阵 A 进行,计算中确保其能够符合 AW=𝜆𝑚𝑎𝑥𝑊的特征根和特征向量条件。在此,A 的最大特征根为λmax,对应λmax的正规化的特征向量为 W,𝑤𝑖为 W 的分量,其指的是权值,与其相应元素单排序对应。 利用判断矩阵计算各因素𝑎𝑖𝑗对目标层的权重(权系数)。

    权重向量(W)与最大特征(λmax)的计算步骤(方根法或者和法)如下表所示:

    step2:求解最大特征根与CI值

    设 n 阶判断矩阵为 B,则可用以下方法求出其最大的特征根𝜆𝑚𝑎𝑥:

    BW=λW

    其中,W 是 B 的特征向量。 在层次分析法中, 我们用以下的一致性指标 CI 来检验判断的一致性指标 (Consistency Index):

    C.I.=0 表示判断矩阵完全一致,C.I.越大,判断矩阵的不一致性程度越严重。

    step3:根据CI、RI值求解CR值,判断其一致性是否通过

    Satty 模拟 1000 次得到的随机一致性指标 R.I.取值表(如下表 所示):

    当 C.R.<0.1 时,表明判断矩阵 A 的一致性程度被认为在容许的范围内,此时可 用 A 的特征向量开展权向量计算;若 C.R.≥0.1, 则应考虑对判断矩阵 A 进行修正。

    下面我用人话说一下:

    2.3.1 层次单排序

    简单地说,层次单排序就是根据我们构成的判断矩阵,求解各个指标的权重。

    例如我们现在在2.2构建完成了准则层的判断矩阵A如下:

    那么我们可以计算其权重(权重向量),有两种方式,一种是方根法,一种是和法。

    其中方根法计算权重如下:

    1. 计算每行乘积的m次方,得到一个m维向量

    即:

    (2)将将向量标准化即为权重向量,即得到权重

    即:

    而和法计算权重如下:

    step1:先将矩阵的每列进行标准化

    step2:将标准化后的各元素按行求和

    step3:将求和结果进行标准化

    例如这张图所示:

    2.3.2 求解最大特征根与CI值

    以上,求得权重矩阵后,可以计算最大特征根,其公式为:

    其中n为维度数,例如构建的判断矩阵为:景色、费用、居住、饮食、旅途时,n=5;

    AW为:判断矩阵*标准化后的权重,然后按按行的累加值。

    即判断矩阵A为:

    指标

    景色

    费用

    居住

    饮食

    旅途

    景色

    1

    5

    5

    0.3333

    8

    费用

    0.2

    1

    0.25

    0.1667

    2

    居住

    0.2

    4

    1

    0.2

    3

    饮食

    3

    6

    5

    1

    6

    旅途

    0.125

    0.5

    0.3333

    0.1667

    1

    标准化后权重W为:

    景色

    费用

    居住

    饮食

    旅途

    0.3104

    0.0591

    0.1157

    0.4716

    0.0432

    其中A*W为:

    指标

    景色

    费用

    居住

    饮食

    旅途

    景色

    0.3104

    0.2955

    0.5785

    0.15718428

    0.3456

    费用

    0.06208

    0.0591

    0.028925

    0.07861572

    0.0864

    居住

    0.06208

    0.2364

    0.1157

    0.09432

    0.1296

    饮食

    0.9312

    0.3546

    0.5785

    0.4716

    0.2592

    旅途

    0.0388

    0.02955

    0.03856281

    0.07861572

    0.0432

    AW:

    λmax:

    AW1/W1+AW2/W2+AW3/W3+···+AWn/Wn=x

    最大特征值λmax=x/矩阵阶数=5.416

    最大特征值λmax求解出来后,C.I值就好算多了,

    根据C.I值公式,λmax=5.416,n=5,代入可得C.I值=0.1042

    2.3.3 根据CI、RI值求解CR值,判断其一致性是否通过。

    一致性检验的含义用于确定构建的判断矩阵是否存在逻辑问题,例如以A、B、C构建判断矩阵,若判定A相当于B为3(A比B稍微重要),A相当于C为1/3(C比A稍微重要),在判断B相当于C时,根据上述的逻辑,理应C比B重要,若我们在构建判断矩阵时,错误填写为B相当于C为3(B比C稍微重要),那么就犯了逻辑错误;

    RI值通过查表可以得知,这个是Satty 模拟 1000 次得到的随机一致性指标 R.I.取值表(如下表 所示):

    而我们的矩阵是5阶(准则层因子个数),矩阵阶数为5时对应的RI值为1.12,代入公式:

    可以得到C.R.值为0.1042/1.12=0.093。

    所以 C.R.=0.093<0.1 时,表明判断矩阵 A 的一致性程度被认为在容许的范围内,此时可 用 A 的特征向量开展权向量计算;若 C.R.≥0.1, 说明我们在构建判断矩阵时出现了逻辑错误,

    例如B矩阵,我们假设在两两对比第三行第二列时,填入了1/5,这个时候就无法通过一致性检验,因为其犯了逻辑错误,我们根据第二行第一列,可以知道上海的地位比广州稍微重要,根据第三行第一列,可以知道北京的地位比广州强烈重要,所以根据逻辑:上海>广州,北京》广州,那么北京应该是>上海,但是我们填入了1/5,也就是北京比上海相当不重要,所以就出现了逻辑错误,这个时候,我们需要对判断矩阵 A 进行修正,修正为北京>上海。

    至此,我们便完成了层次单排序与一致性检验,通过我们在使用层次分析法只使用到这里,用于对指标进行定权,假如我们有方案层,便需要做层次总排序与其一致性检验。

    2.4 层次总排序与一致性检验

    这里列出一般在文献中的说明:

    计算某一层次所有因素对于最高层(目标层)相对重要性的权值,称为层次总排 序。该过程是从最高层次向最低层次依次进行:

    设 B 层𝐵1 ,𝐵2 ⋯ ,𝐵𝑛对上层(A 层)中因素𝐴𝑗(𝑗 = 1,2, ⋯ ,𝑚)的层次排序 一致性指标为𝐶𝐼𝑗,随机一致性指标为𝑅𝐼𝑗 ,则层次总排序的一致性比率为:

    当𝐶𝑅 < 0.1时,认为层次总排序通过一致性检验,否则就需要重新调整判断矩阵 的元素取值。到此,根据最下层(决策层)的层次总排序做出最后的决策。

    下面我用人话说一下:

    层次总排序,其实就是通过类型层次单排序的方法来给方案打分。

    打个比方,我们根据2.3的层次单排序,现在确定A1~A5的权重为

    景色

    费用

    居住

    饮食

    旅途

    0.3104

    0.0591

    0.1157

    0.4716

    0.0432

    现在我想要计算方案B1:苏杭的得分,但是我们并不知道苏杭的景色得分为多少,那该怎么办呢?

    类似2.3的层次单排序,对于景色这个因素,我们可以构建一个3*3的矩阵,如下所示:

    通过层次单排序两两对比各个方案在景色的比较,我们可以得到苏杭、北戴河、桂林的权重,那么这个权重就可以作为苏杭、北戴河、桂林在景色上的得分。

    依次类推,我们构造得到苏杭、北戴河、桂林在景色上的得分矩阵A1,在费用上的得分矩阵A2,在居住上的得分矩阵A3,在饮食上的得分矩阵A4,在旅途上的得分矩阵A5:

    计算得到其得分为:

    PS:以上全部的判断矩阵都需要做一致性检验。

    那么对于方案B1(苏杭),它的总得分为:

    苏杭在景色上的得分*景色的权重+苏杭在费用上的得分*费用的权重+苏杭在居住上的得分*居住的权重+苏杭在饮食上的得分*饮食的权重+苏杭在旅途上的得分*旅途的权重=0.5954*0.3104+0.819*0.0591+0.4286*0.1157+0.6337*0.4716+0.1667*0.0432=0.5889

    以此类推,可以计算得到方案B2(北戴河)为

    0.2764*0.3104+0.2363*0.0591+0.4286*0.1157+0.1919*0.4716+0.1667*0.0432=0.2471

    方案B3(桂林):

    0.1283*0.3104+0.6817*0.0591+0.1429*0.1157+0.1744*0.4716+0.6667*0.0432=0.2077

    因此苏杭得分最高,选择去苏杭。

    3、案例以及工具实现

    3.1 外出旅游最重视的因素

    这里的作用其实就是求因子权重,因此只计算到层次单排序,没有方案层,即无需层次总排序。

    3.1.1 使用工具

    SPSSPRO—>【层次分析法(AHP简化版)】

    3.1.2 案例操作

    step1:选择【层次分析法(AHP简化版)】;

    step2:选择判断矩阵阶层

    step3:设置判断矩阵(判断矩阵是对称矩阵)

    step4:点击【开始分析】,完成全部操作。

    3.1.3 分析结果解读

    以下生成的结果来源于SPSSPRO软件的分析结果导出,计算方式我在第二章有说过,下面直接就列分析结果了。

    输出结果1:构建判断矩阵结果

    这个就是前面操作页面所填写的判断矩阵

    输出结果2:AHP层次分析结果

    基于方根法的权重计算结果显示,景色的权重得分为0.2657,费用的权重得分为0.4212,居住的权重得分为0.0657,饮食的权重得分为0.1067,旅途的权重得分为0.1407,最大特征根为5.1352,CI为0.0338。

    输出结果3:一致性检验结果

    计算结果显示,最大特征根为5.1352,根据RI表查到对应的RI值为1.11,因此CR=CI/RI=

    0.0305<0.1,通过一次性检验,说明该权重确定方法的合理性,无需要对判断矩阵进行修改。

    需要注意的是,这里的RI值采用近年来更受认可的Franek and Kresta (2014)的方式,不再使用satty的方法。

    3.1.4 小结

    由3.1.3可以知道,外出旅游最重视的因素是费用,其权重得分为0.4212,这个结果是很主观的,因为本身选择旅游地这个决策就是一个非常主观的决策,就像推广到买房,本身影响买房的决策因子也是非常主观的,每个人都有自己的一杆秤,但是如果是店铺,例如奶茶店选址,那么我们可以找有经验的人来两两判断,或者多收集一些专家的判断,求平均值,对于主观的事情,当想法一致的人多了,那么也便了一个客观的事实。

    3.2 选择最佳外出旅游地

    这里的作用其实就是求方案的量化得分,因此需要对准则层计算层次单排序,对方案层进行层次总排序。

    3.2.1 使用工具

    SPSSPRO—>【层次分析法(AHP专业版)】

    3.2.2 案例操作

    Step1:选择层次分析法(AHP专业版);

    Step2:选择构建决策模型;

    Step3:输入构建的评价指标;

    Step4:输入最终的方案;

    Step5:确认以进入下一步指标评分;

    Step6:输入指标之间两两比对的重要程度值;

    Step7:输入不同方案的对应评价值的重要程度评价;

    3.1.3 分析结果解读

    以下生成的结果来源于SPSSPRO软件的分析结果导出,计算方式我在第二章有说过,下面直接就列分析结果了。

    输出结果1:方案得分

    基于指标层次单排序与方案层次总排序后,对于旅游地选择最好的方案为北戴河、其次为桂林。北戴河的量化得分为1.435,高过第二桂林近一倍。

    输出结果2:层次决策模型

    由图可见,其中最重要的两个决定因素是旅游地的景色和费用,而饮食、居住情况则属于低权重。

    输出结果3:判断矩阵汇总结果

    这里列出来了特征向量和权重,CR值小于0.1,一致性检验通过,层次分析法结果有效。

    输出结果4:方案层判断矩阵汇总结果

    上表展示了层次分析法的方案层的权重计算结果(即层次总排序),构建了个数为叶子节点指标的数目的判断矩阵对各个指标的权重进行分析,通过展示了一致性检验结果,用于判断方案层权重矩阵是否存在构建判断矩阵的逻辑问题。由于上一级节点的得分可以根据其子节点得分*权重计算得到,因此构建方案层判断矩阵时,只对叶子节点进行构建,即N个叶子节点就构建N个判断矩阵,用于综合两两对比情况,得到方案层对于某个叶子节点的得分;

    可以看到,方案的得分都满足了一致性检验。

    3.2.4 小结

    由3.2.3可以知道,对于旅游地选择最好的方案为北戴河,其量化得分为1.435,层次总排序的方案层判断矩阵,是在没有数据的情况下才做的,现实情况下,我们如果面临选择旅游地、选择租房、选择买房这类偏主观的决策,那么是可以采用层次总排序的,如果推广到店铺选址、快递柜选择、活动方案选择等需要客观决策的事情,我们其实可以通过两种方式来优化:

    • 基于大多数有经验的人,采用层次总排序,求均值,把主观转为客观(这里通常结合一种方法叫德尔菲法,也叫专家调查法)

    • 基于真实数据做层次总排序,例如店铺选择,假设有人流量这个指标,可以采用真实指标来量化求解。

    展开全文
  • 文章目录前言一、层次分析法的应用场景二、层次分析法的模型建立2.1递阶层次结构的建立例12.2 构造判断矩阵2.3 层次单排序及一致性检验三、层次分析法的应用案例例2四、代码 前言 层次分析法(Analytic Hierarchy ...


    前言

    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。

    即层次分析法可用于定性分析。


    一、层次分析法的应用场景

    层次分析法(AHP)是一种定性与定量分析结合的方法,可用于做决策,在几种方案中做选择,也可以对样本进行评价,还可以进行赋权,可作为主观赋权的方法与客观赋权法结合使用。适用范围很广。

    二、层次分析法的模型建立

    主要步骤:

    1. 建立递阶层次结构模型;
    2. 构造出各层次中的所有判断矩阵;
    3. 层次单排序及一致性检验;
    4. 层次总排序及一致性检验。

    2.1递阶层次结构的建立

    在AHP中,复杂问题被分解为元素,这些元素又按其属性及关系形成若干层次,上一层次的元素作为准则对下一层次有关元素起支配作用。
    这些层次可以分为三类:

    • 最高层(目标层):只有一个元素,一般是分析问题的预定目标或理想结果。
    • 中间层(准则层):包含了为实现目标所涉及的中间环节或准则,可以不只一层。
    • 最底层(方案层):包括了各种措施、决策方案。

    一般层次的数量不受限制,每一层次中各元素所支配的元素一般不要超过 9 个。

    例1

    假期旅游有 P 1 P_1 P1 P 2 P_2 P2 P 3 P_3 P3 3 个旅游胜地供你选择,试确定一个最佳地点。在此问题中,你会根据诸如景色、费用、居住、饮食和旅途条件等一些准则去反复比较 3 个侯选地点。可以建立如图1的层次结构模型。
    在这里插入图片描述

    2.2 构造判断矩阵

    判断矩阵表示针对上一层次某因素而言,本层次与之有关的各因素之间的相对重要性。假设A层中因素 A k A_k Ak与下一层次中因素 B 1 , B 2 , . . . , B n B_1,B_2,...,B_n B1,B2,...,Bn有联系,则我们构造的判断矩阵如下表:
    在这里插入图片描述
    b i j b_{ij} bij是对于 A k A_k Ak而言, B i B_i Bi B j B_j Bj的相对重要性的数值表示。
    b i j b_{ij} bij通常取1、3、5、7、9及它们的倒数,其含义为:
    在这里插入图片描述
    而2、4、6、8表示第 i i i个因素相对于第 j j j个因素的影响介于上述两个相邻等级之间。

    另外,若因素 i i i 与因素 j j j 的重要性之比为 b i j b_{ij} bij ,那么因素 j j j 与因素 i i i 重要性之比为 b j i = 1 / a i j b_{ji} =1/ a_{ij} bji=1/aij

    2.3 层次单排序及一致性检验

    判断矩阵 A 对应于最大特征值 λ m a x λ_{max} λmax 的特征向量 W W W ,经归一化后即为同一层次相应因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序。

    这句话不好理解,看下面这个公式:
    A W = λ max ⁡ W A W=\lambda_{\max } W AW=λmaxW
    其中 A A A为前面的判断矩阵, λ m a x \lambda _{max} λmax A A A的最大特征根, W W W为对应于 λ m a x \lambda _{max} λmax的正规化特征向量, W W W 的分量 W i W_i Wi 即为相应因素单排序的权值。

    对判断矩阵的一致性检验的步骤如下:

    1. 计算一致性指标 C I CI CI
      C I = λ max ⁡ − n n − 1 C I=\frac{\lambda_{\max }-n}{n-1} CI=n1λmaxn
    2. 为检验判断矩阵一致性,引入平均一致性指标 R I RI RI进行判断。
      下表给出了500个样本判断矩阵计算的平均随机一致性指标检验值,查表即可。
      在这里插入图片描述
    3. 计算一致性比例 C R CR CR
      C R = C I R I C R=\frac{C I}{R I} CR=RICI
      C R < 0.10 CR < 0.10 CR<0.10 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。
    4. 层次总排序及一致性检验
      层次总排序为确定某层所有因素对于总目标相对重要性的排序权值的过程。对于上一层次A,其包含m个因素A1,A2,…,Am,其层次总排序权值为a1,a2,…,am,下一层次B包含n个元素B1,B2,…,Bn,它们对于因素Aj的层次单排序权值分别为bj1,bj2,…,bjn(当Bi与Aj无联系时,bji=0)此时B层次总排序权值由下表给出:
      在这里插入图片描述
      对层次总排序也需作一致性检验,检验仍象层次总排序那样由高层到低层逐层进行。这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都已具有较为满意的一致性。但当综合考察时,各层次的非一致性仍有可能积累起来,引起最终分析结果较严重的非一致性。
      设 B 层中与 A j A_j Aj 相关的因素的成对比较判断矩阵在单排序中经一致性检验,求得单排序一致性指标为 C I ( j ) , ( j = 1 , . . . , m ) CI( j), ( j = 1,...,m ) CI(j),j=1,...,m,相应的平均随机一致性指标为 R I ( j ) RI( j) RI(j) C I ( j ) CI( j) CI(j) R I ( j ) RI( j) RI(j) 已在层次单排序时求得),则 B 层总排序随机一致性比例为
      C R = ∑ j = 1 m C I ( j ) a j ∑ j = 1 m R I ( j ) a j C R=\frac{\sum_{j=1}^{m} C I(j) a_{j}}{\sum_{j=1}^{m} R I(j) a_{j}} CR=j=1mRI(j)ajj=1mCI(j)aj
      C R < 0.10 CR < 0.10 CR<0.10 时,认为层次总排序结果具有较满意的一致性并接受该分析结果

    三、层次分析法的应用案例

    例2

    挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如图 2 所示。
    在这里插入图片描述
    准则层的判断矩阵如表 4 所示(这一部分需要建模者自己构造,如果比赛时为了增加可靠性,可以说是专家评估或者调查问卷结果)。
    在这里插入图片描述
    方案层的判断矩阵如表 5 所示。
    在这里插入图片描述
    层次总排序的结果如表 6 所示。
    在这里插入图片描述

    四、代码

    matlab代码如下:

    clc,clear 
    fid=fopen('txt3.txt','r'); 
    n1=6;n2=3; 
    a=[]; 
    for i=1:n1 
     tmp=str2num(fgetl(fid)); 
     a=[a;tmp]; %读准则层判断矩阵
    end 
    for i=1:n1 
     str1=char(['b',int2str(i),'=[];']); 
     str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']); 
     eval(str1); 
     for j=1:n2 
     tmp=str2num(fgetl(fid)); 
     eval(str2); %读方案层的判断矩阵
     end
     end 
    ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
    [x,y]=eig(a); 
    lamda=max(diag(y)); 
    num=find(diag(y)==lamda); 
    w0=x(:,num)/sum(x(:,num)); 
    cr0=(lamda-n1)/(n1-1)/ri(n1) 
    for i=1:n1 
     [x,y]=eig(eval(char(['b',int2str(i)]))); 
     lamda=max(diag(y)); 
     num=find(diag(y)==lamda); 
     w1(:,i)=x(:,num)/sum(x(:,num)); 
     cr1(i)=(lamda-n2)/(n2-1)/ri(n2); 
    end 
    cr1, ts=w1*w0, cr=cr1*w0
    

    纯文本文件txt3.txt中的数据格式如下::

    1 1 1 4 1 1/2 
    1 1 2 4 1 1/2 
    1 1/2 1 5 3 1/2 
    1/4 1/4 1/5 1 1/3 1/3 
    1 1 1/3 3 1 1 
    2 2 2 3 3 1 
    1 1/4 1/2 
    4 1 3 
    2 1/3 1 
    1 1/4 1/5 
    4 1 1/2 
    5 2 1 
    1 3 1/3 
    1/3 1 1/7 
    3 7 1 
    1 1/3 5 
    3 1 7 
    1/5 1/7 1 
    1 1 7 
    1 1 7 
    1/7 1/7 1 
    1 7 9 
    1/7 1 1 
    1/9 1 1
    
    展开全文
  • 层次分析法(AHP)

    千次阅读 2022-04-26 14:25:27
    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模 糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美 国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期...
  • 数学建模评价类方法02——层次分析法 离谱~建模书上竟然没有这一方法的介绍,那就做个简要的拓展吧! 数学建模数学建模评价类方法02——层次分析法前言一、基本介绍1.1 简单介绍1.2 详细介绍1.3 优劣势1.3.1 优势...
  • AHP,即层次分析法(Analytic Hierarchy Process,AHP)是一种系统化的、层次化的多目标综合评价方法。在评价对象的待评价属性复杂多样,结构各异,难以量化的情况下AHP层次分析法也能发挥作用
  • 层次分析法在matlab上的实现

    万次阅读 多人点赞 2018-06-12 10:36:17
    层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯.塞蒂(T.L.saaty)正式提出。它是一种定性和定量相结合的、系统化、层次化的分析方法。由于它在处理复杂的决策问题...
  • 数学建模day1 层次分析法与TOPSIS方法

    千次阅读 2020-01-29 16:24:45
    层次分析法(Analytic Hierarchy Process ,简称 AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家T. L. Saaty 教授于上世纪 70 年代初期提出...
  • 数学建模--层次分析法

    千次阅读 2020-07-19 22:36:09
    层次分析法的求解步骤 1.建立层次结构模型 模型分为三层。分别为最高层(决策问题最终要解决什么,即决策的目的)、中间层(考虑的因素,决策的准则。比如买衣服要考虑价格、尺寸、款式等因素)和最低层(决策时的...
  • 层次分析法——python

    千次阅读 多人点赞 2020-07-28 08:57:09
    层次分析法根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成–个多层次的分析结构模型,从而最终使问题归结为最低层(供决策的...
  • 层次分析法AHP基本原理+综合评价体系案例
  • 层次分析法

    千次阅读 2016-10-16 23:04:55
    同一层次的因素作为准则对下一层次的某些因素起支配作用,同时,它又受上一个层次因素的支配。这种从上到下的支配关系形成了一个递阶层次结构,处于最上层的是目标层,一般是分析问题的预定目标,本文中即以经济承载...
  • 层次分析法原理和matlab代码

    千次阅读 多人点赞 2020-06-15 21:16:56
    文章目录一、层次分析法简述二、求解过程1、建立层次结构模型2、构造成对比较矩阵3、计算权向量并做一致性检验4、计算组合权向量并做组合一致性检验三、参考文献 一、层次分析法简述 层次分析法(The analytic ...
  • 层次分析法分析国家综合国力

    千次阅读 2020-08-15 14:50:08
    和其他国家综合实力的计算方法相比,层次分析法具有较强的实用性,将定性与定量相结合,计算简便,结果明确,虽然主观因素作用较大,可能造成结果差异较大,但综合其优缺点来看,我们最终得到的数据还是有一定的...
  • 预测(评价)模型——层次分析法*

    千次阅读 2020-04-15 11:46:03
    层次分析法属于运筹学理论,简称为AHP,其主要思路是将决策总有关的元素分解为多个层次,基本的AHP主要分为三层目标层,准则层,方案层。在此基础上进行定量与定性分析。最终得出决策依据。该方法是美国运筹学家匹茨...
  • 层次分析法(AHP)——matlab代码实现

    万次阅读 多人点赞 2019-04-17 10:02:45
    层次分析法(AHP)的主要思想是根据研究对象的性质将要求达到的目标分解为多个组成因素,并按组成因素间的相互关系,将其层次化,组成一个层次结构模型,然后按层分析,最终获得最高层的重要性权值。层次分析法把一...
  • 基于层次分析法与熵权法的主客观组合赋权模型 组合赋权大家可以尝试进行改变,一个主观一个客观。(原创:小青龙) 简介 ​ 权重是用来衡量总体中各单位标志值在总体中作用大小的数值, 用来描述单因子在因子集体系...
  • AHP(层次分析法)的全面讲解及python实现

    万次阅读 多人点赞 2020-05-09 13:58:30
    一、层次分析法的使用流程: 1. 建立层次结构模型 首先绘出层次结构图,正常三层是比较常见的:决策的目标、考虑的决策准则因素和决策对象。按它们之间的相互关系分为最高层、中间层和最低层(如下图是四层结构的...
  • 模糊层次综合分析法Python实践及相关优缺点分析

    万次阅读 多人点赞 2020-09-08 21:20:48
    模糊综合评价(FCE)是一种根据模糊数学隶属度理论把定性评价转化为定量评价的方法,它具有结果清晰,系统性强的特点,能较好地解决模糊的、难以量化的问题,适合各种非确定性问题的解决。我们先看模糊综合评价...
  • 层次分析法 AHP

    千次阅读 2019-04-22 15:49:37
    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出...
  • 层次分析法(matlab实现)

    千次阅读 2017-07-29 18:15:37
    层次分析:层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。不妨用假期旅游为例:假如有3个旅游胜地A、B、C供你选择,你会根据诸如景色、费用和居住、饮食、旅途条件等一些准则去反复...
  • 数学评价模型(一):层次分析法

    千次阅读 2020-04-05 19:09:11
    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出...
  • 数学建模中的层次分析法

    千次阅读 2018-07-25 16:20:00
    层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模 糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。 层次分析法的基本原理与步骤 人们在进行社会的、经济...
  • 文末资源:层次分析法常用软件,破解版yaahp软件,中间层个数可达99个,方案层个数可达99个,免费版的中间层、方案层个数只有3个哦,内含教程,永久使用:(浏览器输入/点击网址获取) 层次分析法之yaahp软件,中间...
  • 层次分析模型

    千次阅读 2019-07-16 21:18:27
    层次模型(AHP)是一种定性与定量相结合的、系统化、层次化的分析方法。 人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个互相关联、相互制约的众多元素构成复杂而往往缺少定量数据的...
  • 1.线性加权 线性加权的适用条件是各评价指标之间相互独立, 这样就可以利用多元线性回归方法来得到各指标对应的系数。 举个例子:所评价的对象是股票, 已知一些股票的各个指标以及这些股票的历史表现,其中...
  • 层次分析法经典案例

    千次阅读 2020-12-22 14:18:35
    层次分析法经典案例篇一:层次分析法步骤层次分析法实例与步骤结合一个具体例子,说明层次分析法的基本步骤和要点。【案例分析】市政工程项目建设决策:层次分析法问题提出市政部门管理人员需要对修建一项市政工程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,618
精华内容 21,047
热门标签
关键字:

层次分析法的主要作用