第一步:将原始矩阵正向化

常见的四种指标有:

指标名称

指标特点

例子

极大型(效益型)

越大(多)越好

成绩、GDP增速、企业利润

极小型(成本型)

越小(少)越好

费用、坏品率、污染程度

中间型

越接近某个值越好

水质量评估时的PH值

区间型

落在某个区间最好

体温、水中植物性营养物量

所谓将原始矩阵正向化,就是要将所有的指标类型统一转化成极大型指标。

极小型—>极大型

R python 正向指标 负向指标 权重 topsis_数学建模
如果所有的元素均为正数,那么也可以使用R python 正向指标 负向指标 权重 topsis_算法_02

中间型指标—>极大型指标

中间型指标:指标既不要太大也不要太小,取某特定值最好(如水质量评估PH值)
{R python 正向指标 负向指标 权重 topsis_数学建模_03}是一组中间型指标序列,且最佳的数值为R python 正向指标 负向指标 权重 topsis_算法_04,那么正向化的公式如下:
R python 正向指标 负向指标 权重 topsis_数学建模_05

PH值(转换前)

PH值(转换后)

6

R python 正向指标 负向指标 权重 topsis_数学建模_06

7

R python 正向指标 负向指标 权重 topsis_数学建模_06

8

R python 正向指标 负向指标 权重 topsis_数学建模_06

9

R python 正向指标 负向指标 权重 topsis_数学建模_06

R python 正向指标 负向指标 权重 topsis_数学建模_06

区间型指标–>极大型指标

区间型指标:指标值落在某个区间内最好。
R python 正向指标 负向指标 权重 topsis_数学建模_11是一组区间型指标序列,且最佳的区间为R python 正向指标 负向指标 权重 topsis_算法_12,那么正向化的公式如下:
R python 正向指标 负向指标 权重 topsis_算法_13

体温(转换前)

体温(转换后)

35.2

0.4286

35.8

0.8571

36.6

1

37.1

0.9286

37.8

0.4286

38.4

0

R python 正向指标 负向指标 权重 topsis_算法_14

第二步:正向化矩阵标准化

标准化的目的是消除不同指标量纲的影响
假设有R python 正向指标 负向指标 权重 topsis_算法_15个要评价的对象,R python 正向指标 负向指标 权重 topsis_数学建模_16个评价指标(已经正向化了)构成的正向化矩阵如下:
R python 正向指标 负向指标 权重 topsis_数学建模_17
那么,对其标准化的矩阵记为R python 正向指标 负向指标 权重 topsis_算法_18,Z中的每一个元素:R python 正向指标 负向指标 权重 topsis_数学建模_19

第三步:计算的得分并归一化

假设有R python 正向指标 负向指标 权重 topsis_算法_15个要评价的对象,R python 正向指标 负向指标 权重 topsis_数学建模_16个评价指标的标准化矩阵:
R python 正向指标 负向指标 权重 topsis_数学建模_22
定义最大值
R python 正向指标 负向指标 权重 topsis_算法_23
定义最小值
R python 正向指标 负向指标 权重 topsis_数学建模_24
定义第R python 正向指标 负向指标 权重 topsis_算法_25个评价对象与最大值的距离R python 正向指标 负向指标 权重 topsis_算法_26
定义第R python 正向指标 负向指标 权重 topsis_算法_25个评价对象与最小值的距离R python 正向指标 负向指标 权重 topsis_算法_28
那么我们可以计算出第R python 正向指标 负向指标 权重 topsis_算法_29个评价对象未归一化的得分:R python 正向指标 负向指标 权重 topsis_数学建模_30
很显然R python 正向指标 负向指标 权重 topsis_数学建模_31,且R python 正向指标 负向指标 权重 topsis_算法_32

权重的TOPSIS

假设有R python 正向指标 负向指标 权重 topsis_算法_15个要评价的对象,R python 正向指标 负向指标 权重 topsis_数学建模_16个评价指标的标准化矩阵:
R python 正向指标 负向指标 权重 topsis_数学建模_22
定义最大值
R python 正向指标 负向指标 权重 topsis_算法_23
定义最小值
R python 正向指标 负向指标 权重 topsis_数学建模_24
定义第R python 正向指标 负向指标 权重 topsis_算法_25个评价对象与最大值的距离R python 正向指标 负向指标 权重 topsis_数学建模_39
定义第R python 正向指标 负向指标 权重 topsis_算法_25个评价对象与最小值的距离R python 正向指标 负向指标 权重 topsis_算法_41
那么我们可以计算出第R python 正向指标 负向指标 权重 topsis_算法_29个评价对象未归一化的得分:R python 正向指标 负向指标 权重 topsis_数学建模_30
很显然R python 正向指标 负向指标 权重 topsis_数学建模_31,且R python 正向指标 负向指标 权重 topsis_算法_32

可以使用层次分析法给这R python 正向指标 负向指标 权重 topsis_数学建模_16个评价指标确定权重:
R python 正向指标 负向指标 权重 topsis_算法_47

由于层次分析法的主观性太强了,更推荐使用熵权法来进行客观赋值。