第一步:将原始矩阵正向化
常见的四种指标有:
指标名称 | 指标特点 | 例子 |
极大型(效益型) | 越大(多)越好 | 成绩、GDP增速、企业利润 |
极小型(成本型) | 越小(少)越好 | 费用、坏品率、污染程度 |
中间型 | 越接近某个值越好 | 水质量评估时的PH值 |
区间型 | 落在某个区间最好 | 体温、水中植物性营养物量 |
所谓将原始矩阵正向化,就是要将所有的指标类型统一转化成极大型指标。
极小型—>极大型
如果所有的元素均为正数,那么也可以使用
中间型指标—>极大型指标
中间型指标:指标既不要太大也不要太小,取某特定值最好(如水质量评估PH值)
{}是一组中间型指标序列,且最佳的数值为,那么正向化的公式如下:
PH值(转换前) | PH值(转换后) |
6 | |
7 | |
8 | |
9 |
区间型指标–>极大型指标
区间型指标:指标值落在某个区间内最好。
是一组区间型指标序列,且最佳的区间为,那么正向化的公式如下:
体温(转换前) | 体温(转换后) |
35.2 | 0.4286 |
35.8 | 0.8571 |
36.6 | 1 |
37.1 | 0.9286 |
37.8 | 0.4286 |
38.4 | 0 |
第二步:正向化矩阵标准化
标准化的目的是消除不同指标量纲的影响
假设有个要评价的对象,个评价指标(已经正向化了)构成的正向化矩阵如下:
那么,对其标准化的矩阵记为,Z中的每一个元素:
第三步:计算的得分并归一化
假设有个要评价的对象,个评价指标的标准化矩阵:
定义最大值
定义最小值
定义第个评价对象与最大值的距离
定义第个评价对象与最小值的距离
那么我们可以计算出第个评价对象未归一化的得分:
很显然,且
带权重的TOPSIS
假设有个要评价的对象,个评价指标的标准化矩阵:
定义最大值
定义最小值
定义第个评价对象与最大值的距离
定义第个评价对象与最小值的距离
那么我们可以计算出第个评价对象未归一化的得分:
很显然,且
可以使用层次分析法给这个评价指标确定权重:
由于层次分析法的主观性太强了,更推荐使用熵权法来进行客观赋值。