【数学建模笔记】评价模子-基于熵权法的TOPSIS模子

打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

视频课地址:https://www.bilibili.com/video/BV1eRyVYUEhg
本系列文章和课程一样,只使用Python实现,很久没玩数学建模了
国赛中不能再用TOPSIS,可以做辅助算法。
1. 算法原理

熵权TOPSIS方法是一种结合熵权法和TOPSIS的决议分析模子。

  • 首先使用熵权法确定各指标的权重;
  • 然后采用TOPSIS方法对备选防范进行评价和排序。
(可以把TOPSIS换成别的评价方法,或者赋权重方法换成不是熵权法的方法,比如随机丛林,也可以在TOPSIS之前聚个类)
1.1 熵权法(Entropy Weight Method)

熵权法基于信息熵理论,用于计算决议指标的权重。信息是可以反映指标值分布的均匀性,信息熵越大,指标值的分布越均匀,其所含信息越少,相应的权重也越小。
1.1.1 尺度化处理惩罚

设有                                   m                              m                  m个评价对象,                                   n                              n                  n个评价指标。原始数据矩阵为                                   X                         =                         [                                   x                                       i                               j                                            ]                              \boldsymbol{X}=[x_{ij}]                  X=[xij​],此中                                             x                                       i                               j                                                 x_{ij}                  xij​表现第                                   i                              i                  i个评价对象在第                                   j                              j                  j个指标上的表现,尺度化后的数据矩阵                                   R                         =                         [                                   r                                       i                               j                                            ]                              \boldsymbol{R}=[r_{ij}]                  R=[rij​]可通过以下公式得到:
                                                    r                                           i                                  j                                                 =                                                   x                                               i                                     j                                                                                             ∑                                                       i                                           =                                           1                                                      m                                                                x                                                       i                                           j                                                      2                                                                                r_{i j}=\frac{x_{i j}}{\sqrt{\sum\limits_{i=1}^{m} x_{i j}^{2}}}                     rij​=i=1∑m​xij2​                    ​xij​​
必要统一量纲,进行尺度化处理惩罚,要不然算法不容易收敛。
1.1.2 计算熵值                                                   e                               j                                            e_j                     ej​



  •                                                    p                                           i                                  j                                                 =                                                   r                                               i                                     j                                                                               ∑                                                   i                                        =                                        1                                                  m                                                           r                                                   i                                        j                                                                                p_{i j}=\frac{r_{i j}}{\sum\limits_{i=1}^{m} r_{i j}}                     pij​=i=1∑m​rij​rij​​
  •                                                    e                               j                                      =                            −                            k                                       ∑                                           i                                  =                                  1                                          m                                                 p                                           i                                  j                                                 log                            ⁡                                       (                                           p                                               i                                     j                                                      )                                            e_{j}=-k \sum\limits_{i=1}^{m} p_{i j} \log \left(p_{i j}\right)                     ej​=−ki=1∑m​pij​log(pij​),此中                                        k                            =                                       1                                           log                                  ⁡                                  m                                                       k=\frac{1}{\log m}                     k=logm1​,假如                                                   p                                           i                                  j                                                 =                            0                                  p_{ij}=0                     pij​=0,则                                                   p                                           i                                  j                                                 log                            ⁡                            (                                       p                                           i                                  j                                                 )                            =                            0                                  p_{ij}\log(p_{ij})=0                     pij​log(pij​)=0.
1.1.3 计算权重                                                   w                               j                                            w_j                     wj​



  •                                                    d                               j                                      =                            1                            −                                       e                               j                                            d_j=1-e_j                     dj​=1−ej​
  • 求出权重                                                   w                               j                                      =                                                   d                                  j                                                                   ∑                                                   j                                        =                                        1                                                  n                                                           d                                     j                                                                   w_{j}=\frac{d_{j}}{\sum\limits_{j=1}^{n} d_{j}}                     wj​=j=1∑n​dj​dj​​
1.2 TOPSIS方法

TOPSIS是一种基于距离的方法,用于评估和选择最佳方案。方法是通过计算每个方案与理想最优解(正理想解)和最差解(负理想解)的距离来进行排序。
1.2.1 计算加权尺度化决议矩阵

计算加权尺度化决议矩阵                                   V                         =                         [                                   v                                       i                               j                                            ]                              \boldsymbol{V}=[v_{ij}]                  V=[vij​]:                                             v                                       i                               j                                            =                                   w                            j                                  ⋅                                   r                                       i                               j                                                 v_{i j}=w_{j} \cdot r_{i j}                  vij​=wj​⋅rij​.
1.2.2 确定正理想解                                                   A                               +                                            \boldsymbol{A}^{+}                     A+和负理想解                                                   A                               −                                            \boldsymbol{A}^{-}                     A−

正理想解是解中更好的部分,负理想解是解中更差的部分。
                                                    A                               +                                      =                                       (                                                        max                                     ⁡                                                           i                                     ≤                                     m                                                                  v                                               i                                     j                                                             ,对于利益型指标;                                                   min                                  ⁡                                                      i                                  ≤                                  m                                                            v                                           i                                  j                                                 ,对于资本型指标                            )                                                A                               −                                      =                                       (                                                        min                                     ⁡                                                           i                                     ≤                                     m                                                                  v                                               i                                     j                                                             ,对于利益型指标;                                                   max                                  ⁡                                                      i                                  ≤                                  m                                                            v                                           i                                  j                                                 ,对于资本型指标                            )                                  A^{+}=\left(\max _{i \leq m} v_{i j}\right. ,对于利益型指标; \min _{i \leq m} v_{i j} ,对于资本型指标 ) \\ A^{-}=\left(\min _{i \leq m} v_{i j}\right. ,对于利益型指标; \max _{i \leq m} v_{i j} ,对于资本型指标 )                     A+=(i≤mmax​vij​,对于利益型指标;i≤mmin​vij​,对于资本型指标)A−=(i≤mmin​vij​,对于利益型指标;i≤mmax​vij​,对于资本型指标)
算法的终极目标是越靠近好的越阔别差的。利益型指标是越大越好,资本型指标是越小越好。不一定非要利益型或者资本型,有时候要选择没有波动性值……可以在这儿改进。
1.2.3 计算方案与正负理想解的距离



  •                                                    S                               i                               +                                      =                                                                ∑                                                   j                                        =                                        1                                                  n                                                                         (                                                       v                                                           i                                              j                                                                     −                                                       A                                           j                                           +                                                      )                                                  2                                                                   S_{i}^{+}=\sqrt{\sum\limits_{j=1}^{n}\left(v_{i j}-A_{j}^{+}\right)^{2}}                     Si+​=j=1∑n​(vij​−Aj+​)2             ​;
  •                                                    S                               i                               −                                      =                                                                ∑                                                   j                                        =                                        1                                                  n                                                                         (                                                       v                                                           i                                              j                                                                     −                                                       A                                           j                                           −                                                      )                                                  2                                                                   S_{i}^{-}=\sqrt{\sum\limits_{j=1}^{n}\left(v_{i j}-A_{j}^{-}\right)^{2}}                     Si−​=j=1∑n​(vij​−Aj−​)2             ​.
算的是和最高分有多靠近,与最低分有多靠近,这也就是正负理想解的距离。
1.2.4 计算相似度                                                   C                               i                                            C_i                     Ci​

                                                    C                               i                                      =                                                   S                                  i                                  −                                                                   S                                     i                                     +                                              +                                               S                                     i                                     −                                                                   C_{i}=\frac{S_{i}^{-}}{S_{i}^{+}+S_{i}^{-}}                     Ci​=Si+​+Si−​Si−​​
方案按                                             C                            i                                       C_i                  Ci​值降序排序,                                             C                            i                                       C_i                  Ci​值越大,方案越优。
1.3 实例阐明

多个指标可以进行降维





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表