评级模型之Topsis法—基于R
本文以应用为主,因此原理并不深究
步骤
Step1. 构造初始决策矩阵
Step2. 按列(属性)对决策矩阵D归一化
记归一化后的矩阵为 .
Step3. 用信息熵法计算权重
Step4. 用Topsis法评价
Topsis 法是理解解的排序方法 (technique for order preference by similarity to ideal solution), 它借助于评价问题的正理想解和负理想解,对各评价对象进行排序。所谓正理想解是一个虚拟的最佳对象,其每个指标值都是对所有评价对象中的该指标的最好值;而负理想解是另一个虚拟的最差对象,其每个指标值都是所有评价对象中该指标的最差值。求出各评价对象与正理想解和负理想解的距离,并依次对各评价对象进行优劣排序。
- 赋权
其中 .
- 计算正理想解 和负理想解 .
- 计算正负理想距离
- 计算各评价方案与正理想解的相对接近度 ,即可得到评价得分.
其中 .
实例
评价五所研究生院教学质量,收集有关数据资料如下
人均专著 /(本/人) | 生师比 | 科研经费 / (万元/年) | 逾期毕业率 / % | |
---|---|---|---|---|
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 <- matrix(c(0.1, 0.2, 0.4, 0.9, 1.2, 1/5, 1/6, 1/7, 1/10, 1/2, 5000, 6000, 7000, 10000, 400, 1/4.7, 1/5.6, 1/6.7, 1/2.3, 1/1.8), nrow = 5)
Step2. 按列(属性)对决策矩阵D归一化
col_sum <- apply(D, 2, sum) # 2代表列 ColSum <- matrix(c(col_sum, col_sum, col_sum, col_sum, col_sum ), nrow = 5, byrow = T) # 按行填入 R <- D/ColSum R
## [,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 <- function(x) -sum(x*log(x))/log(5) E <- apply(R, 2, Entropy) F <- 1 - E w <- F/sum(F) w
## [1] 0.3670204 0.2179919 0.2510037 0.1639840
Step4. 用Topsis法评价
- 赋权
W <- diag(w) V <- R %*% W
- 计算正理想解 和负理想解 .
v_max <- apply(V, 2, max) v_min <- apply(V, 2, min)
- 计算正负理想距离
V_MAX <- matrix(c(v_max, v_max, v_max, v_max, v_max), nr = 5, byrow = TRUE) V_MIN <- matrix(c(v_min, v_min, v_min, v_min, v_min), nr = 5, byrow = TRUE) fun <- function(x) sqrt(sum(x^2)) s_max <- apply(V-V_MAX, 1, fun) s_min <- apply(V-V_MIN, 1, fun)
- 计算各评价方案与正理想解的相对接近度 ,即可得到评价得分.
C <- s_min/(s_max + s_min) C
## [1] 0.2157095 0.2533230 0.3423939 0.6089369 0.6669153
因此五所研究院的得分为 .
故五所研究院的排名顺序 .
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示