评价类问题 之 层次分析

流程简述

  1. 构建评价体系
  2. 计算判断矩阵
  3. 结论分析

解决的问题

其主要用于解决:评价类问题
(例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀)

例题:填好志愿后,小明同学想出去旅游。在查阅了网上的攻略后,他初步选择了苏杭、北戴河和桂林三地之一作为目标景点。
请你确定评价指标、形成评价体系来为小明同学选择最佳的方案。

评价类问题所涉及的三个问题

在这里插入图片描述
针对该题:
在这里插入图片描述

评价指标

关于评价指标一般都是自己获取,但是要保证一定的合理性,我们可以在虫部落搜索论文中进行索引并引用数据指标,可以在最后写上引用的文献。

虫部落-快搜

针对该题:

在这里插入图片描述
所以第三个问题就存在了一个答案:
在这里插入图片描述

层次结构

除了第一层外,我们都要对于每层的所有节点上一层的每个节点的条件下形成多个判断矩阵。
在这里插入图片描述

指标权重

直接写入权值存在的问题

若直接对于权重进行赋值的话。存在以下问题:

在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者**提出与他实际认为的重要性程度不相一致*的数据,甚至有可能提出一组隐含矛盾的数据。
——选自司守奎老师的《数学建模算法与应用》

使用层次分析的分而治之思想解决

那么我们需要一种分而治之的思维方式:
两个两个指标进行比较,最终根据两两比较的结果来推算出权重。

重要程度度量指标

首先需要对于指标重要程度设置一个度量,于是有了以下定义:

在这里插入图片描述

权重的确定过程

主要通过Q-A方式进行确定
在这里插入图片描述
若指标存在n种,那么需要提问的次数为:
C n 2 \mathrm{C}_n^2 Cn2

指标之间判断矩阵的形成

在这里插入图片描述
(1) a i j a_{ij} aij表示的意义是,与指标𝑗相比,𝑖的重要程度。
(2)当 i = j i = j i=j时,两个指标相同,因此同等重要记为 1 1 1,这就解释了主对角线元素为 1 1 1
(3) a i j > 0 a_{ij} > 0 aij>0且满足 a i j × a j i = 1 a_{ij} \times a_{ji} = 1 aij×aji=1 (我们称满足这一条件的矩阵为正互反矩阵)

对于每个指标求出目标方案之间的判断矩阵

对于每种指标我们有了一个重要程度值,但是我们对于同一个指标在不同目标地点的好坏不知道,也就是说对于风景来说,苏杭 北戴河 桂林这三个地方的哪个景色好呢,相对于其他地方好到什么程度呢?

所以对于这种情况我们还是要进行Q-A方式来进行重要程度的判断。

在这里插入图片描述
对于每一种指标都要进行重要成都分析就有了:

在这里插入图片描述

判断矩阵存在的问题

有时我们对于某种指标进行判断时过于主观,对于某种指标的重要程度同一指标的不同目标地点程度存在一些不合理的情况:

在这里插入图片描述
图表中的数值客观的讲就是数学意义上的值,就是说若值为 指标1 指标2 = 1 2 \frac{\text{指标1}}{\text{指标2}} = \frac{1}{2} 指标2指标1=21表示指标2的重要程度在数学意义上是指标1的2倍。

一致矩阵的引入

正互反矩阵
a i j × a j i = 1 a_{ij} \times a_{ji} = 1 aij×aji=1

在正互反矩阵基础上有:

a i j × a j i = a i k a_{ij} \times a_{ji} = a_{ik} aij×aji=aik

就形成 一致矩阵

一致矩阵是对于一个严格意义上在数学上对于两者某种程度一致性的矩阵有一个固定的特征:

在这里插入图片描述
标准的一致矩阵简化成形象的语言来说:

在这里插入图片描述

一致性检验

通常我们的判断矩阵并不满足一致矩阵的条件,主要是我们将判断矩阵和一致矩阵之间的误差不超过某个值就可以在一定程度上接受。所以我们要使用一致性检验来进行判断

一致矩阵的性质

对于标准的一致矩阵有一下性质:

在这里插入图片描述

当判断矩阵不是严格的一致矩阵时,我们的矩阵特征值会随着不一致程度的增加而增加:
在这里插入图片描述

一致性检验方法

若一致性大于0.1表示不能接受,要进行矩阵调整

在这里插入图片描述

λ m a x \lambda_{max} λmax就是特征值中的最大值
n n n为矩阵维度

利用通过一致性检验的判断矩阵计算权重

指标的重要程度 和 同一指标的不同目标地点程度 都要进行相应的权值计算。

另外我们的判断矩阵可能不是严格的一致矩阵,所以对于每种结果在不同列/行上的比值权重是不一样的,所以要全部计算并通过某种方式进行整合

整合方式有一下三种,特征值最常用,可以三者结合使其稳定性。

在这里插入图片描述

算数平均法求权重

在这里插入图片描述
判断矩阵:
A = [ a 11 … a 1 n ⋮ ⋱ ⋮ a n 1 … a n n ] n × n A=\begin{bmatrix}a_{11} & \dots & a_{1n}\\% 省略号(横纵斜)和下标的使用 \vdots& \ddots&\vdots\\ a_{n1} & \dots &a_{nn} \end{bmatrix}_{n \times n} A=a11an1a1nannn×n

权值向量数学描述:
ω i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j         ( i = 1 , 2... n ) \omega_i=\frac{1}{n}\sum_{j=1}^n\frac{a_{ij}}{\sum_{k=1}^na_{kj}}~~~~~~~ (i= 1,2...n) ωi=n1j=1nk=1nakjaij       (i=1,2...n)

几何平均法求权值

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{(\prod_{j=1}^na_{ij})^\frac{1}{n}}{\sum_{k=1}^n(\prod_{j=1}^na_{kj})^\frac{1}{n}}~~~~(i= 1,2...n) wi=k=1n(j=1nakj)n1(j=1naij)n1    (i=1,2...n)

特征值取权值

在这里插入图片描述

将权重值填入权值表

同一指标下不同目的地之间的权重:

在这里插入图片描述

指标之间权重:

在这里插入图片描述

最终得到:
在这里插入图片描述

计算不同目的地的得分

求出所有的分数后就是最佳答案:
在这里插入图片描述

代码

输入判断矩阵输出三种方式算出的权重(会判断CR一致性参数)

A=input('输入判断矩阵');
[n,n] = size(A);

% % % % % % % % % % % % %方法1: 算术平均法求权重% % % % % % % % % % % % %
Sum_A = sum(A);% 列求和,生成一行
SUM_A = repmat(Sum_A,n,1);%将Sum_A进行累计组合运算,组合有n行1列Sum_A
Stand_A = A ./ SUM_A;%对应的每个值相除
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)./n);%行相加,生成一列,结果就是均值

% % % % % % % % % % % % % %方法2: 几何平均法求权重% % % % % % % % % % % % %
Prduct_A = prod(A,2);%和sum对应,横向累乘,生成纵向数据
Prduct_n_A = Prduct_A .^ (1/n);%对于每一个累成结果进行开方处理
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A ./ sum(Prduct_n_A));%对于每一行数据均除以开方后的累加和

% % % % % % % % % % % % %方法3: 特征值法求权重% % % % % % % % % % % % %
[V,D] = eig(A);%D是特征值放在对角线上组成的只有主对角线上有值的矩阵,每个特征值对应V中一列特征向量
Max_eig = max(max(D));
[r,c]=find(D == Max_eig , 1);%因为只有主对角线有值,其余为0,所以r=c
disp('特征值法求权重的结果为:');
disp( V(:,c) ./ sum(V(:,c)) )% V(:,c)取出对应的列向量 sum(V(:,c))是对列向量加和

% % % % % % % % % % % % %下面是计算一致性比例CR的环节% % % % % % % % % % % % %
CI = (Max_eig - n) / (n-1);%Max_eig之前计算的最大特征值带入公式
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);%计算CR指标
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<0.10
    disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');
else
    disp('注意:CR >= 0.10,因此该判断矩阵A需要进行修改!');
end

另外的一个例题形式

题型简述

在一般情况下,我们的准则层并不一定只有一个准则层,并且并不是一个准则层均对应其他层的所有方案,于是我们需要对于层次分析进行略微的调整即可:

例如以下这个数据关系:
在这里插入图片描述
这种情况下需要需要的判断矩阵的个数就是A和B个数的总和:
这里就需要 1 + 6 1+6 1+6个:
在A条件下B的判断矩阵,矩阵大小为 6 × 6 6\times6 6×6
B i B_i Bi下的各个对应的 C j C_j Cj的判断矩阵,大小不一和对应 C j C_j Cj的个数相关

A关于B的判断矩阵

在这里插入图片描述

C相对于B的判断矩阵

在这里插入图片描述
在这里插入图片描述

结论

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「 25' h 」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值