数模笔记4-TOPSIS

TOPSIS模型

评价方法大体上可分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,多数采取综合咨询评分确定权重,如综合指数法、模糊综合评判法、层次分析法、功效系数法等。另一类是客观赋权,根据各指标间相关关系或各指标值变异程度来确定权数,如主成分分析法、因子分析法、理想解法 (也称TOPSIS 法)等。

目前国内外综合评价方法有数十种之多,其中主要使用的评价方法有主成分分析法、因子分析、TOPSIS、秩和比法、灰色关联法、熵权法、层次分析法、模糊评价法、物元分析法、聚类分析法、价值工程法、神经网络法等。

理想解法(TOPSIS法)

TOPSIS法是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。

方法和原理

设多属性决策方案集为D={d1,d2,…,dm}了,衡量方案优劣的属性变量为x1,…,xn,这时方案集D中的每个方案di(i=1,···,m)的n个属性值构成的向量是[ai1,…,ain],它作为n维空间中的一个点,能唯一地表征方案di。

正理想解 C* 是一个方案集D中并不存在的虚拟的最佳方案,它的每个属性值都是决策矩阵中该属性的最好值;而负理想解 C° 则是虚拟的最差方案,它的每个属性值都是决策矩阵中该属性的最差值。在n维空间中,将方案集D中的各备选方案di与正理想解 C* 和负理想解 C° 的距离进行比较,既靠近正理想解又远离负理想解的方案就是方案集D中的最佳方案;并可以据此排定方案集D中各备选方案的优先序。

用理想解法求解多属性决策问题的概念简单,只要在属性空间定义适当的距离测度就能计算备选方案与理想解的距离。TOPSIS 法所用的是欧氏距离。至于既用正理想解又用负理想解是因为在仅仅使用正理想解时有时会出现某两个备选方案与正理想解的距离相同的情况,为了区分这两个方案的优劣,引入负理想解并计算这两个方案与负理想解的距离,与正理想解的距离相同的方案离负理想解远者为优。

算法步骤

  1. 用向量规划的方法求得规范决策矩阵(需将各类属性值均先转换为效益型或成本型)
    设多属性决策问题的决策矩阵 A = ( a i j ) m × n ,规范化决策矩阵 B = ( b i j ) m × n ,其中 b i j = a i j / ∑ i = 1 m a i j 2 , i = 1 , 2 , . . . , m , j = 1 , 2 , . . . , n 设多属性决策问题的决策矩阵A=(a_{ij})_{m×n},规范化决策矩阵B=(b_{ij})_{m×n},其中 \\ b_{ij}=a_{ij}/\sqrt{\sum_{i=1}^{m}a_{ij}^2},i=1,2,...,m,j=1,2,...,n 设多属性决策问题的决策矩阵A=(aij)m×n,规范化决策矩阵B=(bij)m×n,其中bij=aij/i=1maij2 i=1,2,...,mj=1,2,...,n

  2. 构成加权规范阵C=(cij)m×n
    设由决策人给定各属性的权重向量 w = [ w 1 , w 2 , . . . , w n ] T ,则 c i j = w j ⋅ b i j , i = 1 , 2 , . . . , m , j = 1 , 2 , . . . , n 设由决策人给定各属性的权重向量w=[w_1,w_2,...,w_n]^T,则c_{ij}=w_j·b_{ij},i=1,2,...,m,j=1,2,...,n 设由决策人给定各属性的权重向量w=[w1,w2,...,wn]T,则cij=wjbiji=1,2,...,mj=1,2,...,n

  3. 确定正理想解C*和负理想解C°
    设正理想解 C ∗ 的第 j 个属性值为 c j ∗ ,负理想解 C 0 第 j 个属性值为 c j 0 ,则 正理想解 c j ∗ = { max ⁡ i c i j , j 为效益型属性 min ⁡ i c i j , j 为成本型属性 负理想解 c j 0 = { max ⁡ i c i j , j 为效益型属性 min ⁡ i c i j , j 为成本型属性 设正理想解C^*的第j个属性值为c_j^*,负理想解C^0第j个属性值为c_j^0,则 \\ 正理想解c_j^*= \begin{cases} \max_ic_{ij},j为效益型属性 \\ \min_ic_{ij},j为成本型属性 \end{cases} \\ 负理想解c_j^0= \begin{cases} \max_ic_{ij},j为效益型属性 \\ \min_ic_{ij},j为成本型属性 \end{cases} 设正理想解C的第j个属性值为cj,负理想解C0j个属性值为cj0,则正理想解cj={maxicijj为效益型属性minicijj为成本型属性负理想解cj0={maxicijj为效益型属性minicijj为成本型属性

  4. 计算各方案到正理想解与负理想解的距离
    s i ∗ = ∑ j = 1 n ( c i j − c j ∗ ) 2 , i = 1 , 2 , . . . , m s i 0 = ∑ j = 1 n ( c i j − c j 0 ) 2 , i = 1 , 2 , . . . , m s_i^*=\sqrt{\sum_{j=1}^n(c_ij-c_j^*)^2},i=1,2,...,m \\ s_i^0=\sqrt{\sum_{j=1}^n(c_ij-c_j^0)^2},i=1,2,...,m si=j=1n(cijcj)2 i=1,2,...,msi0=j=1n(cijcj0)2 i=1,2,...,m

  5. 计算各方案的排队指标值(即综合评价指数)
    f i ∗ = s i 0 / ( s i 0 + s i ∗ ) , i = 1 , 2 , . . . , m f_i^*=s_i^0/(s_i^0+s_i^*),i=1,2,...,m fi=si0/(si0+si)i=1,2,...,m

  6. 按fi*由大到小排列方案的优劣次序


属性值具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型属性越小越好,区间型属性是在某个区间最佳。

在进行决策时,一般要进行属性值的规范化,主要有如下三个作用:

  1. 属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣,因此需要对数据进行预处理,使得表中任一属性下性能越优的方案变换后的属性值越大。
  2. 非量纲化,多属性决策与评估的困难之一是属性间的不可公度性,即在属性值表中的每一列数具有不同的单位(量纲)。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时,需要排除量纲的选用对决策或评估结果的影响,这就是非量纲化。
  3. 归一化,属性值表中不指标的属性值的数值大小差别很大,为了直观,更为了便于采用各种多属性决策与评估方法进行评价,需要把属性值表中的数值归一化,即把表中数值均变换到[0,1]区间上。

常用的属性规范化方法:

  1. 线性变换
    原始的决策阵为 A = ( a i j ) m × n ,变换后的决策矩阵记为 B = ( b i j ) m × n , i = 1 , . . . , m , j = 1 , . . . , n 。 设 a j m a x 是决策矩阵第 j 列中的最大值, a j m i n 是决策矩阵第 j 列中的最小值。若 x j 为效益型属性,则 b i j = a i j / a j m a x . 采用上式进行属性规范化时,经过变换的最差属性值不一定为 0 ,最佳属性值为 1 。 若 x j 为成本型属性,则 b i j = 1 − a i j / a j m a x 采用上式进行属性规范时,经过变换的最佳属性值不一定为 1 ,最差属性值为 0 。 原始的决策阵为A=(a_{ij})_{m×n},变换后的决策矩阵记为B=(b_{ij})_{m×n},i=1,...,m,j=1,...,n。\\ 设a_j^{max}是决策矩阵第j列中的最大值,a_j^{min}是决策矩阵第j列中的最小值。若x_j为效益型属性,则b_{ij}=a_{ij}/a_j^{max}.\\ 采用上式进行属性规范化时,经过变换的最差属性值不一定为 0,最佳属性值为 1。\\ 若x_j为成本型属性,则b_{ij}=1-a_{ij}/a_j^{max} \\ 采用上式进行属性规范时,经过变换的最佳属性值不一定为 1,最差属性值为 0。 原始的决策阵为A=(aij)m×n,变换后的决策矩阵记为B=(bij)m×ni=1,...,mj=1,...,najmax是决策矩阵第j列中的最大值,ajmin是决策矩阵第j列中的最小值。若xj为效益型属性,则bij=aij/ajmax.采用上式进行属性规范化时,经过变换的最差属性值不一定为0,最佳属性值为1xj为成本型属性,则bij=1aij/ajmax采用上式进行属性规范时,经过变换的最佳属性值不一定为1,最差属性值为0

  2. 标准0-1变换
    为了使每个属性变换后的最优值为 1 且最差值为 0 ,可以进行标准 0 − 1 变换。 对效益型属性 x j ,令 b i j = a i j − a j m i n a j m a x − a j m i n 对成本型属性 x j ,令 b i j = a i j m a x − a i j a j m a x − a j m i n 为了使每个属性变换后的最优值为1且最差值为0,可以进行标准0-1变换。\\ 对效益型属性x_j,令b_{ij}=\frac{a_{ij}-a_j^{min}}{a_j^{max}-a_j^{min}}\\ 对成本型属性x_j,令b_{ij}=\frac{a_{ij}^{max}-a_{ij}}{a_j^{max}-a_j^{min}} 为了使每个属性变换后的最优值为1且最差值为0,可以进行标准01变换。对效益型属性xj,令bij=ajmaxajminaijajmin对成本型属性xj,令bij=ajmaxajminaijmaxaij

  3. 区间型属性的变换

    有些属性既非效益型又非成本型。显然这种属性不能采用前面介绍的两种方法处理。
    设给定的最优属性区间为 [ a j 0 , a j ∗ ] , a j ′ 为无法容忍下限, a j ′ ′ 为无法容忍上限,则 b i j = {   1 − ( a j 0 − a i j ) / ( a j 0 − a j ′ ) ,若 a j ′ < = a i j < a j 0   1 ,若 a j 0 < = a i j < = a j ∗   1 − ( a i j − a j ∗ ) / ( a j ′ ′ − a j ∗ ) ,若 a j ∗ < a i j < = a j ′ ′   0 ,其它 变换后的属性值 b i j 与原属性值 a i j 之间的函数图形为一般梯形。 当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。 设给定的最优属性区间为[a_j^0,a_j^*],a_j^{'}为无法容忍下限,a_j^{''}为无法容忍上限,则\\ b_{ij}= \begin{cases} \ 1-(a_j^0-a_{ij})/(a_j^0-a_j^{'}),若a_j^{'}<=a_{ij}<a_j^0 \\ \ 1,若a_j^{0}<=a_{ij}<=a_j^* \\ \ 1-(a_{ij}-a_j^*)/(a_j^{''}-a_j^{*}),若a_j^{*}<a_{ij}<=a_j^{''} \\ \ 0,其它 \end{cases} \\ 变换后的属性值b_{ij}与原属性值a_{ij}之间的函数图形为一般梯形。\\ 当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。 设给定的最优属性区间为[aj0,aj]aj为无法容忍下限,aj′′为无法容忍上限,则bij=  1(aj0aij)/(aj0aj),若aj<=aij<aj0 1,若aj0<=aij<=aj 1(aijaj)/(aj′′aj),若aj<aij<=aj′′ 0,其它变换后的属性值bij与原属性值aij之间的函数图形为一般梯形。当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。

  4. 向量规范化

    见上述算法步骤

    这种变换也是线性的,但是它与前面介绍的几种变换不司,从变换后属性值的大小上无法分辨属性值的优劣。它的最大特点是,规范化后,各方案的同一属性值的平方和为 1,因此常用于计算各方案与某种虚拟方案(如理想点或负理想点) 的欧氏距离的场合。

  5. 标准化处理

    在实际问题中,不同变量的测量单位往往是不一样的。为了消除变量的量纲效应,使每个变量都具有同等的表现力,数据分析中常对数据进行标准化处理。
    b i j = a i j − a j ‾ s j , i = 1 , 2 , . . . , n . 其中 a j ‾ = 1 m ∑ i = 1 m a i j , s j = 1 m − 1 ∑ i = 1 m ( a i j − x j ‾ ) 2 , j = 1 , 2 , . . . , n . b_{ij}=\frac{a_{ij}-\overline{a_j}}{s_j},i=1,2,...,n.\\ 其中\overline{a_j}=\frac{1}{m}\sum_{i=1}^ma_{ij},s_j=\sqrt{\frac{1}{m-1}\sum_{i=1}^m(a_{ij}-\overline{x_j})^2},j=1,2,...,n. bij=sjaijaji=1,2,...,n.其中aj=m1i=1maijsj=m11i=1m(aijxj)2 j=1,2,...,n.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
熵权-TOPSIS模型是一种常用的多准则决策方法,可以帮助决策者从多个候选方案中选择最佳方案。MATLAB是一种功能强大的数计算软件,可以用于熵权-TOPSIS模型的实现。 在MATLAB中实现熵权-TOPSIS模型,首先需要计算各个指标的熵。可以使用熵的计算公式和相关函数在MATLAB中进行计算。接着,需要计算指标的权重,可以使用熵权法计算指标之间的权重。权重可以通过计算指标的熵和信息熵的比得到,表征指标的重要性。 然后,对原始数据进行归一化处理,可以使用线性归一化或者标准化方法将数据映射到相同的取范围。归一化可以确保不同指标的数据单位一致,从而使得各个指标的权重可以进行合理的比较。 接下来,利用归一化后的数据计算各个候选方案的TOPSIS评价指标。TOPSIS方法通常使用距离度量来衡量候选方案与最优方案之间的距离。可以使用欧氏距离、曼哈顿距离或者其他距离度量方法来计算。 最后,在MATLAB中根据TOPSIS评价指标计算候选方案的最终得分,并根据得分进行排序选择最佳方案。可以使用MATLAB中的排序函数对候选方案进行排序,得到最终的结果。 总的来说,使用MATLAB实现熵权-TOPSIS模型可以通过计算指标的熵和权重、数据归一化处理、计算TOPSIS评价指标和排序等步骤实现。MATLAB提供了丰富的数计算和矩阵运算功能,可以方便地进行熵权-TOPSIS模型的实现和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

L、fly

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

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

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

打赏作者

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

抵扣说明:

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

余额充值