数学建模之综合评价模型(层次分析法+Topsis法+熵权法)

2023-10-27

以下内容均听自清风老师的建模教程 (老师讲的很好哦,大家可以去听听,结合实例不枯燥!)

一,层次分析法

以一道例题进行分析:

小明同学想出去旅游,在查阅了网上的攻略后,他初步选择了苏杭,北戴河,桂林三个地方

请你确定评价指标,形成评价体系为小明同学选择最佳的方案。

第一步:确定模型

题中出现“确定评价指标,形成评价体系”这类词眼,确定这是一道层次分析题。

第二步:建立层次结构模型

我们从三个问题入手:

        1.我们评价的目标是什么?

                答:为小明选择最佳的旅游景点。

        2.我们为了达到这个目标有哪几种可选的方案?

                答:三种。分别是去苏杭,去北戴河,去桂林。

        3.评价的准则或者说指标是什么?

                答:景色,花费,居住,饮食,交通。

第三个的答案我们可以根据题目中的背景材料,常识,以及网上(知网,百度学术,虫部落-快搜)搜索到的参考资料进行结合,从中筛选合适的指标

第三步:构建权重表格

我们最终的目标就是要填满这个权重矩阵!!!(同颜色的单元格和为1)

                                                                重要性表

(1)构建指标之间的判断矩阵:两个指标两个指标进行比较,根据重要性表填写两两比较的结果

1.比较景色和花费的重要程度

        答:花费比景色略微重要(景色:花费 = 1:2)

2.比较景色和居住的重要程度

        答:景色比居住要重要一点(景色:居住 = 4 :1)

…………

总共需要比较C_{5}^{2}\textrm{}

判断矩阵:

 上面的矩阵就是层次分析法中的正互反矩阵(我们需要知道正互反矩阵的特点)

        (1)aij表示:与 j 相比,i 的重要程度(例如:和居住相比,景色的重要程度是4)

        (2)当 i = j 时,两个指标相同,同等重要记为1

        (3)aij > 0 && aij x aji = 1

(2)构建每个指标下,方案之间的判断矩阵

1.比较苏杭的花费和北戴河的花费的多少程度

        答:北戴河的花销要比苏杭的花销要稍多(北戴河:苏杭 = 3 :1)

2.比较苏杭的花费和桂林的花费的多少程度

        答:桂林的花销要比苏杭的花销要贵的多得多(桂林:苏杭 = 8 :1)

3.比较北戴河的花花费和桂林的花费的多少程度

        答:桂林的花销要比北戴河要稍多(桂林 : 北戴河 = 3 :1)

……

判断矩阵:

第四步:对判断矩阵一致性检验 (如果判断矩阵已经是一致矩阵,那么就没必要进行一致性检验)

首先介绍一下一致矩阵

        在判断矩阵的前提下,如果各行成比例且各列成比例,那么该矩阵就是一致矩阵

        第一步:计算判断矩阵的最大特征值及一致性指标CI

                                         

         第二步:根据n的大小,按照下表查找平均随机一致性指标RI,计算一致性比例CR

        第三步:判断判断矩阵的一致性是否小于0.1

结论:如果CR < 0.1, 则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。修正的方法:往一致矩阵上去凑(各行各列成比例  )

第五步:计算判断矩阵的权重(算术平均法,几何平均法,特征值法三种最好都用上)

(1)算术平均法求权重

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

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

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

(2)几何平均法求权重

        第一步:将判断矩阵按行相乘得到一个新的列向量

        第二步:将该列向量中的每个元素开n方

        第三步:对开方后的列向量进行归一化处理(列向量中的每个元素除以该列的和)

(3)特征值法求权重

        第一步:求出矩阵的最大特征值以及对应的特征向量

        第二步:对最大特征值对应的的特征向量进行归一化处理即可得到我们的权重  

第六步:构建最终的权重表,将特征值法计算出的结果填入对应的颜色项中

第七步:计算得分

苏杭得分 = 0.2636*0.5954 + 0.4758*0.0819 + 0.0538*0.4286 + 0.0981*0.6337 + 0.1087*0.1667 = 0.29926

……

用excel进行计算:

B这一列一定要锁住(shift+f4),计算的才是正确的

结果:

二,Topsis模型(优劣距离法)

还是以一道例题为例:

 已知:25条河流水质量各指标的数据,其中含氧量越高越好;PH值越接近7越好;细菌总数越少越好;植物性营养物量介于10~20之间最佳。请评价下列20条河流的水质情况

第一步:将原始矩阵正向化处理(将所有的指标类型统一转换为极大型指标)

四种最常见的指标分类:

极小型指标——>极大型指标的公式:

        {X_{i}}^{'} = max{{X_{1}}^{},{X_{2}}^{},……}-{X_{i}}^{}

中间型指标——>极大型指标的公式:

设{{X_{i}}^{}}是一组中间型指标序列,最佳的数值是{X_{best}}^{},那么

        M = max{|{X_{i}}^{}-{X_{best}}^{}|}

        {X_{i}}^{'} = 1-\frac{|{X_{i}}^{}-{X_{best}}^{}|}{M} 

区间型指标——>极大型指标的公式:

设{{X_{i}}^{}}是一组区间型指标序列,最佳的区间是【a,b】,那么

        M = max{a-min{Xi},max{Xi}-b} 

       

 第二步:对正向化后的矩阵进行标准化处理(消除不同量纲之间的影响)

假设有n个评价对象,m个评价指标的正向化矩阵如下:

将标准化矩阵记为Z,(每一个元素 / 其所在列的元素平方和再开方) 

第三步:计算得分并归一化处理

假设有n个评价对象,m个评价指标的标准化矩阵如下:

Zij表示第i个同学的第j个指标

最大值Z^{+} = max{Z1^{+},Z2^{+},……,Zn^{+}}

                 = max{max{{Z_{11}}^{},{Z_{21}}^{},{Z_{31}}^{}……},……,max{{Z_{1m}}^{}{Z_{2m}}^{},{Z_{3m}}^{},……}}

最小值Z^{-}= min{Z1^{-},Z2^{-},……,Zn^{-}}

                = min{min{{Z_{11}}^{},{Z_{21}}^{},{Z_{31}}^{}……},……,min{{Z_{1m}}^{}{Z_{2m}}^{},{Z_{3m}}^{},……}}

第 i (i=1,2,3,……,n)个评价对象与最大值的距离:Di^{+} = 

第 i(i=1,2,3,……,n)个评价对象与最小值的距离:Di^{-}=

那么,我们就可以得出第i个评价对象未归一化处理的得分:Si = \frac{Di^{-}}{Di^{+} + Di^{-}}

(Di^{+}越小,Si越接近最大值1)

然后对得分进行归一化处理(这一列的每个元素除以该列元素总和),得到第i个评价对象的最终得分。

基于熵权法的Topsis模型

依据的原理:指标的变异程度越小,所反映的信息量也越少,其对应的权值也应该越低。(例如:对于所有的样本,这个指标都是相同的数值,那么我们可认为这个指标的权值为0,即这个指标对于我们的评价不起任何帮助)

如何衡量信息量的大小:

越有可能发生的事(概率越大),信息量越少

越不可能发生的事(概率越小),信息量越大

所以,我们可以用概率来衡量信息量的大小

假设x表示事件X可能发生的某种情况,p(x)表示这种情况发生的概率

他们之间的关系是:I(x) = -ln(p(x)),因为0<=p(x)<=1,所以I(x)>=0

如果事件X可能发生的情况分别为x1,x2,……,xn,那么我们可以定义事件X的信息熵(对信息量的期望值)为:

H(X) = \sum_{i=1}^{n}[p(xi)I(xi)] = -\sum_{i=1}^{n}[p(xi)In(p(xi))]     

 定理:当p(x1) = p(x2) = …… = p(xn) = \frac{1}{n}时,H(X)取最大值,最大值为Inn

第一步和第二步和上述的Topsis法一样

第三步:如果标准化后的矩阵中存在负数,则需要对正向化矩阵X实行另一种标准化的方法,其公式为:

        {Z_{ij}}^{} = \frac{​{x_{ij}}^{}-min({x_{1j},{x_{2j}...{x_{nj})}^{}}^{}}^{}}{max({x_{1j}}^{},{x_{2j}}^{},...,{x_{nj}}^{}) - min({x_{1j}}^{},{x_{2j}}^{},...,{x_{nj}}^{})} 

这样标准化后的矩阵就能将每个值囊括在[0,1]之间

第四步:计算概率矩阵,即计算第j个指标下第i个样本所占的比重

{p_{ij}}^{} = \frac{​{z_{ij}}^{}}{\sum_{i=1}^{n} {z_{ij}}^{}}

第五步:计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权

对于第j个指标而言,计算信息熵的公式为:{e_{ij}}^{} = -\frac{1}{lnn}\sum_{i=1}^{n}{p_{ij}}^{}ln({p_{ij}}^{})

                                信息效用值的公式为:{d_{j}}^{} = 1 - {e_{j}}^{}

之后,对信息效用值进行归一化处理,就能得到每个指标的权重:{W_{j}}^{} = \frac{​{d_{j}}^{}}{\sum_{j=1}^{m}{d_{j}}^{}}

第六步:计算得分并归一化处理(和Topsis的第三步略有不同!!!)

假设有n个评价对象,m个评价指标的标准化矩阵如下:

Zij表示第i个同学的第j个指标

最大值Z^{+} = max{Z1^{+},Z2^{+},……,Zn^{+}}

                 = max{max{{Z_{11}}^{},{Z_{21}}^{},{Z_{31}}^{}……},……,max{{Z_{1m}}^{}{Z_{2m}}^{},{Z_{3m}}^{},……}}

最小值Z^{-}= min{Z1^{-},Z2^{-},……,Zn^{-}}

                = min{min{{Z_{11}}^{},{Z_{21}}^{},{Z_{31}}^{}……},……,min{{Z_{1m}}^{}{Z_{2m}}^{},{Z_{3m}}^{},……}}

第 i (i=1,2,3,……,n)个评价对象与最大值的距离:

第 i(i=1,2,3,……,n)个评价对象与最小值的距离:

那么,我们就可以得出第i个评价对象未归一化处理的得分:Si = \frac{Di^{-}}{Di^{+} + Di^{-}}

(Di^{+}越小,Si越接近最大值1)

然后对得分进行归一化处理(这一列的每个元素除以该列元素总和),然后得到第i个评价对象的最终得分。

在写代码中可能会出现的两个问题:

1.你可能导入数据集类型错误,重新导入数据集并在导入时更改类型为数值矩阵(原本为table)

2.如果出现未定义Positivization()的情况,请将该函数所在文件夹路径复制粘贴到matlab中,将其变为当前文件夹!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数学建模之综合评价模型(层次分析法+Topsis法+熵权法) 的相关文章

随机推荐

  • windows7 下 用硬盘安装 linux mint

    https blog csdn net vvyingning article details 76087148 https jingyan baidu com article e4d08ffdace06e0fd2f60d39 html
  • 有道云笔记暗夜主题黑夜模式

    项目github地址 有道云笔记暗夜主题设置 youdao note theme 有道云笔记的皮肤 版本修订 20210515 目前主要是针对没有暗夜皮肤做的修改 目录说明 local data path 一般windows指安装C盘Loc
  • Vue前端项目-首页-左侧菜单栏-根据设备决定侧边栏的隐藏情况

    目录 1 完成步骤1和2 1 1 设备处理文件 1 2 主页中引用步骤1 1创建文件 1 3 测试 2 Vuex中定义全局变量 device 2 1 定义 device 变量 并提供修改方法 2 2 提供 device 的get方法 2 3
  • Kali从入门到入狱——介绍及安装kali Linux

    Kali从入门到入狱 安装Kali Linux 什么是kali Kali Linux是基于Debian的Linux发行版 设计用于数字取证操作系统 由Offensive Security Ltd维护和资助 最先由Offensive Secu
  • K8S deployment 重启的三种方法

    一般重启deployment 常规操作是删掉对应的pod 但如果有多个副本集的话 一个个删很麻烦 除了删除pod 还可以 方案一 加上环境变量 kubectl patch deploy
  • 工厂三兄弟之工厂方法模式(一)

    简单工厂模式虽然简单 但存在一个很严重的问题 当系统中需要引入新产品时 由于静态工厂方法通过所传入参数的不同来创建不同的产品 这必定要修改工厂类的源代码 将违背 开闭原则 如何实现增加新产品而不影响已有代码 工厂方法模式应运而生 本文将介绍
  • idea maven刷新后jdk版本变化

    最近在做项目时 遇到这样的问题 每次刷新maven后 项目的jdk版本就会变化 可以通过图2和图3的方式临时更改jdk版本 但是下次刷新maven后仍然还是变化 没解决根本问题 可以更改maven配置文件 解决办法 更改maven conf
  • 点击li标签获取该标签的内容

    对Ul下的li标签执行点击事件 如何获取你所点击的标签 最简单的办法 document click function e 在页面任意位置点击而触发此事件 e target attr id e target表示被点击的目标 获取其他内容 类推
  • 互联网被裁的程序员,未来有什么方向呢?

    互联网行业的职位需求也在不断变化 作为一名被裁程序员 应该积极适应新的趋势和发展方向 以保持竞争力 以下是一些互联网行业的发展趋势和方向 可以供被裁程序员参考 人工智能 AI 和机器学习 人工智能和机器学习是当前互联网行业的热门领域之一 随
  • 5号AA电池,7号AAA电池

    5号AA电池 7号AAA电池 1 2V可充电镍氢电池 1 5V干电池 碱性电池 一次性的 不可充电重复使用 1 5V可充电锂电池 较晚推出 1 5V可充电锂电池如下京东 https item jd com 34805870254 html
  • 自学python,不知道这些方法,我还是劝你算了吧

    我是25岁转行学python的 说实在 转行就是奔着挣钱去的 希望我的经历可以给想转行的朋友带来一点启发和借鉴 先简单介绍下个人背景 三流大学毕业 物流专业 学习能力一般 没啥特别技能 反正就很普通的一个人 工作4年存款7000 感觉生活无
  • 【Java8】Guava——Joiner

    Joiner 字符串拼接对象 on 基本实例 Joiner on join 四川省 成都市 金牛区 toString on 以空格为分隔符 join内是拼接的对象 迭代器对象 数组 可变参数等 result 四川省 成都市 金牛区 特殊处理
  • stm32之iap实现应用(基于串口,上位机,详细源码)

    开发环境 Window 7 开发工具 Keil uVision4 硬件 stm32f103c8t6 篇幅略长 前面文字很多 主要是希望能让小白们理解 后面就是实现步骤 包括实现的代码 在研发调试的时候我们一般用烧录器下载代码 对于stm32
  • MongoDB介绍

    什么是MongoDB MongoDB是一种高性能 可拓展性极强的NoSQL数据库管理系统 与传统关系型数据库不同 MongoDB采用了文档 document 存储方式 即以键值对的方式存储数据 而且支持数据分片 复制等高级功能 是Web应用
  • torch.nn.softmax(dim),理解Softmax分类器

    首先我们要了解softmax的计算公式 例如一列数组 1 2 3 4 5 6 7 8 9 10 代入到softamx计算公式之中 我们可以从公式中看出元素的数值越大 softmax算出的值也就越大 对应在图像处理中也就是概率越大 impor
  • WSA安卓子系统最新版下载直链:微软已更新至1.8.32822.0版本适用于Android的Windows子系统无需切换美区和Beta通道

    WSA安卓子系统最新版直连下载链接 微软已更新至V1 8 32822 0版本适用于Android的Windows子系统无需切换美区和Beta通道 01 引言 优爱酷在10月份微软刚刚发布安卓子系统 WSA 之后 在第一时间即为全网朋友编辑发
  • 方法中定义的局部变量是否为线程安全的?

    方法中定义的局部变量是否为线程安全的 具体问题 具体分析 比如我们就拿StringBuilder来分析吧 首先你需要明白 StringBuilder和StringBuffer都是可变的 但是StringBuffer是线程安全的 而Strin
  • HTML之4.4 图像标记

    4 4 图像标记 4 4 1 图像格式 3种 1 GIF格式 定义 支持动画 无损 支持透明 全透或不透 特点 只能处理256种颜色 用途 用于Logo 小图标 2 PNG格式 定义 包括PNG 8和真色彩 PNG 24 和 PNG 32
  • 众享比特荣膺2020新一代信息技术行业潜力10强企业

    近日 由中关村科学城管委会指导 2020高成长企业TOP100年度盛典活动组委会主办 中关村高新技术企业协会 中关村创业投资和股权投资基金协会支持的2020高成长企业TOP100年度盛典活动揭晓榜单 北京众享比特科技有限公司凭借核心技术自主
  • 数学建模之综合评价模型(层次分析法+Topsis法+熵权法)

    以下内容均听自清风老师的建模教程 老师讲的很好哦 大家可以去听听 结合实例不枯燥 一 层次分析法 以一道例题进行分析 小明同学想出去旅游 在查阅了网上的攻略后 他初步选择了苏杭 北戴河 桂林三个地方 请你确定评价指标 形成评价体系为小明同学