评级模型之Topsis法—基于R

本文以应用为主,因此原理并不深究

Step1. 构造初始决策矩阵(D = (d_{ij})_{m \times n})
Step2. 按列(属性)对决策矩阵D归一化

[d_{ij} = \frac{d_{ij}}{\sum\limits_{k=1}^mx_{kj}} ]

记归一化后的矩阵为 (R = (r_{ij})_{m \times n}).

Step3. 用信息熵法计算权重

[\begin{aligned} & E_j = -k\sum\limits_{i=1}^mr_{ij}\ln{r_{ij}}, \quad k = \frac{1}{\ln m}\ & F_j = 1 – E_j\ & w_j = \frac{F_j}{\sum\limits_{j=1}^nF_j} \end{aligned} ]

Step4. 用Topsis法评价
Topsis 法是理解解的排序方法 (technique for order preference by similarity to ideal solution), 它借助于评价问题的正理想解和负理想解,对各评价对象进行排序。所谓正理想解是一个虚拟的最佳对象,其每个指标值都是对所有评价对象中的该指标的最好值;而负理想解是另一个虚拟的最差对象,其每个指标值都是所有评价对象中该指标的最差值。求出各评价对象与正理想解和负理想解的距离,并依次对各评价对象进行优劣排序。

[V = RW ]

其中 (W = diag(w_1,w_2,\cdots,w_n)).

  • 计算正理想解(V^+) 和负理想解(V^-).

[V^+ = (v_1^+,v_2^+,\cdots,v_n^+) = (\max\limits_{1 \leq i \leq m}v_{i1},\max\limits_{1 \leq i \leq m}v_{i2},\cdots,\max\limits_{1 \leq i \leq m}v_{in})\ V^- = (v_1^-,v_2^-,\cdots,v_n^-) = (\min\limits_{1 \leq i \leq m}v_{i1},\min\limits_{1 \leq i \leq m}v_{i2},\cdots,\min\limits_{1 \leq i \leq m}v_{in}) ]

  • 计算正负理想距离

[S^+ = (s_1^+,s_2^+,\cdots,s_m^+) = \bigg(\sqrt{\sum\limits_{j=1}^n(v_{1j}-v_j^+)^2},\sqrt{\sum\limits_{j=1}^n(v_{2j}-v_j^+)^2},\cdots,\sqrt{\sum\limits_{j=1}^n(v_{mj}-v_j^+)^2}\bigg) \ S^- = (s_1^-,s_2^-,\cdots,s_m^-) = \bigg(\sqrt{\sum\limits_{j=1}^n(v_{1j}-v_j^-)^2},\sqrt{\sum\limits_{j=1}^n(v_{2j}-v_j^-)^2},\cdots,\sqrt{\sum\limits_{j=1}^n(v_{mj}-v_j^+)^2}\bigg) ]

  • 计算各评价方案与正理想解的相对接近度(C^+),即可得到评价得分.

[C^+ = (c_1^+,c_2^+,\cdots,c_m^+) ]

其中 (c_i^+ = \frac{s_j^-}{s_j^-+s_j^+}).

评价五所研究生院教学质量,收集有关数据资料如下

人均专著

/(本/人) 生师比

科研经费

/ (万元/年) 逾期毕业率

/ % 1 0.1 5 5000 4.7 2 0.2 6 6000 5.6 3 0.4 7 7000 6.7 4 0.9 10 10000 2.3 5 1.2 2 400 1.8

基于信息熵法与 Topsis 法给出五所研究生院的评价

模型求解

Step1. 构造初始决策矩阵(D = (d_{ij})_{m \times n})
显然题意可以判断 (x_1,x_3) 位效益型属性,(x_2,x_4) 为消费型属性.

D <- 1 matrix(c(0.1, 0.2, 0.4, 0.9, 1.2, 5, 6, 7, 10, 2, 5000, 6000, 7000, 10000, 400, 4.7, 5.6, 6.7, 2.3, 1.8), nrow="5)" < code></->

Step2. 按列(属性)对决策矩阵D归一化

col_sum <- apply(d, 2, sum) # 2代表列 colsum <- matrix(c(col_sum, col_sum, col_sum ), nrow="5," byrow="T)" 按行填入 r d < code></->
##      [,1]       [,2]       [,3]       [,4]
## [1,] 0.03571429 0.18025751 0.17605634 0.13897831
## [2,] 0.07142857 0.15021459 0.21126761 0.11664251
## [3,] 0.14285714 0.12875536 0.24647887 0.09749224
## [4,] 0.32142857 0.09012876 0.35211268 0.28399915
## [5,] 0.42857143 0.45064378 0.01408451 0.36288780

Step3. 用信息熵法计算权重

Entropy <- 1 function(x) -sum(x*log(x)) log(5) e <- apply(r, 2, entropy) f - w sum(f) < code></->
## [1] 0.3670204 0.2179919 0.2510037 0.1639840

Step4. 用Topsis法评价

W <- diag(w) v <- r %*% w < code></->
  • 计算正理想解(V^+) 和负理想解(V^-).
v_max <- apply(v, 2, max) v_min <- min) < code></->
  • 计算正负理想距离
V_MAX <- matrix(c(v_max, v_max, v_max), nr="5," byrow="TRUE)" v_min <- matrix(c(v_min, v_min, v_min), fun function(x) sqrt(sum(x^2)) s_max apply(v-v_max, 1, fun) s_min apply(v-v_min, < code></->
  • 计算各评价方案与正理想解的相对接近度(C^+),即可得到评价得分.
C <- s_min (s_max + s_min) c < code></->
## [1] 0.2157095 0.2533230 0.3423939 0.6089369 0.6669153

因此五所研究院的得分为 (0.2157095, 0.2533230, 0.3423939, 0.6089369, 0.6669153).

故五所研究院的排名顺序 (5 > 4 > 3 > 2 > 1).

Original: https://www.cnblogs.com/hznudmh/p/16327603.html
Author: 帯蟊釜
Title: 评级模型之Topsis法—基于R

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/591600/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球