建模学习第二天——优劣解距离法

TOPSIS法 (优劣解距离法)

来源:清风老师数学建模ppt,全手打

  • TOPSIS法:

    • 又名为:逼近理想排序法或优劣解距离法。
    • 是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
    • 基本过程为:先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。

  • 常见的四种指标:

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

  • 统一指标类型:

    • 将所有的指标转化为极大型成为指标正向化(最常用的)。
  • 标准化处理:

    • 为了消去不同指标量纲的影响,需要对已经正向化的矩阵进行标准化处理。

    • 标准化处理的公式:假设有n个要评价的对象,m个评价指标(已经正向化了)构成的正向化矩阵如下:

      • \[X=\left[\begin{matrix}x_{11}&x_{12}&\cdots&x_{1m}\\x_{21}&x_{22}&\cdots&x_{2m}\\\vdots&\vdots&\ddots&\vdots\\x_{n1}&x_{n2}&\cdots&x_{nm}\end{matrix}\right] \]

      • 那么,对其标准化的矩阵记为Z,Z中的每一个元素:

      \[z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^n x^2_{ij}}} \]



  • 构建计算公式:

    • \[\frac{x-min}{max-min}=\frac{x-min}{(max-x)+(x-min)}=\frac{x与最小值的距离}{x与最大值的距离+x与最小值的距离} \]


    • \[Z=\left[\begin{matrix}z_{11}&z_{12}&\cdots&z_{1m}\\z_{21}&z_{22}&\cdots&z_{2m}\\\vdots&\vdots&\ddots&\vdots\\z_{n1}&z_{n2}&\cdots&z_{nm}\end{matrix}\right] \]

    • 定义最大值Z+=(\(Z^+_1,Z^+_2,\cdots,Z^+_m\)) = (max{\(z_{11},z_{21},\cdots,z_{n1}\)},max{\(z_{12},z_{22},\cdots,z_{n2}\)},\(\cdots\),max{\(z_{1m},z_{2m},\cdots,z_{nm}\)})

    • 定义最小值定义最大值Z=(\(Z^-_1,Z^-_2,\cdots,Z^-_m\)) = (min{\(z_{11},z_{21},\cdots,z_{n1}\)},min{\(z_{12},z_{22},\cdots,z_{n2}\)},\(\cdots\),min{\(z_{1m},z_{2m},\cdots,z_{nm}\)})

    • 定义第i(i=1,2,3,\(\cdots\),n)个评价对象与最大值的距离:

      • \[D^+_i=\sqrt{\sum_{j=1}^m (Z^+_j-z_{ij})^2} \]

    • 定义第i(i=1,2,3,\(\cdots\),n)个评价对象与最小值的距离:

      • \[D^-_i=\sqrt{\sum_{j=1}^m (Z^-_j-z_{ij})^2} \]

    • 那么,我们可以计算得出第i(i=1,2,\(\cdots\),n)个评价对象未归一化的得分:Si=\(\frac{D^-_i}{D^+_i+D^-_i}\)很明显。0\(\leq\)Si$\leq$1,且Si越大 \(D^+_i\) 越小,即越接近最大值。



解题思路:

第一步:将原始矩阵正向化,将所有的指标类型统一转化为极大型指标。

  • 极小型指标转化为极大型指标:max-x,或者是\(\frac{1}{x}\)

  • 中间型指标转化为极大型指标:

    • 中间型指标:指标值既不要太大也不要太小,取某特定值最好。
    • {xi}是一组中间型指标序列,且最佳的数值为xbest,那么正向化公式如下:M=max{|xi—xbest|},\(\tilde{x}\)=1— \(\frac{|x~i~— x~best~|}{M}\)
  • 区间型指标转化为极大型指标:

    • \[f(x)=\left\{ \begin{aligned} 1-\frac{a-x_i}{M} &,x_i<a\\ 1&,a\leq x_i\leq b\\ 1-\frac{x_i-b}{M}&,x_i>b \end{aligned} \right. \]

第二步:

  • 正向化矩阵标准化。

    X = [89,1; 60,3; 74,2; 99,0]
    [n , m] = size(X)
    X ./ repmat(sum(X.*X) .^ 0.5, n, 1)
    

第三步:

  • 构建计算公式计算得分并归一化

     = [89,1;60,3;74,2;99,0]
    [n , m] = size(X);
    Z = X ./ repmat(sum(X.*X) .^ 0.5,n,1);
    D_P = sum([(Z - repmat(max(Z),n,1)).^2 ],2) .^ 0.5  %D+向量
    D_N = sum([(Z - repmat(min(Z),n,1)).^2 ],2) .^ 0.5  %D-向量
    
    • 得分归一化:\(\tilde{S_i}=\frac{S_i}{\sum_{i=1}^n S_i}\),这样的话,\(\sum_{i=i}^n \tilde{S_i}=1\)
    • 得分归一化不影响排序。
  • 当加上权重的时候,需要\(D^+_i=\sqrt{\sum_{j=1}^m w_i(Z^+_j-z_{ij})^2}\),其他的类似。wi在这里是权重。

posted @ 2020-08-17 15:04  东玉家的熊猫  阅读(357)  评论(0编辑  收藏  举报