精华内容
下载资源
问答
  • 判断矩阵一致性调整的新简易方法及EXCEL辅助实现,陈凯华,寇明婷,通过分析影响AHP中互反判断矩阵一致性的因素,提出一种同时基于新构造的行和列比较偏离矩阵的一致性优化调整的新方法,并提出利用欧�
  • 判断矩阵一致性检验的Matlab源程序代码

    千次阅读 多人点赞 2019-08-07 13:53:03
    disp('请输入判断矩阵A') A=input('A='); [n,n] = size(A) %方法1: 算术平均法 Sum_A = sum(A); SUM_A = repmat(Sum_A,n,1); Stand_A = A ./ SUM_A; Stand_A = A ./ Sum_A; % 这样也可以的 disp('算术平均法求权重...
    Matlab源程序代码如下:
    clc
    clear
    disp('请输入判断矩阵A')
    A=input('A=');
    [n,n] = size(A)
    %方法1: 算术平均法
    Sum_A = sum(A);
    SUM_A = repmat(Sum_A,n,1);
    Stand_A = A ./ SUM_A;
    Stand_A = A ./ Sum_A; % 这样也可以的  
    disp('算术平均法求权重的结果为:');
    disp(sum(Stand_A,2)./n)
    %方法2: 几何平均法
    Prduct_A = prod(A,2);
    Prduct_n_A = Prduct_A .^ (1/n);
    disp('几何平均法求权重的结果为:');
    disp(Prduct_n_A ./ sum(Prduct_n_A))
    %方法3: 特征值法求权重
    [V,D] = eig(A);
    Max_eig = max(max(D))
    [r,c]=find(D == Max_eig , 1);
    disp('特征值法求权重的结果为:');
    disp( V(:,c) ./ sum(V(:,c)) )
    %计算一致性比例CR
    CI = (Max_eig - n)/(n-1);
    RI=[0 0.0001 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]; 
    % 这里n=2时,一定是一致矩阵,所以CI = 0,为了避免分母为0,将这里的第二个元素改为了很接近0的正数
    CR=CI/RI(n);
    disp('一致性指标CI=');disp(CI);
    disp('一致性比例CR=');disp(CR);
    if CR<0.10
        disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');
    else
        disp('注意:CR >=
    0.10,因此该判断矩阵A需要进行修改!');
    end
    展开全文
  • 针对群决策中基于语言判断矩阵...然后通过定义有关专家群体判断各个方案以及专家群体判断的一致性指标,给出了专家群体判断一致性的判别方法及专家群体判断不一致的调整方法;最后通过一个算例说明了所提出方法的有效性.
  • 论文研究-小生境遗传算法修正三角模糊数互补判断矩阵一致性及排序.pdf, 一致性检验、修正和权值排序作为一个整体处理,属于全局分析方法.采用遗传算法优化建立的一致性...
  • 给出了满意一致性指标的计算方法, 通过该方法可以找出语言判断矩阵中所有不合逻辑的判断元素组,判定语言判断矩阵的满意一致性程度, 有效地解决存在两个方案无差异的语言判断矩阵的满意一致性的判定问题; 最后通过两...
  • 在一致性修正过程中,为了避免模糊层次分析法 (AHP)可能引发的歧义,提出了一种同步一致性算法和基于矩阵一致性指标的多判断矩阵合成方法。结合模糊判断矩阵的构造和一致性检验2个步骤,利用人机交互的特点,在构造模糊...
  • 论文研究- 如何增加层次分析法中判断矩阵的一致性.pdf, 一、前言 美国运筹学家T.L.Saaty教授提出的层次分析法(AHP)已在我国用于许多决策研究中,但在实际应用时,参加评判的专家或...2.有时形成的判断矩阵一致性较差,实
  • 判断矩阵一致性的检验与改进是层次分析法中的重要问题.针对现有检验与调整方法存在的不足,将"可能满意度"的概念引入该领域,提出一种新的优化调整算法.该方法利用判断...
  • 层次分析法中判断矩阵的填写方法、一致性检验的步骤、以及根据判断矩阵计算权重的方法

    目录:

    • 准则层判断矩阵怎么填写
    • 方案层判断矩阵怎么填写
    • 关于判断矩阵和一致矩阵的知识点补充
    • 一致性检验的步骤
    • 怎样通过判断矩阵去计算权重(三种方法),及相应的代码示例
    准则层判断矩阵的填写:

    填写准则层判断矩阵的目的是确定各准则(指标)所占的比重,填写好层次分析表的指标权重列,例如在选择最佳旅游地问题的指标景色、花费、居住、饮食、交通各自占比是多少,后续可以通过这些指标占比计算出每一个可选方案的总分。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    填表的方法是依据标度表,两两比较指标的重要程度,只需要比较10次就可以完成准则层判断矩阵的填写


    方案层判断矩阵的填写

    填写方案层判断矩阵的目的是给出,对于某一特定指标,它在各个可选方案的具体得分是多少,也就是给出层次分析表的每一横行的数据。方法是依据标度表,填写好判断矩阵。有几个评价指标,就需要填多少此方案层判断矩阵。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    知识点补充:
    判断矩阵(正互反矩阵)
    • 首先判断矩阵一定是一个方阵
    • 判断矩阵每一个数据 Aij表示与指标 j相比 i的重要程度
    • i=j 时,两个指标相同,因此同等重要,记为1,因此判断矩阵的对角线元素为1
    • 每一个元素均大于零,且 Aij * Aji=1

    在层次分析法中,我们构造的矩阵的均为判断矩阵

    一致矩阵
    • 矩阵首先满足判断矩阵的所有特点
    • 若判断矩阵满足 Aij * Ajk = Aik,直观的看就是矩阵的各行(各列)成倍数关系

    注意点:在使用判断矩阵求权重之前,必须对其进行一致性检验


    一致性检验的步骤:

    第一步:计算一致性指标CI
    C I    =    λ max ⁡ − n n − 1 CI\,\,=\,\,\frac{\lambda _{\max}-n}{n-1} CI=n1λmaxn
    第二步:查找对应的平均随机一致性指标RI
    在这里插入图片描述
    第三步:计算一致性比例CR
    C R    =    C I R I CR\,\,=\,\,\frac{CI}{RI} CR=RICI
    判断:如果CR<0.1,则可认为判断举证的一致性可以接受;否则需要对判断矩阵进行修改

    一致性检验的MATLAB代码如下:

    disp('请输入判断矩阵A')
    A=input('A=');
    [n,n] = size(A);
    [V,D] = eig(A);%求出矩阵A的特征值和特征向量
    Max_eig = max(max(D));%找到矩阵A的最大特征值
    % 下面是计算一致性比例CR的环节 % 
    CI = (Max_eig - n) / (n-1);
    RI=[0 0.0001 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];
    %注意哦,这里的RI最多支持 n = 15
    % 这里n=2时,一定是一致矩阵,所以CI = 0,我们为了避免分母为0,将这里的第二个元素改为了很接近0的正数
    CR=CI/RI(n);
    disp('一致性指标CI=');disp(CI);
    disp('一致性比例CR=');disp(CR);
    if CR<0.10
        disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');
    else
        disp('注意:CR >= 0.10,因此该判断矩阵A需要进行修改!');
    end
    
    

    通过判断矩阵求权重

    方法一、算数平均法求权重

    第一步:将判断矩阵按照列归一化(每一个元素除以器所在列的和)

    第二步:将归一化的各列相加(按行求和)

    第三步:将相加后得到的向量中的每个元素除以n即可得到权重向量

    具体数学表达:

    假设判断矩阵为下面这个矩阵A:
    A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\left[ \begin{matrix} a_{11}& a_{12}& \cdots& a_{1n}\\ a_{21}& a_{22}& \cdots& a_{2n}\\ \vdots& \vdots& \ddots& \vdots\\ a_{n1}& a_{n2}& \cdots& a_{nn}\\ \end{matrix} \right] A=a11a21an1a12a22an2a1na2nann
    那么算数平均法求得的权重向量为:
    w i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j    w_i=\frac{1}{n}\sum_{j=1}^n{\frac{a_{ij}}{\sum_{k=1}^n{a_{kj}}}}\,\, wi=n1j=1nk=1nakjaij
    MATLAB代码如下:

    disp('请输入判断矩阵A')
    A=input('A=');
    [n,n] = size(A);
    
    Sum_A = sum(A);   %sum函数默认是对矩阵的每一列进行累加,即按行求和
    SUM_A = repmat(Sum_A,n,1);    %将Sum_A这个行向量,重复n行,重复一列
    Stand_A = A ./ SUM_A;         %将矩阵A归一化,即每一个元素除以其所在列的和
    
    disp('算术平均法求权重的结果为:');
    disp(sum(Stand_A,2)./n)      %把归一化的矩阵的每一行累加,然后除以n,得到权重
    

    方法二、几何平均法求权重

    第一步:将A元素按照行相乘得到一个新的列向量

    第二步:将新的列向量的每个分量开n次方

    第三步:对该列向量进行归一化即可得到权重向量

    假设判断矩阵为下面这个矩阵A:
    A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\left[ \begin{matrix} a_{11}& a_{12}& \cdots& a_{1n}\\ a_{21}& a_{22}& \cdots& a_{2n}\\ \vdots& \vdots& \ddots& \vdots\\ a_{n1}& a_{n2}& \cdots& a_{nn}\\ \end{matrix} \right] A=a11a21an1a12a22an2a1na2nann
    那么几何平均法求得的权重向量为:
    w i = ( ∏ j = 1 n a i j ) 1 n ∑ k = 1 n ( ∏ j = 1 n a k j ) 1 n , ( i = 1 , 2 , … , n ) w_i=\frac{\left( \prod_{j=1}^n{a_{ij}} \right) ^{\frac{1}{n}}}{\sum_{k=1}^n{\left( \prod_{j=1}^n{a_{kj}} \right) ^{\frac{1}{n}}}},\left( i=1,2,…\text{,}n \right) wi=k=1n(j=1nakj)n1(j=1naij)n1,(i=1,2,n)
    注意:每一种方法求得的权重和应该为1,由于四舍五入导致的误差可以忽略,一般结果保留四位小数

    MATLAB代码如下:

    disp('请输入判断矩阵A')
    A=input('A=');
    [n,n] = size(A);  %获得矩阵A的行和列的大小
    
    Prduct_A = prod(A,2);       %把矩阵A的每一行累乘,即按照列累乘
    Prduct_n_A = Prduct_A .^ (1/n);   %将新的列向量的每个分量开n次方
    disp('几何平均法求权重的结果为:');
    disp(Prduct_n_A ./ sum(Prduct_n_A))  %对该列向量进行归一化即可得到权重向量
    

    方法三、特征值法求权重(常用)

    知识点提醒:一致矩阵有一个特征值为n,其余特征值均为0,并且当矩阵的特征值为n时,其对应的特征向量为
    k [ 1 a 11 , 1 a 12 , … , 1 a 1 n ] T , ( k ≠ 0 ) k\left[ \frac{1}{a_{11}},\frac{1}{a_{12}},…,\frac{1}{a_{1n}} \right] ^T,\left( k\ne 0 \right) k[a111,a121,,a1n1]T,(k=0)
    第一步:求出矩阵A的最大特征值和以及其对应的特征向量

    第二步:对求出的特征向量进行归一化即可得到所求的权重

    MATLAB代码如下:

    disp('请输入判断矩阵A')
    A=input('A=');
    
    %求矩阵A的全部特征值,构成对角阵D,求A的特征向量构成V的列向量(V的每一列都是D中与之相同列的特征值的特征向量)
    [V,D] = eig(A); 
    Max_eig = max(max(D));   %求出矩阵A的最大的特征值
    [r,c]=find(D == Max_eig , 1);  %返回最大特征值所在的行和列,其中C记录所在列
    disp('特征值法求权重的结果为:');
    disp( V(:,c) ./ sum(V(:,c)) )  %对最大特征值对应的特征向量进行归一化处理
    

    友情提示:在比赛当中,建议三种方法全部列出来,但仅适用特征值法求得的权重结果进行计算


    更多有关与层次分析法的经典获奖论文,以及建模论文模板等资料关注公众号,回复,“层次分析法”,即可免费领取!!!
    在这里插入图片描述

    展开全文
  • 然后,通过定义有关专家群体判断的一致性指标及专家个体判断一致性指标,给出了群决策中基于互补判断矩阵形式偏好信息的专家群体判断一致性的识别方法和不一致的调整方法。同时,依据专家个体判断一致性指标,还可以...
  • 针对群决策中基于语言判断...然后通过定义有关专家群体判断各个方案以及专家群体判断的一致性指标,给出了专家群体判断一致性的判别方法及专家群体判断不一致的调整方法;最后通过一个算例说明了所提出方法的有效性。
  • 论文研究- 判断矩阵的一致性检验与误差分析.pdf, 一、一致性指标μ与相对误差δ_(ij)的分布关系 在层次分析法中,关于判断矩阵一致性指标μ有如下定理:若正互反矩阵A=(α_(ij))_(n×n)最大特征根对应的正特征向量W...
  • 主要解决验证矩阵一致性问题 定义一个函数,读取粘贴板(从复制excel复制表格) GetMatrix = function() { tmp = read.table("clipboard",sep = "\t",header = F) tmp = as.matrix(tmp) 9+1 weight(tmp) CRtest...

    如何构建AHP层次分析法矩阵可参看知乎这个回答:
    https://zhuanlan.zhihu.com/p/38207837

    主要解决验证矩阵一致性问题
    定义一个函数,读取粘贴板(从复制excel复制表格)

    GetMatrix = function()
    {
      tmp = read.table("clipboard",sep = "\t",header = F)
      tmp = as.matrix(tmp)
      9+1
      weight(tmp)
      CRtest(tmp)
    }
    

    判断代码

    ##输入:judgeMatrix 判断矩阵;round 结果约分位数
    ##输出:权重
    weight <- function (judgeMatrix, round=3) {
      n = ncol(judgeMatrix)
      cumProd <- vector(length=n)
      cumProd <- apply(judgeMatrix, 1, prod)  ##求每行连乘积
      weight <- cumProd^(1/n)  ##开n次方(特征向量)
      weight <- weight/sum(weight) ##求权重
      round(weight, round)
    }
    
    
    ###注:CRtest调用了weight函数
    ###输入:judgeMatrix
    ###输出:CI, CR
    CRtest <- function (judgeMatrix, round=3){
      RI <- c(0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49, 1.51) #随机一致性指标
      Wi <- weight(judgeMatrix)  ##计算权重
      n <- length(Wi)
      if(n > 11){
        cat("判断矩阵过大,请少于11个指标 \n")
      }
      if (n > 2) {
        W <- matrix(Wi, ncol = 1) 
        judgeW <- judgeMatrix %*% W 
        JudgeW <- as.vector(judgeW)
        la_max <- sum(JudgeW/Wi)/n
        CI = (la_max - n)/(n - 1)
        CR = CI/RI[n]
        cat("\n CI=", round(CI, round), "\n")
        cat("\n CR=", round(CR, round), "\n")
        if (CR <= 0.1) {
          cat(" 通过一致性检验 \n")
          cat("\n Wi: ", round(Wi, round), "\n")
        }
        else {
          cat(" 请调整判断矩阵,使CR<0.1 \n")
          Wi = NULL
        }
      }
      else if (n <= 2) {
        return(Wi)
      }
      consequence <- c(round(CI, round), round(CR, round))
      names(consequence) <- c("CI", "CR")
      consequence
    }
    

    如何使用

    使用该代码时,首先将全部代码在R中运行一次,然后复制excel中的数据(只复制数值部分),然后输入

    GetMatrix()
    

    输出为通过一致性检验,说明AHP矩阵没有问题;输出为请调整判断矩阵,说明矩阵还需要调整。
    输出结果举例:
    在这里插入图片描述

    展开全文
  • 在充分挖掘矩阵构造者信息的基础上,首先建立起指标间的序关系,由此构造出一致性判断矩阵,整个过程都由矩阵构造者完成,且方法清晰,简单,操作性强。通过算例分析,说明了该方法的有效性和实用性。
  • 对于matlab新手而言,主要在判断矩阵未通过一致性检验的时候,需要重新输入,重新计算。 clc; clear;% 清除所有命令窗口,清除所有变量 while true %无条件进入循环 A=input('请输入判断矩阵A='); [m,n]=size(A); %...

    层次分析法原理简单,matlab实现起来也较容易。
    对于matlab新手而言,主要在判断矩阵未通过一致性检验的时候,需要重新输入,重新计算。

    clc;
    clear;% 清除所有命令窗口,清除所有变量
    while true %无条件进入循环
    A=input('请输入判断矩阵A=');
    [m,n]=size(A);                     %获取指标个数
    RI=[  0	 0	 0.58 	0.90	1.12	1.26	1.36	1.41	1.46];
    [V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    tz=max(D);
    B=max(tz);                         %最大特征值
    [row, col]=find(D==B);             %最大特征值所在位置
    C=V(:,col);                        %对应特征向量
    CI=(B-n)/(n-1);                    %计算一致性检验指标CI
    CR=CI/RI(1,n);   
    if CR<0.10
     	disp('CI=');disp(CI);
     	disp('CR=');disp(CR);
    	disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');
     	break; 
    
    else
    	disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');
    	continue;
    end    
       
    end
    
    Q=zeros(n,1);
    for i=1:n
      	Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化
    end
    Q  %最后输出权重值
    
    展开全文
  • 论文研究- 平均随机一致性指标R·I的新探讨.pdf, 一、前言 迄今为止,在AHP一致性检验中,人们普遍采用Saaty推荐的方法,即对于判断...其中R·I为平均随机一致性指标,是大量同阶随机互反矩阵一致性指标的平均值。不容否
  • 阵来进行模糊判断矩阵的次序一致性判断方法. 同时, 根据非传递路径数的大小来确定模糊判断矩阵中的最不合理 元素, 这样模糊判断矩阵的次序一致性判断和修正可以一体化实现. 最后, 用1 个中小板上市公司的非财务...
  • 其次, 将残缺语言型偏好转化成残缺数值型偏好, 根据相对熵与加性一致性算法, 构建决策者对方案排序向量的最优模型; 再次, 通过构建接近度熵权与相似度熵权指标, 对决策者权重进行动态调整, 得到稳定的决策者权重, ...
  • 论文研究- 一致性指标临界值的改进.pdf, 一、AHP中一致性检验的必要性 这里着重说明判断矩阵一致性检验的必要性。设有n个元素(或方案)A_1,A_2,…,A_n在准则C下的真实排序用向量W=[W_1,W_2,…,W_n]~T表示,则其两两...
  • 模糊层次综评模型及应用实例 摘要介绍了模糊层次法评价水环境质量的基本原理和方法步骤建立了水环 境质量综合评价模型利用?该评价?方法就?...水质综合评价的基本思路是 用层次分析法确定各指标的权重在
  • 序约束下合成矩阵的一致性程度和合成矩阵与群组判断矩阵的差异程度; 利用模糊互补判断矩阵的线性和连续性, 计算与群组判断矩阵差异最小的最优可能度矩阵和无约束的最优满意度矩阵; 采用两个最优矩阵上三角元素的...
  • 层次分析法理论部分评价类模型——层次分析法,一致性检验学习笔记(一) 层次分析法方法总结: 第一步:分析系统中各因素之间的关系,建立系统的递阶层次结构 第二步:对于同一层次的各元素关于上一层次中某...
  • 层次分析法 方案层判断矩阵阶数不同解决方案

    千次阅读 多人点赞 2020-07-21 10:58:11
    准则层判断矩阵 费用 饮食 旅途 费用 1 3 5 饮食 1/3 1 1 旅途 1/5 1 1 方案层判断矩阵分别为 P1 P2 P3 P1 1 1/3 1/3 P2 3 1 1 P3 3 1 1 P4 P5 P4 1 1/5 P5 5 1 P6...
  • 从传统的非合作竞争走向合作竞争、合作与竞争并存是当今企业关系发展的一个趋势。因此供应商选择对企业采购与供应工作具有直接的关键的影响。一个好的供应商能够在物料或服务的质量、成本等各个方面满足企业的...
  • 策略概述 一般而言,趋势策略在市场有趋势的时候盈利丰厚,而在震荡市场,趋势策略容易发生亏损。... 本篇专题报告从市场成份股的一致性强弱出发,对市场指数的趋势强弱进行判断。本篇报告所选择的主要标...
  • 层次分析与一致性检验

    万次阅读 2020-12-20 17:19:25
    目录1、层次分析法的基本步骤1.1、建立层次结构模型1.2、构造判断(成对比较)矩阵1.3、层次单排序及一致性检验1.4、 层次总排序及其一致性检验2、总结:层次分析法的4步3、实例:去哪儿旅游5、为什么层次分析法要进行...
  • 利用AHP的一致性判断矩阵直接转换到模糊对称矩阵,得到了不同的运行状态阶段影响因素指标相对于变压器运行状态的组合权重.这种方法不仅简化了模糊综合评判方法的对称矩阵的建立,也使变压器运行状态的评价准则更满足...
  • 以下内容整理来自B站UP主:数学建模学习交流 层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、 匹兹堡大学教授T ....AHP的主要特点是通过建立递阶层次结构,把人类的判断转...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,960
精华内容 3,984
热门标签
关键字:

判断矩阵的一致性指标