目录
本文章内容参考:
一. 概念
二. 特点和适用范围
三. 实现步骤
四. 代码实现
本文章内容参考:
TOPSIS法模型讲解(附matlab和python代码) 【数学建模快速入门】数模加油站 江北_哔哩哔哩_bilibili
一. 概念
TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)法是一种多准则决策分析方法,用于从有限的备选方案中选择最佳方案。该方法的核心思想是通过比较各备选方案与理想解和负理想解的距离,来评价和排序各方案的优劣。
理想解 :设想的最优的解(方案),它的各个属性值都达到各备选方案中的最好的值;
负理想解 :设想的最劣的解(方案),它的各个属性值都达到各备选方案中的最坏的值。
方案排序的规则是把各备选方案与理想解和负理想解做比较,若其中有一个方案最接近理想解,而同时又远离负理想解,则该方案是备选方案中最好的方案。TOPSIS通过最接近理想解且最远离负理想解来确定最优选择。
二. 特点和适用范围
适用于多准则评价场景,可以根据实际需要赋予各准则不同的权重,增强方法的灵活性。在市场研究中用于分析和评估市场竞争力、客户满意度等,通过多个评价指标进行比较。
三. 实现步骤
1. 原始矩阵正向化
矩阵正向化的过程就是把后三种指标类型通过数值转换,转化极大型指标的指标特点,也即其值越大越好。
转化方式如下公式:
上面带个~的值的是原始矩阵正向化后指标转换后对应的值,极大型指标无需转换。
一个转换过程的例子如下(其中颜值是极大型指标无需转换,脾气是极小型指标,身高是中间型指标,体重是区间型指标):
2. 正向化矩阵标准化
标准化的目的是为了消除不同指标的量纲影响,仅保留指标的基本特征,使得所有特征具有相同的权重。这样在计算距离(如欧氏距离)或相似性时,不会因为某个特征的数值范围过大而主导计算结果。
对其标准化的矩阵记为 R ,则 R 中的每一个元素为:
上文提到标准化的目的是为了让所有特征先具有相同的权重,但在实际情况中,不同的指标对结果的影响程度必然是有所差异的,所有要建立更加符合现实情况的模型,我们还需要将标准化后的矩阵再给不同指标加上不同的权重,权重也有不同的计算方法,采用的权重确定方法有层次分析法、熵权法、Delphi法、对数最小二乘法等。
下图是正向化矩阵标准化的过程(没有加权重):
3. 距离计算
表示方案 与理想解的距离。理想解是指在所有评价指标上都最优的假想解。
表示理想解在第 个评价指标下该指标的最大值。
表示加权标准化决策矩阵中的元素,表示第 个方案在第 个评价指标下的值。
表示指标的数量
表示方案 与负理想解的距离。负理想解是指在所有评价指标上都最差的假想解。
表示理想解在第 个评价指标下该指标的最小值。
表示加权标准化决策矩阵中的元素,表示第 个方案在第 个评价指标下的值。
表示指标的数量
4. 计算相对接近度并排序
表示方案 的相对接近度,表示方案 相对于理想解的优越程度。
, 含义与上一步骤相同, 值越大,说明方案 越接近理想解,越优越。
随后按 的值进行排序以选取最优解。