TOPSIS法模型
TOPSIS 法
基本思想
衡量综合条件最好:距离最好点最近/距离最差点最远
计算多目标距离理想解与反理想解的距离,得到贴近度∈(0,1)。
步骤
将原始矩阵正向化
把所有指标都转换为越大越好
指标名称 | 指标特点 |
---|---|
极大型(效益型)指标 | 越大(多)越好 |
极小型(成本型)指标 | 越小(少)越好 |
中间型指标 | 越接近某个值越好 |
区间型指标 | 落在某个区间最好 |
公式:
指标名称 | 转换公式 |
---|---|
极大型(效益型)指标 | 🈚️ |
极小型(成本型)指标 | \[\hat{x} = \max x - x\] ,其中 \(\max x\) 为该指标的最大值,\(x\) 为原始指标值。 |
中间型指标 | \(M = \max\{|x_i - x_{best}|\}\),\(\hat{x}_i = 1 - \frac{|x_i - x_{best}|}{M}\) |
区间型指标 | 最优区间 \([a, b]\),\(M = \max\{a - \min\{x_i\}, \max\{x_i\} - b\}\),$ _i = |
正向矩阵的标准化
去除量纲的影响
对于原来的矩阵,设标准化后的矩阵为\(Z\)
则有 \[ Z_{ij} = \frac{x_{ij}}{ \sqrt{ \sum_{i=1}^{n} x_{ij}^2 } } \] 即为:\(\frac{元素}{\sqrt{所在列元素的平方和}}\)
计算得分并归一化
最大值向量:取每一列的最大值,得到最大值向量 \(Z^+ = (Z_1^+, Z_2^+, ..., Z_m^+) = (\max\{z_{11}, z_{21}, ..., z_{n1}\}, ..., \max\{z_{1m}, z_{2m}, ..., z_{nm}\})\)
同理有最小值向量\(Z^-\)
得到第i个对象与理想解距离\(D_i^+\),与负理想解距离\(D_i^-\)
得分:\(S_i = \frac{D_i^-}{D_i^+ + D_i^-}\)
贴近度(将得分归一化):\(S_i'=\frac{S_i}{\Sigma S_i} \times 100\%\)
python代码
1 |
|
TOPSIS法模型
http://example.com/2025/07/26/TOPSIS法/