【数学建模】综合评价方法

文章目录

  • 综合评价的基本理论和数据预处理
    • 综合评价的基本概念
    • 综合评价体系的构建
    • 综合指标的预处理方法
    • 评价指标预处理示例
  • 常用的综合评价数学模型
    • 线性加权综合评价模型
    • TOPSIS法
    • 灰色关联度分析
    • 熵值法
    • 秩和比(RSR)法
    • 综合评价示例

综合评价的基本理论和数据预处理

一个综合评价问题是由评价对象、评价指标、权重系数、综合评价模型和评价者五个基本要素组成

综合评价的基本概念

评价对象:研究对象,同类多个,记作 S 1 , S 2 , . . . , S n ( n > 1 ) S_1, S_2,..., S_n(n>1) S1,S2,...,Sn(n>1)
评价指标:也称综合评价的指标体系,包含多个指标,用向量 x x x表示,记作 x = [ x 1 , x 2 , . . . , x m ] x=[x_1, x_2,..., x_m] x=[x1,x2,...,xm]
权重系数:刻画各个评价指标的相对重要性,用 w j ( j = 1 , 2 , . . . , m ) w_j(j=1,2,...,m) wj(j=1,2,...,m)表示评价指标 j j j的权重系数,满足 w j ≥ 0 , j = 1 , 2 , . . . , m ; 且 ∑ j = 1 m w j = 1 w_j \geq 0,\ j=1,2,...,m; \quad 且\sum^m_{j=1}w_j=1 wj0, j=1,2,...,m;j=1mwj=1
综合评价模型:实现将多个评价指标值综合得到一个整体的综合评价值,第 i i i个评价对象的综合评价值 b i b_i bi由评价指标 a i = [ a i 1 , a i 2 , . . . , a i m ] a_i=[a_{i1}, a_{i2},..., a_{im}] ai=[ai1,ai2,...,aim]和权重向量 w = [ w 1 , w 2 , . . . , w m ] w=[w_1, w_2,..., w_m] w=[w1,w2,...,wm]根据评价模型 y = f ( x , w ) y=f(x, w) y=f(x,w)得到
评价者

综合评价体系的构建

综合评价过程包括评价指标体系的建立、评价指标的预处理、指标权重的确定和评价模型的选择等重要环节

评价指标和评价指标体系
从指标特征分为:定性指标和定量指标
从指标变化对评价目的的影响来看:极大型指标、极小型指标、剧中型指标和区间型指标

评价指标的筛选
专家调研法:查阅相关资料得到
最小均方差法:排除不重要的指标,不重要的指标指各个评价对象在该指标上的观测值都差不多,即是根据指标的差异程度进行判断
image.png

综合指标的预处理方法

消除不同指标间有关类型、单位、数量级等的差异,避免出现不合理的评价结果
对指标进行一致化处理、无量纲化处理

指标一致化处理
将非极大型指标转化为极大型指标
极小转极大:取倒转化 x j ˙ = 1 x j \dot{x_j} = \frac{1}{x_j} xj˙=xj1、平移转化 x j ˙ = M j − x j \dot{x_j} = M_j-x_j xj˙=Mjxj其中 M j = m a x 1 ≤ i ≤ n { a i j } M_j=max_{1\leq i \leq n}\{a_{ij}\} Mj=max1in{aij}
居中转极大:
image.png
区间转极大:
image.png

指标无量纲处理
将指标实际值转化为指标评价值
标准样本变换:
image.png
说明:这个变换处理会出现负值,将不能直接用于后续的熵权法/几何加权法

比例变换法:变换签后属性值成比例
image.png

向量归一化法:
image.png

极差变换法:变换后 0 ≤ a i j ∗ ≤ 1 0 \leq a_{ij}^* \leq 1 0aij1
image.png

功效系数法:
image.png

定性指标定量化
image.png

评价指标预处理示例

根据下表所示的最大速度、飞行半径、最大负载、隐身性能、可靠性、灵敏度六个指标综合评价 A 1 , A 2 , A 3 , A 4 A_1,\ A_2,\ A_3,\ A_4 A1, A2, A3, A4四种战斗机性能
image.png
求解:
将6项指标依次记为 x 1 , x 2 , . . . , x 6 x_1,x_2,...,x_6 x1,x2,...,x6,将 x 5 x_5 x5 x 6 x_6 x6两项定性指标定量化
image.png
分别使用向量归一化、比例变换法和极差变换法标准化数值性指标数据

import numpy as np
import pandas as pd
a=np.loadtxt("Pdata9_1_1.txt",)
R1=a.copy(); R2=a.copy(); R3=a.copy()  #初始化
#注意R1=a,它们的内存地址一样,R1改变时,a也改变
for j in [0,1,2,4,5]:R1[:,j]=R1[:,j]/np.linalg.norm(R1[:,j]) #向量归一化R2[:,j]=R1[:,j]/max(R1[:,j])     #比例变换R3[:,j]=(R3[:,j]-min(R3[:,j]))/(max(R3[:,j])-min(R3[:,j]));
R1[:,3]=1-R1[:,3]/np.linalg.norm(R1[:,3])
R2[:,3]=min(R2[:,3])/R2[:,3]
R3[:,3]=(max(R3[:,3])-R3[:,3])/(max(R3[:,3])-min(R3[:,3]))
np.savetxt("Pdata9_1_2.txt", R1); #把数据写入文本文件,供下面使用
np.savetxt("Pdata9_1_3.txt", R2); np.savetxt("Pdata9_1_4.txt", R3)
DR1=pd.DataFrame(R1)  #生成DataFrame类型数据
DR2=pd.DataFrame(R2); DR3=pd.DataFrame(R3)
f=pd.ExcelWriter('Pdata9_1_5.xlsx')  #创建文件对象
DR1.to_excel(f,"sheet1")  #把DR1写入Excel文件1号表单中,方便做表
DR2.to_excel(f,"sheet2"); DR3.to_excel(f, "Sheet3"); f.save()

常用的综合评价数学模型

综合评价数学模型:将同一评价对象不同方面的多个指标值综合在一起,得到一个整体性评价指标值的一个数学表达式
记号说明
n n n个评价对象, m m m个评价指标 x 1 , x 2 , . . . , x m x_1,x_2,...,x_m x1,x2,...,xm
i i i个评价对象的指标指 a i = [ a i 1 , a i 2 , . . . , a i m ] a_i=[a_{i1}, a_{i2},..., a_{im}] ai=[ai1,ai2,...,aim]
经过指标数据预处理得到的结果为 b i = [ b i 1 , b i 2 , . . . , b i m ] b_i=[b_{i1}, b_{i2},..., b_{im}] bi=[bi1,bi2,...,bim]
指标变量的权重系数???怎么得到

线性加权综合评价模型

利用指标变量的权重系数 w = [ w 1 , w 2 , . . . , w m ] w=[w_1,w_2,...,w_m] w=[w1,w2,...,wm]
f i = ∑ j = 1 m w j b i j ( i = 1 , 2 , . . . , n ) f_i=\sum^m_{j=1}w_jb_{ij}\ (i=1,2,...,n) fi=j=1mwjbij (i=1,2,...,n)
说明:适合各个评价指标相互独立的情况,若各个评价指标不完全独立将导致各指标间信息的重复起作用

TOPSIS法

image.png
正理想解和负理想解构造
image.png
image.png
image.png

加权TOPSIS方法
根据得到的权重向量 w w w,修改评价矩阵 B = ( b i j ) n x m B=(b_{ij})_{nxm} B=(bij)nxm,得到加权规范评价矩阵 B ^ \hat{B} B^,其中每个值 b i j ^ = w j b i j \hat{b_{ij}} = w_jb_{ij} bij^=wjbij,用 B ^ \hat{B} B^按照上面的步骤进行处理

灰色关联度分析

设综合评价问题中有 n n n个评价对象 m m m个指标,相应的指标观测值分别为
a i j ( i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m ) a_{ij}(i=1,2,...,n;\quad j=1,2,...,m) aij(i=1,2,...,n;j=1,2,...,m)
具体步骤:
(1)数据预处理:对评价数据进行一致化和无量纲化处理,得到评价矩阵 B = ( B i j ) n m B=(B_{ij})_{nm} B=(Bij)nm
(2)确定比较序列和参考序列:比较序列即为矩阵 B B B的每一行,参考序列相当于TOPSIS方法中的最优解,记作 b 0 b_0 b0
image.png
(3)计算灰色关联系数:
image.png
说明:上式计算的是比较序列 b i b_i bi对参考序列 b 0 b_0 b0在第 j j j个指标上的关联系数; σ ∈ [ 0 , 1 ] \sigma \in [0,1] σ[0,1]为分辨系数,分辨系数与分辨率正相关;称 m i n 1 ≤ s ≤ n m i n 1 ≤ k ≤ m ∣ b 0 k − b s k ∣ min_{1 \leq s \leq n}min_{1 \leq k \leq m}|b_{0k}-b_{sk}| min1snmin1kmb0kbsk为两级最小差, m a x 1 ≤ s ≤ n m a x 1 ≤ k ≤ m ∣ b 0 k − b s k ∣ max_{1 \leq s \leq n}max_{1 \leq k \leq m}|b_{0k}-b_{sk}| max1snmax1kmb0kbsk为两级最大差
(4)计算灰色关联度:
image.png
说明:式子中 w j w_j wj为第 j j j个指标的权重,计算结果 r i r_i ri为第 i i i个评价对象对理想对象的灰色关联度
(5)评价分析:
根据灰色关联度值对各评价对象进行排序,关联度越大评价结果越好

熵值法

使用目的:根据各指标的相对变化程度对系统整体的影响来确定指标权重系数

  1. 计算第 i i i个评价对象在第 j j j项指标的特征比重 p i j p_{ij} pij
    image.png
  2. 计算第 j j j项指标的熵值
    image.png
  3. 计算第 j j j项指标的差异系数 g i g_i gi
    image.png
  4. 确定第 j j j项指标的权重系数
    image.png
  5. 计算第 i i i个评价对象的综合评价值
    image.png
    说明:在计算综合评价值时,可以只是使用熵值法来计算各个指标的权重系数,利用求得的权重系数结合其他综合评价方法得到各个评价对象的综合评价直,比如熵权法+TOPSIS方法为常用的综合评价策略

秩和比(RSR)法

Rank Sum Ratio, RSR
基本原理
n n n m m m列矩阵中通过秩转化,获得无量纲统计量RSR,使用RSR值对评价对象直接排序
样本秩
image.png
举个例子说明样本数据的秩统计量
image.png

设综合评价问题中有 n n n个评价对象 m m m个指标,相应的指标观测值分别为
a i j ( i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m ) a_{ij}(i=1,2,...,n;\quad j=1,2,...,m) aij(i=1,2,...,n;j=1,2,...,m)
构造得到数据矩阵 A = ( a i j ) n m A=(a_{ij})_{nm} A=(aij)nm
步骤
(1)编秩:对数据矩阵 A A A逐列编秩,即分别编出每个指标值的秩。具体为:将极大型指标从小到大编秩,极小型指标从大到小编秩,指标值相同时编平均秩,得到秩矩阵 R = ( R i j ) n m R=(R_{ij})_{nm} R=(Rij)nm
(2)计算秩和比(RSR): R S R i = 1 n ∑ j = 1 m w j R i j RSR_i=\frac{1}{n}\sum_{j=1}^mw_jR_{ij} RSRi=n1j=1mwjRij w j w_{j} wj为第 j j j个指标的权重
(3)秩和比排序:RSR值越大,评价结果越好

综合评价示例

例题:
image.png
代码:

import numpy as np
from scipy.stats import rankdata
a=np.loadtxt("Pdata9_1_3.txt")
cplus=a.max(axis=0)   #逐列求最大值
cminus=a.min(axis=0)  #逐列求最小值
print("正理想解=",cplus,"负理想解=",cminus)
d1=np.linalg.norm(a-cplus, axis=1)  #求到正理想解的距离
d2=np.linalg.norm(a-cminus, axis=1) #求到负理想解的距离
print(d1, d2)   #显示到正理想解和负理想解的距离
f1=d2/(d1+d2); print("TOPSIS的评价值为:", f1)
t=cplus-a   #计算参考序列与每个序列的差
mmin=t.min(); mmax=t.max()  #计算最小差和最大差
rho=0.5  #分辨系数
xs=(mmin+rho*mmax)/(t+rho*mmax)  #计算灰色关联系数
f2=xs.mean(axis=1)  #求每一行的均值
print("\n关联系数=", xs,'\n关联度=',f2)  #显示灰色关联系数和灰色关联度
[n, m]=a.shape
cs=a.sum(axis=0)  #逐列求和
P=1/cs*a   #求特征比重矩阵
e=-(P*np.log(P)).sum(axis=0)/np.log(n)  #计算熵值
g=1-e   #计算差异系数
w = g / sum(g)  #计算权重
F = P @ w   #计算各对象的评价值
print("\nP={}\n,e={}\n,g={}\n,w={}\nF={}".format(P,e,g,w,F))
R=[rankdata(a[:,i]) for i in np.arange(6)]  #求每一列的秩
R=np.array(R).T   #构造秩矩阵
print("\n秩矩阵为:\n",R)
RSR=R.mean(axis=1)/n; print("RSR=", RSR)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/244830.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全基础~攻防特性3

文章目录 SSTI(模板注入)1. 简介2. 成因3. 常见框架存在注入4. 判断存在SSTI SSTI(模板注入) 1. 简介 (Server-Side Template Injection) 服务端模板注入 1、使用框架(MVC的模式),如python的flask,php的tp,java的sp…

imgaug库图像增强指南(32):塑造【雪景】效果的视觉魔法

引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…

JAVA的面试题四

1.电商行业特点 (1)分布式: ①垂直拆分:根据功能模块进行拆分 ②水平拆分:根据业务层级进行拆分 (2)高并发: 用户单位时间内访问服务器数量,是电商行业中面临的主要问题 (3)集群&…

C语言——联合和枚举

目录 一、联合体 1.1 联合体类型的声明 1.2 联合体的特点 1.3 相同成员的结构体和联合体对比 1.4 联合体大小的计算 1.5 联合的⼀个练习 二、枚举类型 2.1 枚举类型的声明 2.2 枚举类型的优点 2.3 枚举类型的使用 一、联合体 1.1 联合体类型的声明 像结构体⼀样…

支付宝小程序开发踩坑笔记(支付宝、学习强国小程序)

1、接口请求安卓端回调 success,IOS 端回调 fail 原因:dataType 设置不对,默认是 json 格式,对返回数据会进行 json 解析,如果解析失败,就会回调 fail 。加密传输一般是 text 格式。 2、input 禁止输入空格…

利用tpu-mlir工具将深度学习算法模型转成算能科技平台.bmodel模型的方法步骤

目录 1 TPU-MLIR简介 2 开发环境搭建 2.1 下载镜像 2.2 下载SDK 2.3 创建容器 2.4 加载tpu-mlir 3 准备工作目录 4 onnx转mlir文件 5 mlir转INT8 模型 5.1 生成校准表 5.2 便以为INT8对称量化模型 参考文献: 之前是用nntc转算能科技的模型的&#xff0c…

网易有道BCEmbedding:双语检索与RAG的完美融合

前言 随着人工智能技术的飞速发展,语义表征和检索增强生成(Retrieval Augmented Generation, RAG)在各个领域的应用日益广泛。在这样的背景下,网易有道推出了划时代的BCEmbedding模型,这不仅是一次技术的革新&#xf…

如何自己实现一个Spring Boot Starter

现在很多开源的组件都会提供对应的 springboot-starter 包给我们去用,要做一个 starter 包并不难。参照Spring内置的实现就好了: 1、在工程里引入 starter 打包相关的依赖。 2、在我们工程内建 spring.factories 文件,编写我们配置类的全限类…

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

文章目录 TILE 介绍Tile 的特点Tile 架构的应用Tile 基础架构示例 TILE 介绍 在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以…

【论文+App试玩+图像到视频】2311.Animate-anyone:上传1张图片为任何人制作动画(用于角色动画的一致且可控的图像到视频合成)(暂未开源)

项目主页:https://humanaigc.github.io/animate-anyone/ 论文: Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation 摩尔线程复现代码:https://github.com/MooreThreads/Moore-AnimateAnyone 原作者讲解&am…

【华为 ICT HCIA eNSP 习题汇总】——题目集6

1、IEEE 802.11g 标准支持的最大协商速率为()。 A、300Mbps B、150Mbps C、54Mbps D、1200Mbps 考点:无线局域网 解析:(C) IEEE 802.11系列标准如下表: 标准数据传输速率主要技术IEEE 802.111M…

Wordpress seo优化该怎么做?

Wordpress作为开源管理系统,目前已然是世界上最流行的cms之一,这不仅仅因为他开源,对用户友好,让任何人都能轻而易举的制作网站,更是因为这套程序对于搜索引擎非常友好,是做谷歌seo的不二之选 Wordpress作为…

YOLOv5改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

一、本文介绍 本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块),我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个…

app逆向-frida安装调试

文章目录 一、前言二、安装三、hook调试,hook java类 一、前言 frida是一款基于python javascript 的hook框架,可运行在android ios linux winosx等各平台,主要使用动态二进制插桩技术 官方网站:https://frida.re/docs/home/ a…

绝地求生:PUBG服务条款修订,是否因为PLAYERUNKNOWN礼包导致?

嗨,我是闲游盒~ PUBG全球的官网,刚刚更新了一条《PUBG: 绝地求生》。 通知内容大概如下 对所有平台的PUBG的服务条款进行修订,修订安排于2月7日后生效。 从修订的条款内容猜测,本次修订安排是因为PLAYERUNKNOWN礼包 记得预约荣…

C++ STL之list的使用及模拟实现

文章目录 1. 介绍2. list类的使用2.1 list类对象的构造函数2.2 list类对象的容量操作2.3 list类对象的修改操作2.4 list类对象的访问及遍历操作 3. list类的模拟实现 1. 介绍 英文解释: 也就是说: list是可以在常数范围内在任意位置进行插入和删除的序列…

单点登陆(SSO)基于CAS实现前后端分离的SSO系统开发「IDP发起」

关于其他前端常见登录实现单点登录方案,请见「前端常见登录实现方案 单点登录方案 」 前沿 单点登录(SSO),英文全称为 Single Sign On。 SSO 是指在多个应用系统中,用户只需要登录一次,就可以访问所有相互…

macbookpro可以玩什么游戏

最近几年苹果在游戏领域的动作越来越频繁,在当地时间6月6日举行的的WWDC 2023上还请来了小岛秀夫和他的《死亡搁浅导演剪辑版》到现场为苹果电脑站台。事实上,在不久的将来,我们还真有机会看到越来越多Windows上的大作运行在搭载苹果M系列芯片…

旅游项目day14

其他模块数据初始化 搜索实现 请求一样,但是参数不一样,根据type划分。 后台需要提供一个搜索接口。 请求分发器: 全部搜索 目的地搜索 精确搜索、无高亮展示 攻略搜索 全文搜索、高亮显示、分页 游记搜搜 用户搜索 丝袜哥

小程序使用echarts图表-雷达图

本文介绍下小程序中如何使用echarts 如果是通过npm安装,这样是全部安装的,体积有点大 我这边是使用echarts中的一个组件来实现的,下边是具体流程,实际效果是没有外边的红色边框的,加红色边框的效果是这篇说明 1.echa…