数学建模笔记 -- TOPSIS(优劣解距离法)

320 阅读2分钟

TOPSIS(优劣解距离法)

1. 模型简介

TOPSIS(Technique for Order Preference by Similarity to Ideal Solution),国内常称为优劣解距离法。 TOPSIS法是一种综合评价方法,在指标及指标的数据已知的时候能够有效做出评价。该方法以数据为基础进行评价。

2. 模型建立

模型的建立主要分为以下几个步骤:

  1. 原始矩阵正向化
  2. 再将矩阵标准化
  3. 计算得分并归一化

3. 模型建立细则

原始矩阵

姓名班级吵架次数
小明892
小王600
小张741
小李993

利用这些数据来对这四位同学进行综合评分,以选出班长。

矩阵正向化

在讲正向化之前首先需要了解常见的四种指标:

指标名称指标特点例子
极大型(效益型)指标越大越好成绩、GDP增速、企业利润
极小型(成本型)指标越小越好费用、坏品率、污染程度
中间型指标越接近某个值越好水质量评估时的PH值
区间型指标落在某个区间最好体温、水中植物性营养物量

正向化即将不是极大型指标的其他指标转换为极大型指标。 其他三种指标如何转换为极大型指标:

  1. 极小型:利用 maxxmax-x 公式,在数据全为正数时也可以用 1x\frac{1}{x}。公式不唯一。

  2. 中间型:{xix_i}是一组公式中间型指标数据序列,xbestx_{best}是最佳数据。

    正向化公式如下:

    M=max{xixbest},zi=1xixbestMM = max\{| x_i - x_{best} |\} , z_i = 1 - \frac{x_i-x_{best}} {M}

    得到以{ziz_i}为数据序列的正向化后的Z矩阵。

  3. 区间型:{xix_i}是一组公式区间型指标数据序列,最佳区间是[a, b],正向化公式如下: M=max{amin{xi},max{xi}b},zi={1axiM,xx<a1,axib1xibM,xi>b M = max\{a-min\{x_i\} , max\{x_i\}-b\} , z_i = \begin{cases} 1-\frac{a-x_i}{M}&, x_x<a\\1&, a\le{x_i}\le{b}\\ 1-\frac{x_i-b}{M}&, x_i>b \end{cases}

矩阵标准化

标准化是为了消除量纲。 公式:

zij=xiji=1nxijz_{ij}=\frac{x_{ij}}{\sqrt{\sum^{n}_{i=1}{x_{ij}}}}

该公式就是把每个元素除以所处列所有元素的平方和开根号。

标准化的公式不止这一个。

计算得分并归一化

假设有m个评价对象和n个指标。

定义最大值和最小值:

Z+=(max{z11,z21,...,zn1},max{z12,z22,...,zn2},...,max{z1m,z2m,...,znm})Z^+ = (max\{z_{11}, z_{21}, ..., z_{n1}\}, max\{z_{12},z_{22}, ..., z_{n2}\}, ..., max\{z_{1m},z_{2m}, ..., z_{nm}\}) Z=(min{z11,z21,...,zn1},min{z12,z22,...,zn2},...,min{z1m,z2m,...,znm})Z^- = (min\{z_{11}, z_{21}, ..., z_{n1}\}, min\{z_{12},z_{22}, ..., z_{n2}\}, ..., min\{z_{1m},z_{2m}, ..., z_{nm}\})

矩阵中每一行代表每一个评价对象。现定义第i个评价对象与最大值和最小值的距离(欧氏距离):

D+=j=1m(Zj+zij)2D^+ = \sqrt{\sum^m_{j=1}({Z^+_j-z_{ij}})^2}

D=j=1m(Zjzij)2D^- = \sqrt{\sum^m_{j=1}({Z^-_j-z_{ij}})^2}

未归一化的初始得分为:Si=DiDi++DiS_i=\frac{D^-_i}{D^+_i + D^-_i}

得出初始得分的列向量后,每个元素除以该列之和就是归一化后的结果了。类似于求比重。

4. 总结

TOPSIS方法主要基于数据,通过距离来量化评价指标。多用于解决多指标的决策性位置。

补充:

image.png