im钱包官方网站
数字资产服务平台

im钱包官方网站是全球著名的数字资产交易平台之一,主要面向全球用户提供比特币、莱特币、以太币等数字资产的币币和衍生品交易服务。

im加密货币钱包下载|topsis分析法

时间:2024-03-09 23:09:02

TOPSIS(逼近理想解)算法原理详解与代码实现 - 知乎

TOPSIS(逼近理想解)算法原理详解与代码实现 - 知乎首发于11111切换模式写文章登录/注册TOPSIS(逼近理想解)算法原理详解与代码实现子木​程序在公众号(不更新推文,不发广告):一个安静的资料号写在前面:个人理解:针对存在多项指标,多个方案的方案评价分析方法,也就是根据已存在的一份数据,判断数据中各个方案的优劣。中心思想是首先确定各项指标的最优理想值(正理想值)和最劣理想值(负理想解),所谓正理想值是一设想的最好值(方案),它的的各个属性值都达到各候选方案中最好的值,而负理想解是另一设想的最坏的值(方案),然后求出各个方案与正理想值和负理想值之间的加权欧氏距离,由此得出各方案与最优方案的接近程度,作为评价方案的优劣标准,最后得到各个方案的优劣值。目录一、TOPSIS算法1.1 TOPSIS算法的原理1.2 TOPSIS算法的实现二、数据预处理2.1 数据正向化处理2.1.1对于极小型指标的正向化处理2.1.2 对于中间型指标的正向化处理2.1.3对于区间型指标的正向化处理2.2数据标准化处理三、TOPSIS算法实现3.1最优解与最劣解计算3.2 TOPSIS评分计算四、TOPSIS算法总结4.1 TOPSIS算法实现步骤五、TOPSIS算法示例与扩展5.1 TOPSIS算法示例5.2 TOPSIS算法扩展六、程序源码如有专业问题或者需要仿真可以点下面付费咨询链接。一、TOPSIS算法1.1 TOPSIS算法的原理TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。为了对众多方案给出一个排序,在给出所有方案之后,可以根据这些数据,构造出一个所有方案组成的系统中的理想最优解和最劣解。而TOPSIS的想法就是,通过一定的计算,评估方案系统中任何一个方案距离理想最优解和最劣解的综合距离。如果一个方案距离理想最优解越近,距离最劣解越远,我们就有理由认为这个方案更好。那理想最优解和最劣解又是什么呢?很简单,理想最优解就是该理想最优方案的各指标值都取到系统中评价指标的最优值,最劣解就是该理想最劣方案的各指标值都取到系统中评价指标的最劣值。理想最优解中的数据都是各方案中的数据,而不要选择方案中没有的数据,理想最劣解同理。如何衡量某一个方案与理想最优解和最劣解的综合距离呢?TOPSIS基本思想是用下面这个表达式进行衡量:\frac{某一方案-最劣解}{理想最优解-最劣解} 可以发现,如果方案取到了理想最优解,其表达式取值为1;如果方案取到了理想最劣解,其表达式取值为0。我们便可以用这个表达式来衡量系统中某一个方案距离理想最优解和最劣解的综合距离,也直接用它给方案进行打分。当然这个公式只是一个基本的思路,实际上,为了更准确与合理,会对该公式进行优化。1.2 TOPSIS算法的实现在了解TOPSIS算法的基本思想后就是对相应参数的计算了,从上面的描述可以知道,除了要对该公式进行改进之外,因为涉及到数据之间的比较,还需要对方案数据进行处理,消除量纲以及范围太大带来的一系列问题。二、数据预处理2.1 数据正向化处理在处理数据时,有些指标的数据越大越好,有些则是越小越好,有些又是中间某个值或者某段区间最好。我们可以对其进行“正向化处理”,使指标都可以像考试分数那样,越大越好。将指标分为四类,如下表所示。四类指标类型正向化处理,就是将上述的四种指标数据进行处理,将其全部转化为极大型指标数据,这样我们计算时问题就少一点,码代码时也更加统一。2.1.1 对于极小型指标的正向化处理例如费用,我们可以用​将其转化为极大型,如果所有元素都为正数,也可以使用2.1.2 对于中间型指标的正向化处理如果其最佳数值是 x_{best} ,我们可以取 M=max\left\{ |x_{i}-x_{best}| \right\} ,之后按照转化。PH值正向化处理2.1.3 对于区间型指标的正向化处理对于区间型指标,如果其最佳区间是[a,b],我们取M=max\left\{ a-min\left\{ x_{i} \right\}, max\left\{ x_{i} \right\}-b\right\},之后按照转化,示例如下。区间型指标正向化处理至此,已将所有的数据都转化为极大型数据了。2.2 数据标准化处理为了消除不同的数据指标量纲的影响,我们还有必要对已经正向化的矩阵进行标准化。在概率统计中,标准化的方法一般是 \frac{X-EX}{\sqrt{DX}} ,不过这里我们不采用。记标准化后的矩阵为Z,其中 z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^{n}{x_{ij}^{2}}}} ,也就是 \frac{每一个元素}{\sqrt{其所在列的元素的平方和}} 。对数据进行了相应的处理后,可以用向量z_{i}来表达第i个方案。假设有n个待评价的方案,m个指标,此时 z_{i}=[z_{i1},z_{i2},...,z_{im}] 。由这n个向量构成的矩阵也就是我们的标准化矩阵Z了。经过了正向化处理和标准化处理的评分矩阵Z,里面的数据全部是极大型数据。三、TOPSIS算法实现3.1 最优解与最劣解计算经过了正向化处理和标准化处理的评分矩阵Z,里面的数据全部是极大型数据。我们就可以从中取出理想最优解和最劣解。因此我们取出每个指标,即每一列中最大的数,构成理想最优解向量,即同理,取每一列中最小的数计算理想最劣解向量:z^{+}就是 z_{max} , z^{-} 就是 z_{min} 。在得到理想最优解和理想最劣解的基础上就能计算每个方案的评分了。根据上面的距离评分公式:对其进行变型,也就是:变型的目的是为了使用欧几里得距离来衡量两个方案的距离,变形前后分母的计算结果其实是不同的(因为这里zi是一个向量)。这样更能体现出是综合距离。否则所有方案计算得分时分母都是相同的,相当于只衡量了分子,也就是距离最劣解的距离。3.2 TOPSIS评分计算于是计算距离评分:对于第i个方案zi,我们计算它与最优解的距离:与最劣解的距离:定义第i个方案的评分为Si:也就是前面提到的综合距离。0\leq S_{i} \leq 1,且 d_{i}^{+} 越小,也就是该方案与最优解的距离越小时,S_{i} 越大;相应的,d_{i}^{-}越小,也就是该方案与最劣解的距离越小时, S_{i} 越小。 为同时兼顾了该方案与最优解与最劣解的距离的评分。这个时候我们就有了每个方案的分数了,按分数排排序,就知道哪个方案比较好哪个方案比较差。四、TOPSIS算法总结4.1 TOPSIS算法实现步骤1.将原始数据矩阵正向化。也就是将那些极小性指标,中间型指标,区间型指标对应的数据全部化成极大型指标,方便统一计算和处理。2.将正向化后的矩阵标准化。也就是通过标准化消除量纲的影响。3.计算每个方案各自与最优解和最劣解的距离:与最优解的距离:与最劣解的距离:4.根据最优解与最劣解计算得分并排序五、TOPSIS算法示例5.1 TOPSIS算法示例对一个需要根据学生智商和情商进行排名的数据:原始数据矩阵如下对其进行正向化:对其进行标准化:计算与最优解和最劣解的距离:最后计算得分给出排名:这个例子告诉我们,成绩很重要,但是情商更重要。小王虽然只考了60分,但也及格了,而且他从不与人争吵,所以我们可以给他一个最好的评价。5.2 TOPSIS算法扩展从上面计算各自与最优解和最劣解的距离时,我们看到,每一项指标的权重是一样的。在实际问题中,不同的指标重要程度可能是不一样的。例如评奖学金的时候,成绩往往是最重要的,之后还有参与活动分,志愿服务分等等,他们的权重又低一点。因此,在实际的应用中,我们也可以给指标进行赋权,将权重放到计算距离的公式中。考虑权重后,不同指标对最后的影响不一样,考虑权重的评价往往是实际生活中很常见的一种评价方式。关于权重的选取也有不同的方法,比如层次分析法(主观给出)、熵权法等等。六、程序源码TOPSIS.m程序clear all

clc

%% 导入数据

% (1)在工作区右键,点击新建(Ctrl+N),输入变量名称为X

% (2)双击进入X,输入或拷贝数据到X

% (3)关掉这个窗口,点击X变量,右键另存为,保存为mat文件

% (4)注意,代码和数据要放在同一个目录下哦,且Matlab的当前文件夹也要是这个目录。

load data_water_quality.mat

%% 数据预处理_正向化

[n,m] = size(X);

disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])

Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']);

if Judge == 1

Position = input('请输入需要正向化处理的指标所在的列,例如[2,3,6]: '); %[2,3,4]

disp('请输入需要处理的这些列的指标类型(1:极小型, 2:中间型, 3:区间型) ')

Type = input('例如[1,3,2]: '); %[2,1,3]

% 注意,Position和Type是两个同维度的行向量

for i = 1 : size(Position,2)%对每一列进行正向化处理

X(:,Position(i)) = Positivization(X(:,Position(i)),Type(i),Position(i));

% 第一个参数是要正向化处理的那一列向量 X(:,Position(i))

% 第二个参数是对应的这一列的指标类型(1:极小型, 2:中间型, 3:区间型)

% 第三个参数是告诉函数我们正在处理的是原始矩阵中的哪一列

% 返回值返回正向化之后的指标

end

disp('正向化后的矩阵 X = ')

disp(X)

end

%% 数据预处理_标准化

Z = X ./ repmat(sum(X.*X) .^ 0.5, n, 1);

disp('标准化矩阵 Z = ')

disp(Z)

%% 指标权重赋值

disp("请输入是否需要增加权重向量,需要输入1,不需要输入0")

Judge = input('请输入是否需要增加权重: ');

if Judge == 1

disp(['有多少个指标就输入多少个权重数(权重和为1),如[0.25,0.25,0.5]']);

weigh = input(['请输入输入' num2str(m) '个权重: ']);

if abs(sum(weigh) - 1)<0.000001 && size(weigh,1) == 1 && size(weigh,2) == m % 这里要注意浮点数的运算是不精准的。

else

weigh = input('你输入的有误,请重新输入权重行向量: ');

end

else

weigh = ones(1,m) ./ m ; %如果不需要加权重就默认权重都相同,即都为1/m

end

%% 计算与最大值的距离和最小值的距离,并算出得分

D_P = sum([(Z - repmat(max(Z),n,1)) .^ 2 ] .* repmat(weigh,n,1) ,2) .^ 0.5; % D+ 与最大值的距离向量

D_N = sum([(Z - repmat(min(Z),n,1)) .^ 2 ] .* repmat(weigh,n,1) ,2) .^ 0.5; % D- 与最小值的距离向量

S = D_N ./ (D_P+D_N); % 未归一化的得分

disp('最后的得分为:')

stand_S = S / sum(S)% 归一化的得分

[sorted_S,index] = sort(stand_S ,'descend')%对得分进行排序并返回原来的位置

plot(sorted_S,'r-o')

xmin=1;xmax = size(sorted_S,1);

ymin = 0;ymax = max(sorted_S)+min(sorted_S);

axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间

grid on

xlabel('方案');ylabel('分数');%坐标轴表示对bai象标签

title('TOPSIS算法最终评分排序')正向化处理函数Positivization.m程序function [posit_x] = Positivization(x,type,i)

% 输入变量有三个:

% x:需要正向化处理的指标对应的原始列向量

% type: 指标的类型(1:极小型, 2:中间型, 3:区间型)

% i: 正在处理的是原始矩阵中的哪一列

% 输出变量posit_x表示:正向化后的列向量

if type == 1 %极小型

disp(['第' num2str(i) '列是极小型,正在正向化'] )

posit_x = Min2Max(x); %调用Min2Max函数来正向化

disp(['第' num2str(i) '列极小型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

elseif type == 2 %中间型

disp(['第' num2str(i) '列是中间型'] )

best = input('请输入最佳的那一个值(中间的那个值): ');

posit_x = Mid2Max(x,best);

disp(['第' num2str(i) '列中间型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

elseif type == 3 %区间型

disp(['第' num2str(i) '列是区间型'] )

a = input('请输入区间的下界: ');

b = input('请输入区间的上界: ');

posit_x = Inter2Max(x,a,b);

disp(['第' num2str(i) '列区间型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

else

disp('没有这种类型的指标,请检查Type向量中是否有除了1、2、3之外的其他值')

end

end以下面这个例子为例:首先导入数据,然后运行程序,结果如下:编辑于 2022-04-18 21:54排序算法人工智能算法决策理论​赞同 316​​14 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录1111111

综合评价之TOPSIS模型 - 知乎

综合评价之TOPSIS模型 - 知乎首发于机器学习养成记切换模式写文章登录/注册综合评价之TOPSIS模型文武算法工程师一枚原文:综合评价之TOPSIS模型导读:在之前的文章里我们介绍了综合评价中的熵权法(未看请戳 综合评价之熵权法),可以帮助我们在实际应用中解决如何客观确定指标权重的问题。今天继续来介绍另一种客观综合评价方法——TOPSIS模型,并且TOPSIS可以与熵权法组合使用。1、TOPSIS基本概念TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )模型中文叫做“逼近理想解排序方法”,是根据评价对象与理想化目标的接近程度进行排序的方法,是一种距离综合评价方法。基本思路是通过假定正、负理想解,测算各样本与正、负理想解的距离,得到其与理想方案的相对贴近度(即距离正理想解越近同时距离负理想解越远),进行各评价对象的优劣排序。具体步骤及概念如下:step 1: 指标同向化、标准化并得到权重。这部分与熵权法结合,通过熵权法得到权重,避免主观因素影响,得到权重向量W及标准化矩阵P。具体内容可参照综合评价之熵权法,这里不再赘述。step 2 : 得到加权后的规范化矩阵Z。Z由P与W相乘后得到。step 3 : 确定正、负理想解。正理想解指各指标都达到样本中最好的值,负理想解指各指标都为样本中最差的值。step 4 : 计算各样本距离正、负理想解的距离。step 5 : 计算各评价对象与最优方案的贴近程度。正其中的取值范围为[0,1],越接近1表明样本评分越好。2、Python实现这里使用综合评价之熵权法中的测试数据作为演示。数据中共有4个变量,2036条样本,下面就开始用基于熵权法的TOPSIS计算样本得分。‍import pandas as pd

import numpy as np

#逆向指标标准化

def normalization1(data):

_range = np.max(data) - np.min(data)

return (data - np.min(data)) / _range

#正向指标标准化

def normalization2(data):

_range = np.max(data) - np.min(data)

return (np.max(data) - data) / _range

#熵权法计算权重

def entropyWeight(data):

P = np.array(data)

# 计算熵值

E = np.nansum(-P * np.log(P) / np.log(len(data)), axis=0)

# 计算权系数

return (1 - E) / (1 - E).sum()

def topsis(data, weight=None):

# 权重

weight = entropyWeight(data) if weight is None else np.array(weight)

# 最优最劣方案

Z = pd.DataFrame([(data*weight.T).min(), (data*weight.T).max()], index=['负理想解', '正理想解'])

#Z = pd.DataFrame([data.min(), data.max()], index=['负理想解', '正理想解'])

# 距离

Result = data.copy()

#Result['正理想解'] = np.sqrt(((data - Z.loc['正理想解']) ** 2 * weight).sum(axis=1))

#Result['负理想解'] = np.sqrt(((data - Z.loc['负理想解']) ** 2 * weight).sum(axis=1))

Result['正理想解'] = np.sqrt(((weight*data - Z.loc['正理想解']) ** 2 ).sum(axis=1))

Result['负理想解'] = np.sqrt(((weight*data - Z.loc['负理想解']) ** 2 ).sum(axis=1))

# 综合得分指数

Result['综合得分指数'] = Result['负理想解'] / (Result['负理想解'] + Result['正理想解'])

Result['排序'] = Result.rank(ascending=False)['综合得分指数']

return Result, Z, weight

if __name__=='__main__':

data = pd.read_csv('testdata.csv',sep = ',',encoding='gbk',header=None)

data1 = data.copy()

data1[0] = normalization1(data1[0])

data1[1] = normalization1(data1[1])

data1[2] = normalization1(data1[2])

data1[3] = normalization1(data1[3])

[result,z1,weight] = topsis(data1)最终得到的评分结果(部分)、正负理想解和权重如下:往期推荐:XGBoost(二):R语言实现疫情下,你还好吗R语言爬虫与文本分析图片相似度识别:pHash算法编辑于 2021-03-28 20:40大数据分析算法数学模型​赞同 84​​6 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录机器学习养

TOPSIS法_百度百科

IS法_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心TOPSIS法播报讨论上传视频C.L.Hwang和K.Yoon于1981年提出的方法收藏查看我的收藏0有用+10TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。中文名TOPSIS法外文名Technique for Order Preference by Similarity to an Ideal Solution提出人C.L.Hwang和K.Yoon提出时间1981年目录1简介2原理3涵义简介播报编辑TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性即可。TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。原理播报编辑其基本原理,是通过检测评价对象与最优解、最劣解的距离来进行排序,若评价对象最靠近最优解同时又最远离最劣解,则为最好;否则不为最优。其中最优解的各指标值都达到各评价指标的最优值。最劣解的各指标值都达到各评价指标的最差值。涵义播报编辑TOPSIS法其中“理想解”和“负理想解”是TOPSIS法的两个基本概念。所谓理想解是一设想的最优的解(方案),它的各个属性值都达到各备选方案中的最好的值;而负理想解是一设想的最劣的解(方案),它的各个属性值都达到各备选方案中的最坏的值。方案排序的规则是把各备选方案与理想解和负理想解做比较,若其中有一个方案最接近理想解,而同时又远离负理想解,则该方案是备选方案中最好的方案。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

评价类模型之优劣解距离法(TOPSIS) - 知乎

评价类模型之优劣解距离法(TOPSIS) - 知乎首发于数学建模常用模型切换模式写文章登录/注册评价类模型之优劣解距离法(TOPSIS)SPSSPRO​已认证账号当你得知自己这次期末考试的成绩为 96 分,乍一看觉得分数不错,但是问了一圈之后发现这次的题比较简单,大家普遍都得了高分,那你如何知道自己的成绩在班级中到底是好还是不好呢?按照常理我们通常会直接对成绩进行一个排名然后观察自己的分数在班级的哪个水平,但这种评价方法只能给出一个方向的情况,只要保证排名不变,即使随意修改成绩,评分也不会发生改变。而优劣解距离法(TOPSIS)的原理就是找出班上最高分和最低分,然后计算自己的分数和这两个分数之间的差距,从而得到自己分数好坏的一个客观评价。距离最高分越近,那么评价情况越好,距离最低分越近,那么评价情况越糟。1 优劣解距离法(TOPSIS)简介1.1 概念TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。基本过程为基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行1.2 适用范围评价对象得分,且各个指标值已知。1.3 模型基本步骤1.31 将原始数据矩阵正向化。也就是将那些极小型指标,中间型指标,区间型指标对应的数据全部化成极大型指标,方便统一计算和处理。1.32 将正向化后的矩阵标准化。也就是通过标准化消除量纲的影响。1.33 计算每个方案各自与最优解和最劣解的距离1.34 根据最优解与最劣解计算得分并排序2 案例介绍及操作为了客观地评价各风景地点的性价比,根据风景、人文、拥挤程度、票价等因素对各风景地点进行评估。风景和人文越高越好,这样的指标称为极大型指标(效益型指标)拥挤程度和票价越少越好,这样的指标称为极小型指标(成本型指标)2.1 原始数据同趋势化(一般选择指标正向化)对于极小型指标:\begin{split} & \quad&x'=M-x \end{split}对于中间型指标:x'=\left\{ \begin{split} &2\frac{x-m}{M-m},\qquad &m\le x\le\frac12(M+m)\\ &2\frac{M-x}{M-m},&\frac12(M+m)\le x\le M \end{split} \right.对于区间型指标:x'=\left\{ \begin{split} &1-\frac{a-x}{a-a^*}\qquad &x\lt a \\ &1&a\le x\le b\\ &1-\frac{x-b}{b^*-b}&x\gt b \end{split} \right.将极小型指标拥挤程度和票价正向化后得:2.2 构建标准化矩阵对该元素除以所在列的平方和再开根号:经过标准化后得到:例如A景区的风景该指标,我们使用公式 Z_{11}=\frac{4}{\sqrt{4^{2}+7^{2}+5^{2}+6^{2}+8^{2}}}=0.29 2.3 计算各评价指标与最优及最劣向量之间的差距定义第i个评价对象与最大值的距离:定义第i个评价对象与最小值的距离:其中w_j 为第j个属性的权重(重要程度),指标权重可以使用熵权法或者层次分析法等方法确认。D+和D-值的实际意义:评价对象与最优或最劣解的距离,值越大说明距离越远,研究对象D+值越大,说明与最优解距离越远;D-值越大,说明与最劣解距离越远。最理解的研究对象是D+值越小同时D-值越大。对于上述数据,最大值【0.58,0.68,0.77,0.73】,最小值【0.29,0.14,0,0】,得到如下数据:例如计算A景区的正理想解距离(D+):D_{A}^{+}=\sqrt{(0.58-0.29)^{2}+(0.68-0.34)^{2}+(0.77-0.77)^{2}+(0.73-0.73)^{2}}=0.43 2.4 评价对象与最优方案的接近程度D-值相对越大,则说明该研究对象距离最劣解越远,则研究对象越好;C值越大, 表明评价对象越优由上表可知,景点 A 的综合评价最高,说明综合评估风景、人文、拥挤程度、票价后,景点 A 的性价比较高,距离负理想解相对远,距离正理想解相对近。其次是D、E、C、B。3 案例工具实现3.1 使用工具SPSSPRO—>【综合评价(优劣解距离法(TOPSIS))】3.2 案例操作Step1:新建分析;Step2:上传数据;Step3:选择对应数据打开后进行预览,确认无误后点击开始分析;step4:选择【优劣解距离法(TOPSIS)】;step5:查看对应的数据数据格式,【优劣解距离法(TOPSIS)】要求特征序列为定量变量,分为正向指标变量和负向指标变量,且正向指标变量和负向指标变量的个数之和大于等于两项。step6:设置变量权重(熵权法、不设置权重)。step7:点击【开始分析】,完成全部操作。3.3 分析结果解读以下生成的结果来源于SPSSPRO软件的分析结果导出输出结果 1:指标权重计算 ​熵权法的权重计算结果显示,风景的权重为 25.786%、人文的权重为 22.684%、拥挤程度的权重为 25.737%、票价的权重为 25.793%,其中指标权重最大值为票价(25.793%),最小值为人文(22.684%)。输出结果 2:TOPSIS 评价法计算结果 ​由上表可知,景点 A 的综合评价最高,说明综合评估风景、人文、拥挤程度、票价后,景点 A 的性价比较高,距离负理想解相对远,距离正理想解相对近。输出结果 3:中间值展示 ​正、负理想解(非距离),此两值分别代表评价指标的最大值,或者最小值(即最优解或最劣解),此两值用于计算D+或D-值使用,此两值大小并无太多意义。注:进行 TOPSIS 分析时,各个指标有着权重属性(当然通常情况并没有),那么可对应设置各个指标的权重(输入的权重值可以为相对数字,SPSSPRO 默认都会进行归一化处理让权重加和为 1),在进行 D+和 D-值计算时,SPSSPRO 会对应乘上权重值(如果没有权重则下述公式中权重值为 1),计算公式如下:对比层次分析法:层次分析法的判断矩阵是通过“专家”评分获取的,主观性强,且n不宜过大。优劣解距离法的指标评分则是现成的,且对较大的m与n同样适用。相较于层次分析法两两比较而言,优劣解距离法不易于发生混淆。4 结论Topsis法避免了数据的主观性,不需要目标函数,不用通过检验,而且能够很好的刻画多个影响指标的综合影响力度,并且对于数据分布及样本量、指标多少无严格限制,既适于小样本资料,也适于多评价单元、多指标的大系统,较为灵活、方便。但是该算法需要每个指标的数据,而对应的量化指标选取会有一定难度,同时不确定指标的选取个数为多少适宜,才能够去很好刻画指标的影响力度5 参考文献[1] Scientific Platform Serving for Statistics Professional 2021. SPSSPRO. (Version 1.0.11)[Online Application Software]. Retrieved from https://www.spsspro.com.[2] Shih H S, Shyur H J, Lee E S. An extension of TOPSIS for group decision making[J]. Mathematical & Computer Modelling, 2007, 45(7):801-813.[3] 刘浩然,汤少梁. 基于 TOPSIS 法与秩和比法的江苏省基本医疗服务均等化水平研究[J]. 中国全科医学,2016,19(7):819-823. DOI:10.3969/j.issn.1007-9572.2016.07.017.编辑于 2022-03-11 11:40spss软件数据模型权重​赞同 95​​9 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录数学建模常用模型通过案例分享快速了解数学建

TOPSIS法 - MBA智库百科

TOPSIS法 - MBA智库百科

全球专业中文经管百科,由121,994位网友共同编写而成,共计435,713个条目

查看

条目讨论编辑 收藏

简体中文繁体中文

工具箱▼

链入页面

链出更改

上传文件 特殊页面 可打印版

永久链接

TOPSIS法

用手机看条目

扫一扫,手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

TOPSIS法(Technique for Order Preferenceby Similarity to Ideal Solution,)逼近理想解排序法、理想点法

目录

1 TOPSIS法概述

2 TOPSIS法的基本原理

3 TOPSIS法的数学模型[1]

4 参考文献

[编辑]TOPSIS法概述

  TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。理想化目标(Ideal Solution)有两个,一个是肯定的理想目标(positive ideal solution)或称最优目标,一个是否定的理想目标(negative ideal solution)或称最劣目标,评价最好的对象应该是与最优目标的距离最近,而与最劣目标最远,距离的计算可采用明考斯基距离,常用的欧几里德几何距离是明考斯基距离的特殊情况。

  TOPSIS法是一种理想目标相似性的顺序选优技术,在多目标决策分析中是一种非常有效的方法。它通过归一化后的数据规范化矩阵,找出多个目标中最优目标和最劣目标(分别用理想解和反理想解表示) ,分别计算各评价目标与理想解和反理想解的距离,获得各目标与理想解的贴近度,按理想解贴近度的大小排序,以此作为评价目标优劣的依据。贴近度取值在0~1 之间,该值愈接近1,表示相应的评价目标越接近最优水平;反之,该值愈接近0,表示评价目标越接近最劣水平。该方法已经在土地利用规划、物料选择评估、项目投资、医疗卫生等众多领域得到成功的应用,明显提高了多目标决策分析的科学性、准确性和可操作性。

[编辑]TOPSIS法的基本原理

  其基本原理,是通过检测评价对象与最优解、最劣解的距离来进行排序,若评价对象最靠近最优解同时又最远离最劣解,则为最好;否则为最差。其中最优解的各指标值都达到各评价指标的最优值。最劣解的各指标值都达到各评价指标的最差值。

  TOPSIS法中“理想解”和“负理想解”是TOPSIS法的两个基本概念。所谓理想解是一设想的最优的解(方案),它的各个属性值都达到各备选方案中的最好的值;而负理想解是一设想的最劣的解(方案),它的各个属性值都达到各备选方案中的最坏的值。方案排序的规则是把各备选方案与理想解和负理想解做比较,若其中有一个方案最接近理想解,而同时又远离负理想解,则该方案是备选方案中最好的方案。

[编辑]TOPSIS法的数学模型[1]

  遇到多目标最优化问题时,通常有m 个评价目标 每个目标有n 评价指标。首先邀请相关专家对评价指标(包括定性指标和定量指标) 进行打分,然后将打分结果表示成数学矩阵形式,建立下列特征矩阵:

  

  。

  计算规范化矩阵

  对特征矩阵进行规范化处理,得到规格化向量rij ,建立关于规格化向量rij的规范化矩阵

  

  。

  构造权重规范化矩阵

  通过计算权重规格化值vij,建立关于权重规范

化值vij 的权重规范化矩阵

  。

  其中,wj是第j 个指标的权重。在基于ASP的动态联盟制造资源评估模型中,采用的权重确定方法有Delphi法、对数最小二乘法、层次分析法、熵等。

  确定理想解和反理想解

  根据权重规格化值vij来确定理想解A * 和反理想解A − :

   。

  。

  其中,J1是收益性指标集, 表示在第i个指标上的最优值; J2是损耗性指标集, 表示在第i个指标上的最劣值。收益性指标越大,对评估结果越有利;损耗性指标越小,对评估结果越有利。反之,则对评估结果不利。

  计算距离尺度

  计算距离尺度,即计算每个目标到理想解和反理想解的距离,距离尺度可以通过n维欧几里得距离来计算。目标到理想解A * 的距离为S * ,到反理想解A − 的距离为S − :

  

  

  。

  其中,与分别为第j个目标到最优目标及最劣目标的距离, vij是第i个目标第j个评价指标的权重规格化值。S * 为各评价目标与最优目标的接近程度, S * 值越小,评价目标距离理想目标越近,方案越优。

  计算理想解的贴近度C *

  。

  式中,。当时, Ai = A − ,表示该目标为最劣目标;当时, Ai = A * , 表示该目标为最优目标。在实际的多目标决策中, 最优目标和最劣目标存在的可能性很小。

  根据理想解的贴近度C * 大小进行排序

  根据C * 的值按从小到大的顺序对各评价目标进行排列。排序结果贴近度C * 值越大,该目标越优,C * 值最大的为最优评标目标。

[编辑]参考文献

↑ 李浩、罗国富、谢庆生.基于应用服务提供商的动态联盟制造资源评估模型研究

来自"https://wiki.mbalib.com/wiki/TOPSIS%E6%B3%95"

打开MBA智库App, 阅读完整内容

打开App

本条目对我有帮助202

MBA智库APP

扫一扫,下载MBA智库APP

分享到:

温馨提示

复制该内容请前往MBA智库App

立即前往App

  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目或投诉举报。

本条目相关文档

 TOPSIS法的港口物流 2页 基于TOPSIS法的客户价值评价模型 2页 基于改进TOPSIS法的企业技术选择 5页 基于属性测度的客观权TOPSIS法及应用 7页 基于TOPSIS法的辽宁省经济水平评价 2页 基于改进AHP法与TOPSIS法的第三方物流服务商选择 3页 基于改进AHP法与TOPSIS法的第三方物流服务商选择 3页 TOPSIS法在招投标评价体系中的应用 5页 TOPSIS法在招投标评价体系中的应用 5页 基于改进的TOPSIS法城乡差异度分析 4页 更多相关文档

本条目相关课程

本条目由以下用户参与贡献

Cabbage,Zfj3000,Caijing,施伟富,HEHE林,泡芙小姐,董晴晴,otf125. 页面分类: 统计方法 | 硬评价方法

评论(共5条)提示:评论内容为网友针对条目"TOPSIS法"展开的讨论,与本站观点立场无关。

222.168.41.* 在 2010年5月21日 20:07 发表

错了!

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

147.8.88.* 在 2012年3月6日 11:00 发表

不对,r是怎么计算也没写

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

HEHE林 (Talk | 贡献) 在 2012年3月6日 14:08 发表

147.8.88.* 在 2012年3月6日 11:00 发表

不对,r是怎么计算也没写

已添加r的计算公式,希望对您会有帮助!~

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

218.22.13.* 在 2012年11月12日 21:37 发表

贴近度公式有误吧,S*和S-的位置反了。

S*值越小,评价目标距离理想目标越近,方案越优的,如果按目前这个公式,S*=0时C*=0,成了最差方案了。

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

HEHE林 (Talk | 贡献) 在 2012年11月13日 11:01 发表

218.22.13.* 在 2012年11月12日 21:37 发表

贴近度公式有误吧,S*和S-的位置反了。

S*值越小,评价目标距离理想目标越近,方案越优的,如果按目前这个公式,S*=0时C*=0,成了最差方案了。

原文附有参考文献,您可以做下对比,希望对您有帮助!

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

发表评论请文明上网,理性发言并遵守有关规定。

首页

文档

百科

课堂

商学院

资讯

知识点

国际MBA

商城

企业服务

问答

首页

专题

管理

营销

经济

金融

人力资源

咨询

财务

品牌

证券

物流

贸易

商学院

法律

人物

分类索引

 

百科VIP

百科VIP会员权益

无广告阅读

免验证复制

开通/续费百科VIP

登录

消息

昵称未设置

百科VIP

未开通

收藏夹

账号安全中心

我的页面

我的贡献

我的讨论页

我的设置

退出登录

打开APP

导航

最新资讯

最新评论

最新推荐

热门推荐

编辑实验

使用帮助

创建条目

随便看看

本周推荐

最多推荐

生产线包装印刷纪梵希食品智能卡宗庆后第一性原理批发敞口头寸头寸

奶头乐理论蘑菇管理定律猴子管理法则情绪ABC理论垃圾人定律100个最流行的管理词汇破窗效应INFPSWOT分析模型21天效应

以上内容根据网友推荐自动排序生成

下载APP

此页面最后修订:11:35,2018年7月31日.

智库首页 -

百科首页 -

关于百科 -

客户端 -

人才招聘 -

广告合作 -

权利通知 -

联系我们 -

免责声明

- 友情链接

©2024 MBAlib.com, All rights reserved.

闽公网安备 35020302032707号

意见反馈

问题分类

类型

反馈内容

添加图片(选填)0/9

联系方式

取消

提交

提交成功

反馈结果请前往 MBA智库App 查看 (我的 > 帮助与反馈 > 我的反馈)

知道了

清风数学建模学习笔记——TOPSIS法(优劣解距离法)-CSDN博客

>

清风数学建模学习笔记——TOPSIS法(优劣解距离法)-CSDN博客

清风数学建模学习笔记——TOPSIS法(优劣解距离法)

Xiu Yan

已于 2023-02-09 11:49:00 修改

阅读量4.7w

收藏

1k

点赞数

186

分类专栏:

数学建模

文章标签:

数学建模

于 2021-01-08 17:33:08 首次发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43819566/article/details/112342602

版权

数学建模

专栏收录该内容

12 篇文章

717 订阅

订阅专栏

优劣解距离法

  TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。   TOPSIS 法是一种常用的 综合评价方法,其能 充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。

  那么如何利用原始数据的信息呢?在上一篇 层次分析法 中,我们提到了层次分析法的局限性,如:决策因素不能太多,数据已知的情况下不容易用数据进行准确的说明。那么TOPSIS法就是利用数据进行说明,而且也对决策因素没有限制。

文章目录

优劣解距离法一、建模步骤二、建模实现三、模型扩展 (★)四、模型总结

一、建模步骤

topsis进行建模,大致分为以下四个步骤:

将原始矩阵正向化将正向化矩阵标准化计算得分并归一化

接下来,我们根据例题讲解,并在相应出进行解释。

二、建模实现

  例:小明同宿舍共有四名同学,他们第一学期的成绩、以及与他们吵架的次数(两种因素)如下表所示,请你为这四名同学进行评分,该评分能合理的描述综合成绩的高低。

姓名成绩与他人吵架的次数小明892小王600小张741小李993

第一步:将原始矩阵正向化

在生活中,常见的指标有四种:

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

  那么,在 TOPSIS 方法中,就是要将所有指标进行统一正向化,即统一转化为极大型指标。 那么就需要极小型、中间型以及区间型的指标进行转化为极大型指标。

极小型指标 极大型指标

姓名成绩与他人吵架的次数正向化后的争吵次数小明8921小王6003小张7412小李9930指标类型极大型极小型极大型

极小型指标转换为极大型指标的公式:

m

a

x

x

max-x

max−x 如果所有的元素均为正数,那么也可以使用:

1

/

x

{1}/{x}

1/x,公式不唯一!

中间型指标 极大型指标

中间型指标: 指标值既不要太大也不要太小,取某特定值最好(如水质量评估 PH 值)。{

x

i

x_i

xi​ }是一组中间型指标序列,且最佳的数据为

x

b

e

s

t

x_{best}

xbest​,那么正向化的公式如下:

M

=

m

a

x

{

x

i

x

b

e

s

t

}

,

x

ˉ

i

=

1

x

i

x

b

e

s

t

M

M=max\lbrace|x_i-x_{best}|\rbrace,\bar x_i =1- \frac{|x_i-x_{best}|}{M}

M=max{∣xi​−xbest​∣},xˉi​=1−M∣xi​−xbest​∣​

那么: 

x

b

e

s

t

=

7

,

M

=

m

a

x

{

6

7

,

7

7

,

8

7

,

9

7

}

=

2

那么:\ x_{best}=7, M=max\lbrace |6-7|,|7-7|,|8-7|,|9-7| \rbrace = 2\\

那么: xbest​=7,M=max{∣6−7∣,∣7−7∣,∣8−7∣,∣9−7∣}=2

区间型指标 极大型指标

区间型指标: 指标值落在某个区间内最好,例如人的体温在36°~37°这个区间比较好。{

x

i

x_i

xi​}是一组区间型指标序列,且最佳的区间为

[

a

,

b

]

[a,b]

[a,b], 那么正向化的公式如下:

M

=

m

a

x

{

a

m

i

n

{

x

i

}

,

m

a

x

{

x

i

}

b

}

,

x

~

i

=

{

1

a

x

i

M

x

i

a

1

a

x

i

b

1

x

i

b

M

x

i

b

M=max\lbrace a-min\lbrace x_i \rbrace , max\lbrace x_i \rbrace-b \rbrace, \tilde x_i=\begin{cases} & \text 1-\frac{a-x_i}{M},x_i<a \\ & \text 1 \qquad\quad,a≤x_i≤b \\& \text 1-\frac{x_i-b}{M},x_i>b \end{cases}

M=max{a−min{xi​},max{xi​}−b},x~i​=⎩

⎧​​1−Ma−xi​​,xi​<a1,a≤xi​≤b1−Mxi​−b​,xi​>b​

那么:

a

=

36

,

b

=

37

,

M

=

m

a

x

{

36

35.2

,

38.4

37

}

=

1.4

那么:a=36,b=37,M=max\lbrace 36-35.2,38.4-37\rbrace=1.4

那么:a=36,b=37,M=max{36−35.2,38.4−37}=1.4

第二步:正向化矩阵标准化

标准化的目的就是消除不同量纲的影响。

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

X

=

[

x

11

x

12

x

1

m

x

21

x

22

x

2

m

x

n

1

x

n

2

x

n

m

]

X= \begin{bmatrix} 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{bmatrix}

X=

​x11​x21​⋮xn1​​x12​x22​⋮xn2​​⋯⋯⋱⋯​x1m​x2m​⋮xnm​​

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

z

i

j

=

x

i

j

i

=

1

n

x

i

j

2

z_{ij}=\frac{x_{ij}}{\sqrt{\displaystyle\sum_{i=1}^{n}x_{ij}^2}}

zij​=i=1∑n​xij2​

​xij​​

即(每一个元素/根号下所在列元素的平方和) 得到标准化矩阵Z:

Z

=

[

z

11

z

12

z

1

m

z

21

z

22

z

2

m

z

n

1

z

n

2

z

n

m

]

Z= \begin{bmatrix} 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{bmatrix}

Z=

​z11​z21​⋮zn1​​z12​z22​⋮zn2​​⋯⋯⋱⋯​z1m​z2m​⋮znm​​

注意:标准化的方法不唯一,但目的都是为了去量纲。

那么对题目中的矩阵进行处理:

[

89

1

60

3

74

2

99

0

]

经过标准化就变成了

[

0.5437

0.2673

0.3665

0.8018

0.4520

0.5345

0.6048

0

]

\begin{bmatrix} 89 & 1 \\ 60 & 3 \\ 74 & 2 \\ 99 & 0 \end{bmatrix} 经过标准化就变成了 \begin{bmatrix} 0.5437 & 0.2673 \\ 0.3665& 0.8018 \\ 0.4520 & 0.5345 \\ 0.6048& 0 \end{bmatrix}

​89607499​1320​

​经过标准化就变成了

​0.54370.36650.45200.6048​0.26730.80180.53450​

第三步:计算得分并归一化

定义最大值:

Z

+

=

(

m

a

x

{

z

11

,

z

21

,

,

z

n

1

}

,

m

a

x

{

z

12

,

z

22

,

,

z

n

2

}

,

,

m

a

x

{

z

1

m

,

z

2

m

,

,

z

n

m

}

)

Z^+=(max\lbrace z_{11},z_{21},\cdots,z_{n1} \rbrace,max\lbrace z_{12},z_{22},\cdots,z_{n2} \rbrace,\cdots,max\lbrace z_{1m},z_{2m},\cdots,z_{nm} \rbrace)

Z+=(max{z11​,z21​,⋯,zn1​},max{z12​,z22​,⋯,zn2​},⋯,max{z1m​,z2m​,⋯,znm​})

定义最小值:

Z

=

(

m

i

n

{

z

11

,

z

21

,

,

z

n

1

}

,

m

i

n

{

z

12

,

z

22

,

,

z

n

2

}

,

,

m

i

n

{

z

1

m

,

z

2

m

,

,

z

n

m

}

)

Z^-=(min\lbrace z_{11},z_{21},\cdots,z_{n1} \rbrace,min\lbrace z_{12},z_{22},\cdots,z_{n2} \rbrace,\cdots,min\lbrace z_{1m},z_{2m},\cdots,z_{nm} \rbrace)

Z−=(min{z11​,z21​,⋯,zn1​},min{z12​,z22​,⋯,zn2​},⋯,min{z1m​,z2m​,⋯,znm​})

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

D

i

+

=

j

=

1

m

(

Z

j

+

z

i

j

)

2

D_i^+=\sqrt{\displaystyle\sum_{j=1}^{m}(Z_j^+-z_{ij})^2}

Di+​=j=1∑m​(Zj+​−zij​)2

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

D

i

=

j

=

1

m

(

Z

j

z

i

j

)

2

D_i^-=\sqrt{\displaystyle\sum_{j=1}^{m}(Z_j^--z_{ij})^2}

Di−​=j=1∑m​(Zj−​−zij​)2

那么,我们可以计算得出第 i( i = 1,2,…,n) 个评价对象未归一化的得分:

S

i

=

D

i

D

i

+

+

D

i

S_i=\frac{D_i^-}{D_i^++D_i^-}

Si​=Di+​+Di−​Di−​​

很明显 0≤Si≤1,且 Si 越大 Di+ 越小,即越接近最大值。

那么对题目进行计算得分:

上一步标准化后的矩阵如下表:

最大值:[0.6048, 0.8018],最小值:[0.3665, 0]

未归一化的得分:

S

i

=

D

i

D

i

+

+

D

i

S_i=\frac{D_i^-}{D_i^++D_i^-}

Si​=Di+​+Di−​Di−​​

得分结果如下:

姓名D+D-未归一化得分归一化后的得分排名小明0.53800.32060.37340.18573小王0.23820.80180.77090.38341小张0.30780.54130.63750.31702小李0.80180.23820.22910.11394

三、模型扩展 (★)

  本道题目中默认了各项指标的权重相同,但在实际的评价中指标都是有各自的权重,因此应该用权重对公式进行修正,修正后的公式如下,ω 代表权重。

D

i

+

=

j

=

1

m

ω

j

(

Z

j

+

z

i

j

)

2

D

i

=

j

=

1

m

ω

j

(

Z

j

z

i

j

)

2

D_i^+=\sqrt{\displaystyle\sum_{j=1}^{m}\omega_j(Z_j^+-z_{ij})^2},D_i^-=\sqrt{\displaystyle\sum_{j=1}^{m}\omega_j(Z_j^--z_{ij})^2}

Di+​=j=1∑m​ωj​(Zj+​−zij​)2

​,Di−​=j=1∑m​ωj​(Zj−​−zij​)2

ω 可以由偏主观的层次分析法得出,也可由偏客观的熵权法得出,但是我建议使用综合主观与客观的权重,因为其更具有才更具说服力!

四、模型总结

  TOPSIS 法别名优劣解距离法,其主要利用数据的信息,精确的反应评价方案之间的优劣差距。TOPSIS 法多用于解决多指标的决策性问题,其实现原理为通过计算各备选方案与正负理想解之间的相对距离来进行排序并做出选择。其主要步骤如下:

将原始矩阵正向化。(为了统一指标,方便后面计算,因此将指标统一为极大型指标)将正向化矩阵标准化。(消除量纲的影响)计算得分并归一化。(统计各指标的最大值,与最小值,并计算得分)

公式:

S

i

=

D

i

D

i

+

+

D

i

Si = \frac{D_i^-}{D_i^++D_i^-}

Si=Di+​+Di−​Di−​​,实际上是

x

m

i

n

m

a

x

m

i

n

\frac{x-min}{max-min}

max−minx−min​的变形:

x

m

i

n

m

a

x

m

i

n

x

m

i

n

(

m

a

x

x

)

+

(

x

m

i

n

)

x

与最小值的距离

x

与最大值的距离

+

x

与最小值的距离

\frac{x-min}{max-min}→\frac{x-min}{(max-x)+(x-min)} → \color{red}{\frac{x与最小值的距离}{x与最大值的距离+x与最小值的距离}}

max−minx−min​→(max−x)+(x−min)x−min​→x与最大值的距离+x与最小值的距离x与最小值的距离​

还有一点,

D

i

+

D_i^+

Di+​与

D

i

D_i^-

Di−​ 实际上是 欧氏距离,TOPSIS就是求得当前评价对象各指标与正负理想解相对距离,来最终做出评价的!

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:https://www.bilibili.com/video/BV1DW411s7wi

关注博主即可阅读全文

优惠劵

Xiu Yan

关注

关注

186

点赞

1085

收藏

觉得还不错?

一键收藏

打赏

知道了

17

评论

清风数学建模学习笔记——TOPSIS法(优劣解距离法)

优劣解距离法  TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。  TOPSIS 法是一种常用的 综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。...

复制链接

扫一扫

专栏目录

topsis加入了权重的代码_TOPSIS优劣距离法_

10-02

TOPSIS加了权重的代码,可在MATLAB中实现,亲测可用

topsis优劣解距离法MATLAB代码实现

08-14

数学建模优劣解距离法的案例程序

17 条评论

您还未登录,请先

登录

后发表或查看评论

数学建模之:TOPSIS综合评价模型python代码

qq_52897257的博客

04-12

3825

数学建模之TOPSIS综合评价模型python代码

Python实现TOPSIS分析法(优劣解距离法)

XHHP

07-28

2万+

文章目录(1)、题目(2)、读取Excel表中的数据(3)、将不同的指标转换为极大型指标(4)、正向化矩阵标准化(5)、计算得分并归一化(6)、主函数(7)、完整代码部分(8)、计算结果

(1)、题目

题目:评价下表中20条河流的水质情况。

注:含氧量越高越好(极大型指标),PH值越接近7越好(中间型指标),细菌总数越少越好(极小型指标),植物性营养物量介于10~20之间最佳,超过20或低于10...

优劣解距离法TOPSIS模型和代码

qq_62024730的博客

06-17

1156

TOPSIS解决了层次分析法的局限性,能充分利用原始数据,并可以和层次分析法一同结合全面的完成对一个问题的评价性

【数学建模】2 TOPSIS优劣解距离法

BetterBench的博客

11-09

3044

目录1 简介2 引入的目的3 简单例子引入Topsis法3.1 问题-单个指标(1)解决的思路(最简单的)(2)改进思路(3)解释构造评分公式3.2 拓展问题-增加指标个数(1)问题(2)指标正向化(3)标准化处理(4)计算每个对象的综合得分4 算法步骤4.1 第一步-将原始矩阵正向化4.2 第二步-正向化矩阵标准化7 源码和数据下载

1 简介

Topsis法(Technique for Order Preference by Similarity to Ideal solution)可翻译为逼近理想解排序

数学建模-TOPSIS法

qq_60678226的博客

06-10

1万+

TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。...

第二讲 综合评价分析—TOPSIS法

qq_63767210的博客

07-25

1万+

综合评价分析—TOPSIS法步骤详解

评价模型:TOPSIS法(理想解法)

m0_64087341的博客

10-05

3924

数学建模之TOPSIS(理想解法)

综合评价与决策方法(一)——TOPSIS法的原理

weixin_45813658的博客

08-20

2万+

综合评价与决策方法综述理想解法

MATLAB实现基于熵权法对Topsis模型的修正【数学建模、科学计算算法】.zip

04-14

MATLAB实现各类算法,适用于数学建模、科学计算、科研数据分析等场景。

项目代码可直接编译运行~

一种基于对象-语言值决策矩阵的模糊语言TOPSIS决策方法

01-12

模糊语言决策方法是决策领域的热点研究内容之一.比较现有模糊语言决策方法研究中广泛使用的决策矩阵,提出对象-语言值决策矩阵表示决策专家根据决策属性给出的评价语言信息,分析对象-语言值决策矩阵在区分明晰、部分未知及犹豫的模糊语言决策问题中的优势;借鉴经典TOPSIS决策方法及向量运算,给出基于对象-语言值决策矩阵的正负理想解确定方法以及备选对象与正负理想解的伪距离和贴近度计算方法,分析伪距离和贴近度的相关性质;基于2-元组语言表示模型,提出基于对象-语言值决策矩阵的模糊语言TOPSIS决策方法.通过实例分析,并与已有3种重要的模糊语言决策方法进行比较,比较结果说明所提出的决策方法可以克服已有决策方法的不足, 是一种可选的模糊语言决策方法.

数学建模国赛获奖论文分类整理:优劣解距离法topsis

05-21

数学建模国赛获奖论文整理,使用优劣解距离法topsis做的论文集合,可以系统的学习优劣解距离法topsis在数学建模中的应用,非常有用。

学习笔记:TOPSIS法(优劣解距离法)

02-27

学习笔记:TOPSIS法(优劣解距离法)

TOPSIS法(优劣解距离法)例子源码和拓展资料

11-09

该文件是全国大学生数学建模知识中的一个算法Topsis优劣解距离法的源码和建模赛题拓展资料,具体的讲解内容可以参考本人博客【优劣解距离法】

topsis_matlab优劣解距离法_topsis_

10-01

matlab程序,topsis工具箱 ,本代码仅供参考,非本人原创

清风数学建模学习笔记——层次分析法(AHP)

热门推荐

秀岩的博客

01-06

11万+

层次分析法

  层次分析法(analytic hierarchy process),简称AHP。是建模比赛中比较基础的模型之一,其主要解决评价类的问题。如选择哪种方案最好,哪位员工表现最好等)。

  它是一个较为 主观 的评价方法,其在赋权得到权重向量的时候,主观因素占比很大。因而在建模比赛中,常常与客观方法得到的权重向量方法进行综合,而得出一个综合的权重向量,进行后续操作。

一、模型介绍

  

...

清风数学建模学习笔记——熵权法(客观赋权法)

秀岩的博客

01-11

4万+

熵权法

  熵权法是一种客观赋权方法。(客观 = 数据本身就可以告诉我们权重)

  依据的原理:指标的变异程度越小,所反映的信息量也越少,其对应的权值也应该越低。

一、方法介绍

  熵权法就是根据一项指标的变化程度来分配权重的,举个例子:小张和小王是两个高中生,小张学习好回回期末考满分,小王学习不好考试常常不及格。在一次考试中,小张还是考了满分,而小王也考了满分。那就很不一样了,小王这里包含的信息就非常大,所对应的权重也就高一些。

  上面的小例子告诉我们:越有可能发生的事情,信息量越少。越不可能发生的事

topsis(优劣解距离法

最新发布

07-28

Topsis(优劣解距离法)是一种多属性决策分析方法,用于评估多个候选方案的综合性能。它基于两个关键概念:优劣解距离和相对接近度。

首先,需要确定每个候选方案的属性值。然后,通过对属性值进行标准化,将属性值归一化到一个统一的范围内。

接下来,计算每个候选方案与最佳和最差方案之间的欧氏距离。欧氏距离是根据各个属性值之间的差异度量的。

然后,计算每个候选方案与最佳方案之间的相对接近度。相对接近度是基于候选方案与最佳和最差方案之间的欧氏距离计算的。

最后,根据相对接近度的大小,对候选方案进行排序。具有最高相对接近度的候选方案被认为是最佳的。

这就是Topsis方法的基本步骤。它被广泛应用于多属性决策分析、项目选择和绩效评估等领域。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Xiu Yan

CSDN认证博客专家

CSDN认证企业博客

码龄5年

Java领域优质创作者

181

原创

581

周排名

2万+

总排名

56万+

访问

等级

4833

积分

1万+

粉丝

1611

获赞

212

评论

9065

收藏

私信

关注

热门文章

清风数学建模学习笔记——层次分析法(AHP)

111966

清风数学建模学习笔记——TOPSIS法(优劣解距离法)

47833

清风数学建模学习笔记——熵权法(客观赋权法)

47515

清风数学建模学习笔记——模糊综合评价法原理及案例分析讲解

38401

清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析

36917

分类专栏

LeetCode 热题

5篇

数学建模

12篇

Linux

1篇

操作系统

8篇

SpringBoot

3篇

JavaSE

25篇

SSM

36篇

MyBatis

15篇

Spring

12篇

SpringMVC

8篇

MySQL

2篇

Python

4篇

Oracle

3篇

前端

2篇

系统设计

6篇

微信小程序

1篇

jQuery

7篇

设计模式

9篇

UEditor编辑器

3篇

团体程序设计天梯赛

46篇

echarts

1篇

C++

6篇

常见算法

6篇

最新评论

Java 基础进阶篇(一):static 静态关键字与单例模式

Xiu Yan:

已更正

Java 基础进阶篇(一):static 静态关键字与单例模式

Mr-Apple:

1.3的图,画的有问题,很耽误事,把静态成员改成静态变量(静态成员包括静态成员方法和静态成员变量)

软件设计模式 | 结构型之组合模式(安全方式与透明方式)

CSDN-Ada助手:

组合模式在实际开发中的应用有哪些,可以举出一些例子吗?

清风数学建模学习笔记——熵权法(客观赋权法)

m0_71657843:

信息熵是信息量的期望,那信息熵越大,信息量不应该越大吗

清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析

weixin_44819207:

这个是我看到写的最好的!有理论有案例有逻辑!

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

由浅入深,详细总结 Spring 八种加载 Bean 的方式

一文解读如何应用 REST 对资源进行访问?

案例解析 SpringBoot 中的版本管理与依赖管理

2023年46篇

2022年11篇

2021年66篇

2020年58篇

目录

目录

分类专栏

LeetCode 热题

5篇

数学建模

12篇

Linux

1篇

操作系统

8篇

SpringBoot

3篇

JavaSE

25篇

SSM

36篇

MyBatis

15篇

Spring

12篇

SpringMVC

8篇

MySQL

2篇

Python

4篇

Oracle

3篇

前端

2篇

系统设计

6篇

微信小程序

1篇

jQuery

7篇

设计模式

9篇

UEditor编辑器

3篇

团体程序设计天梯赛

46篇

echarts

1篇

C++

6篇

常见算法

6篇

目录

评论 17

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

打赏作者

Xiu Yan

你的鼓励将是我创作的最大动力

¥1

¥2

¥4

¥6

¥10

¥20

扫码支付:¥1

获取中

扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

TOPSIS法(小白必看&文章包含详细源代码及注释)_topsis法样本容量的合理性-CSDN博客

>

TOPSIS法(小白必看&文章包含详细源代码及注释)_topsis法样本容量的合理性-CSDN博客

TOPSIS法(小白必看&文章包含详细源代码及注释)

最新推荐文章于 2022-10-05 16:55:03 发布

Zkaisen

最新推荐文章于 2022-10-05 16:55:03 发布

阅读量1.1w

收藏

201

点赞数

28

分类专栏:

数学建模

文章标签:

数学建模

matlab

算法

经验分享

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/fencecat/article/details/112302810

版权

数学建模

专栏收录该内容

7 篇文章

7 订阅

订阅专栏

时间 2020年5月4日 组别 数学建模 姓名 Zkaisen                                                                           本     周     完     成     工     作     总     结 这一周我主要学习了TOPSIS法即优劣解距离向量法。 1.AHP的局限性 前两周主要学习了层次分析法,层次分析法存在这样一些局限性: (1)层次分析法主观性很强,我们建模过程中判断矩阵都是自己手动填写的。 (2)层次分析法方案层不能太多,太多的话,构建的判断矩阵很可能不能通过一致性检验。而且随机一致性指标RI表中n也只给到了15。 (3)层次分析法是根据成对比较法和1~9尺度表构建判断矩阵得到数据的,对于一些有已知数据题目,层次分析法是不能很好利用原始数据的。 2.TOPSIS优点 针对AHP的上述局限性,学习TOPSIS可以弥补层次分析法的一些缺点: (1)优劣解距离法可以充分利用原始数据信息,且其结果能充分反应各评价方案与最优方案的接近程度。 (2)对样本容量没有严格限制,数据计算简单易行,无需数据检验。(topsis法适用于两个以上) 3.Topsis法简介 1981年,C.L.Hwang和K.Yoon首次提出了Topsis,全称Technique for Order Preference by Similarity to an Ideal Solution,可翻译为逼近理想解排序法,国内常称为优劣解距离法。它是一种常用的综合评价方法。 4.Topsis的基本过程 (1)原始矩阵正向化,得到正向化矩阵 a.指标类型   指标类型一般分为四种,极大型指标、极小型指标、中间型指标、  区间型指标。   极大型指标越大越好,极小型指标越小越好,中间型指标越接近中    间值越好,区间型指标落在区间内最好。 b.正向化的公式 正向化就是将原始数据指标都转化为极大型指标。 极小型——极大型:  当指标值中没有“0”时也可用公式: 中间型——极大型:(其中mid为中间值) 区间型——极大型:                                   注:M为距离区间最远的距离,即          当x在区间内时,正向化后的值为1; 当x小于区间下限a时,; 当x大于区间上限b时,; (2)对正向化矩阵标准化 标准化公式:                                 (3)计算得分并归一化 a.构造评分公式:           评分公式变形:           Topsis的思想:最优解即最大值,最劣解即最小值。 b.计算D+与D-:           定义最大值:Z+向量用于存放标准化矩阵中每一列的最大值           定义最小值:Z-向量用于存放标准化矩阵中每一列的最小值           定义第i个(i=1,2,...,n)个评价对象与最大值的距离:等于第i行每一个元素与其所在列的最大值的差的平方和的0.5次方 定义第i个(i=1,2,...,n)个评价对象与最大值的距离:等于第i行每一个元素与其所在列的最小值的差的平方和的0.5次方          c.计算未归一化的得分记为G                                       d.对得分进行归一化                               5.问题思考 (1)为什么要进行正向化? (2)为什么要进行标准化,标准化是为了消除量纲的影响,那么可不可以用下面的公式来实现?                               (2)构造评分公式的含义,背后的思想 6.代码思路及实现    (1)通过软件Matlab实现 a.先根据每一步的公式理清思路 b.根据分析,使用for循环实现较为可行 (学习编程软件中for循环相关操作) c.根据步骤分块实现不同的功能 d.代码编写过程中尽量使每一步结果都输出,这样当结果与预期 不符时方便纠错。并且可输入简单的数值对代码进行检验,查找错 误所在之处,进而修改完善。 e .找相关数据进行结果检验,验证结果的准确性。 (2)通过软件SPSS实现 a.论文中有可通过SPSS实现标准化,导入数据,进行相应操作后,标准化结果却与MATLAB中的结果不同。学习SPSS标准化,有两种不同的标准化方式,即z-score标准化和离差标准化。 b.默认的是z-score标准化。其公式不同于我们步骤中的公式。它是基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。 步骤如下: 首先求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;进行标准化处理:zij=(xij-xi)/si,其中zij为标准化后的值;xij为实际值。 最后将逆指标前的正负号对调。 z-score标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。 c.我们MATLAB中使用的公式是SPSS中标准化的规范化方法,也叫离差标准化,是对原始数据的线性变换,使结果映射到[0,1]区间。 可以通过SPSS的语法编辑窗口来编写代码实现TOPSIS(需要学习并掌握SPSS的基础语法才能实现代码的功能实现) (3)MATLAB代码简单思路                   遇    到   的   问   题 所遇到的问题: 1.没有理解在论文6.2.2中先用算术平均数计算对应的平均值? 后来懂了,他是通过VISSIM软件汇总数据,取平均值的.  2.表4中处理后的数据是同趋化后的数据吧,可是我通过代码求出的数据却和论文中的不同,本以为是标准化方法不同的原因,可是我用SPSS进行标准化后的数据进行得分计算,结果仍然不一样。   3.虽然通过论文学习了Matlab相关知识,但实现不了学习的论文中的内容. 论文中的数据都是自己通过统计得到的。 总结: 1.不懂的地方多思考,多百度 2.遇到问题,多尝试,用不同的方法来测试验证结果 3.学习优秀论文要注重学其方法,不必拘泥于一些具体实现上 (因为具体的功能实现可能需要具体的环境)                         备     注   Matlab代码 % TOPSIS法 % % 导入数据 % clear;clc;close all;%清屏,clc清空命令窗口,clear清空工作区,clos all清除图形 % 点击工作区右键,新建并为矩阵命名为X % 把数据复制到工作区 % 在excel中复制数据,在回到Excel中右键,点击粘贴excel中的数据(ctrl+shift+V) % 关掉这个窗口,右键另存,保存为mat文件 % (下次就不用复制粘贴了,只需要使用load命令即可加载数据) %  load data_kaifangqian.mat [r,c]=size(X) Max_total=max(X)%每一列数据的最大值,它是一个行向量 Min_total=min(X)%每一列数据的最小值,它是一个列向量 B=zeros(1,c);%定义一个0矩阵用来存放指标类型 disp('请输入指标类型,0表示极大型,1表示极小型,2表示中间型,3表示区间型') for j=1:c     %通过for循环依次从键盘输入指标类型对应的数字       B(j)=input('please  enter a type:'); end disp(B)     %% %%指标正向化 C=zeros(1,c) A=zeros(r,c)%这里我用A矩阵存放正向化后的数据 for j=1:c     if B(j)==0%无需正向化             for i=1:r             A(i,j)=X(i,j);%直接将原数值赋值给矩阵A             end     elseif B(j)==1%该列数据为极小型,需要正向化             for i=1:r                 A(i,j)=Max_total(j)-X(i,j);             end     elseif B(j)==2%中间型指标,需要正向化         mid=input('中间值mid:')%中间值也就是公式中的x(best)             for i=1:r                 C(i)=abs(X(i,j)-mid);%abs函数是绝对值函数             end              Max_mid=max(C);%用Max_mid来存放离中间值最远的值,也就是公式中的M             for i=1:r                 A(i,j)=1-C(i)./Max_mid;%代入公式计算正向化后的指标数值,并赋值给矩阵A                       end                   elseif B(j)==3%指标类型是区间型指标的情况                      a=input('请输入区间下限:')%区间下限,公式中的a             b=input('请输入区间上限:')%区间上限,公式中的b             e=(a-Min_total(j));%求出离区间下限最远的距离并赋值给e             d=(Max_total(j)-b);%求出离区间上限最远的距离并赋值给d             M=max(e,d);%比较e和d的值,并把最大值赋值给M             for  i=1:r                 if (X(i,j)>=a)&&(X(i,j)<=b) %如果指标刚好在区间内,那么正向化后的值为1                     A(i,j)=1;                                       elseif X(i,j)b%如果xi大于b,用公式计算正向化后的数值并赋值给矩阵A                     A(i,j)=1-(X(i,j)-b)./M ;                  end             end      end end %%   %标准化 %方法一结合上节课层次分析法,通过repmat函数,sum函数和乘方运算来实现 Z=A./repmat(sum(A.*A).^0.5,r,1); disp(Z); %方法二通过for循环来实现 for i=1:r     for j=1:c         D=sum(A.*A).^0.5 ;% A.*A就是矩阵A的每一个元素平方,sum求和得到的是一个行向量,存放矩阵中每一列元素的和         Z=A./repmat(D,r,1);         %repmat函数表示将A复制m*n块,及把A作为的元素,Z由m*n个A平铺而成。     end end disp(Z)   %% % % 求得分并进行归一化 S=zeros(r,1);%存放最终的归一化后的得分 G=zeros(r,1);%存放未归一化的得分 DP=zeros(r,1);%存放D+ DN=zeros(r,1);%存放D- E=zeros(r,c); F=zeros(r,c); Max_Z=max(Z);%存放标准化后每一列的最大值 Min_Z=min(Z);%存放标准化后每一列的最小值 for i=1:r     for j=1:c          E(i,j)=(Max_Z(j)-Z(i,j)).*(Max_Z(j)-Z(i,j));%就是求解D+公式中分母中根号下面的内容          F(i,j)=(Min_Z(j)-Z(i,j)).*(Min_Z(j)-Z(i,j));%就是求解D-公式中分母中根号下面的内容      end      DP(i)=sum(E(i,:)).^0.5;%第i个(i=1,2,...,n)个评价对象与最大值的距离。这里用到了E(i,:),就是取第i行的所有数据      DN(i)=sum(F(i,:)).^0.5;%第i个(i=1,2,...,n)个评价对象与最小值的距离        G(i)=DN(i)/(DP(i)+DN(i)); end  disp(DN)  disp(DP)  disp(G)   %%对得分进行归一化   for i=1:r     S(i)=G(i)/sum(sum(G)); end disp(S) %%

优惠劵

Zkaisen

关注

关注

28

点赞

201

收藏

觉得还不错?

一键收藏

打赏

知道了

5

评论

TOPSIS法(小白必看&文章包含详细源代码及注释)

时间 2020年5月4日 组别 数学建模 姓名 Zkaisen ...

复制链接

扫一扫

专栏目录

topsis加入了权重的代码_TOPSIS优劣距离法_

10-02

TOPSIS加了权重的代码,可在MATLAB中实现,亲测可用

TOPSIS(优劣解距离法)

最新发布

weixin_72151610的博客

01-09

375

比较对象大于两个,比较指标多,许多指标不存在所谓的最大值最小值(x-min)/(max-min)清风学习同学评分例子:排名越小越好,但是评分越大越好,所以要对排名进行修正。1.将极小型转换成极大型指标(例如:费用、坏品率、污染程度)不同指标的单位不同,不好一起衡量,需要对已经正向化的矩阵进行。统一指标类型:将所有指标转化为极大型【指标正向化】不合理之处:只要排名不变,评分就不变,相关性不强。2.中间型指标(越接近某个特定值越好)例如:PH。层次分析法的劣势:决策层不能太多,指标已知。极大型指标:越大越好。

5 条评论

您还未登录,请先

登录

后发表或查看评论

Topsis法代码.zip_topsis matlab_topsis代码_topsis法_决策_理想解

07-14

TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。

结合熵权法的topsis方法的代码.zip

09-13

结合熵权法的topsis方法的代码,由于本身函数较多,还有一些数据作为例题所以没有办法单独放在网页上,只能通过压缩包下载

TOPSIS熵值法R代码.R

04-06

topsis评价类算法+熵权法确定权重,r语言代码,可以直接代入数据进行运行,简单方便,私人编写的。

Topsis算法综合评价代码_matlab源码.rar

12-12

Topsis算法综合评价代码_matlab源码.rar

【数学建模】2 TOPSIS优劣解距离法

BetterBench的博客

11-09

3044

目录1 简介2 引入的目的3 简单例子引入Topsis法3.1 问题-单个指标(1)解决的思路(最简单的)(2)改进思路(3)解释构造评分公式3.2 拓展问题-增加指标个数(1)问题(2)指标正向化(3)标准化处理(4)计算每个对象的综合得分4 算法步骤4.1 第一步-将原始矩阵正向化4.2 第二步-正向化矩阵标准化7 源码和数据下载

1 简介

Topsis法(Technique for Order Preference by Similarity to Ideal solution)可翻译为逼近理想解排序

清风数学建模学习笔记——TOPSIS法(优劣解距离法)

秀岩的博客

01-08

4万+

优劣解距离法

  TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。

  TOPSIS 法是一种常用的 综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。

...

数学建模-TOPSIS法

qq_60678226的博客

06-10

1万+

TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。...

第二讲 综合评价分析—TOPSIS法

qq_63767210的博客

07-25

1万+

综合评价分析—TOPSIS法步骤详解

TOPSIS熵值法R代码和灰色关联度Matlab程序.rar_topsis代码R程序_灰色关联 熵权_熵值法_熵权法TOPSIS

07-15

TOPSIS-熵权法R代码,可用来进行综合评价

基于熵权法对Topsis模型的修正

luxurie的小窝

05-01

6883

熵权法

层次分析法是一种评价模型,当没有给出数据时,我们对不同的准则进行分析,最后求得每一种方案的评分,但是有很大的缺点,比如主观性太强、方案层不能过多。而Topsis优劣解距离法可以对已有数据进行分析,经过正向化、标准化、求距离、归一化后即可得到评分。

但是Topsis有一个问题,就是默认每个指标的权重相同,所以也可以用层次分析法求出权重进行修正,由于层次分析法有很大不足,所以这里用熵权法对T...

数学建模四大模型总结

热门推荐

我是天才很好

06-13

5万+

数学建模四大模型总结

文章目录数学建模四大模型总结1 、优化模型1.1 数学规划模型1.2 微分方程组模型1.3 图论与网络优化问题1.4 概率模型1.5 组合优化经典问题现代优化算法:禁忌搜索;模拟退火;遗传算法;人工神经网络2、分类模型2.1 判别分析2.2 聚类分析2.3 神经网络分类方法3、评价模型3.1 层次分析法(AHP)3.2 灰色综合评价法(灰色关联度分析)3.3 模糊综合评价法3...

SPSSAU综合评价方法汇总

m0_37228052的博客

06-30

6468

综合评价是对某事物进行多指标综合评价的过程,是一种科学研究和科学决策的过程。一般应当包括指标体系设计、收集资料、整理资料和统计分析几个阶段。

简单从分析角度来讲,综合评价方法步骤主要包括:确定指标体系、指标数据处理(无量纲化等)、确定指标权重、计算综合评价结果及综合排名。

上图中总结了5种综合评价方法,大致可分为两类:

其中TOPSIS法、熵值TOPSIS法、秩和比RSR法、灰色关联法均是使用小样本数据对多个指标进行综合评价,为每个评价对象计算综合得分,找出最优方案。

模糊综合评价则是以模糊数学

备战数学建模13-优劣解距离法TOPSIS模型

nuist_NJUPT的博客

05-05

930

目录

一、TOPSIS法

1-基本概念

2-TOPSIS方法的具体步骤

二、TOPSIS法的应用案例

1-案例题目

2-TOPSIS主程序

3-正向化处理函数

4-极小型转换为极大型的函数

5-中间型转换为极大型的函数

6-区间型转换为极大型的函数

一、TOPSIS法

1-基本概念

TOPSIS法可以翻译为逼近理想解排序法,国内称为优劣解距离法,TOPSIS法是一种常用的综合评价方法,其能充分应用原始数据的的信息,其结果能精确的反映各评价方案之间的差距。

我们之前学习

综合评价与决策方法(一)——TOPSIS法的原理

weixin_45813658的博客

08-20

2万+

综合评价与决策方法综述理想解法

评价模型:TOPSIS法(理想解法)

m0_64087341的博客

10-05

3924

数学建模之TOPSIS(理想解法)

TOPSIS算法

The__Tyche的博客

01-16

3734

一.算法介绍

TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。——来自百度百科

熵权topsis法代码

07-27

抱歉,我无法提供完整的熵权TOPSIS法代码。但是,我可以解释一下熵权TOPSIS法的原理和步骤。

熵权TOPSIS法是一种多指标决策方法,它结合了熵权法和TOPSIS法。下面是熵权TOPSIS法的步骤:

1. 收集决策指标的数据:首先,需要收集各个指标的数据,这些数据可以是定量的或定性的。

2. 计算指标的权重:使用熵权法来计算每个指标的权重。熵权法是一种基于信息熵的方法,它可以根据指标的变异性来确定权重。

3. 标准化数据:对每个指标的数据进行标准化处理,使得它们具有相同的量纲和范围。常见的标准化方法包括线性标准化和范围标准化。

4. 构建决策矩阵:将标准化后的数据组成一个决策矩阵,其中每一行代表一个评价对象,每一列代表一个指标。

5. 计算正向化矩阵:根据极小型指标转化为极大型指标的公式,计算正向化矩阵。这个矩阵用于将所有指标都转化为越大越好的形式。

6. 计算距离矩阵:使用欧氏距离或其他距离度量方法,计算每个评价对象与理想解的距离。

7. 计算接近度指数:根据距离矩阵,计算每个评价对象的接近度指数。接近度指数越大,表示评价对象越接近理想解。

8. 排序和选择最优解:根据接近度指数,对评价对象进行排序,选择接近度指数最高的评价对象作为最优解。

这是熵权TOPSIS法的基本步骤。具体的代码实现可能会因编程语言和具体问题而有所不同。如果您需要具体的代码实现,建议参考相关的学术文献或使用特定的软件工具来实现。

#### 引用[.reference_title]

- *1* [2 评价类算法:TOPSIS法笔记(附Python代码)](https://blog.csdn.net/weixin_43937790/article/details/125901879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]

- *2* *3* [TOPSIS法(熵权法)(模型+MATLAB代码)](https://blog.csdn.net/m0_62504956/article/details/128461414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]

[ .reference_list ]

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Zkaisen

CSDN认证博客专家

CSDN认证企业博客

码龄5年

暂无认证

126

原创

7958

周排名

8588

总排名

35万+

访问

等级

3075

积分

921

粉丝

1188

获赞

76

评论

2912

收藏

私信

关注

热门文章

MATLAB函数调用

54670

层次分析法详细讲解(小白必看&电脑查看)

22260

DOSBOX与DEBUG的使用方法及命令

16214

入门学习MNIST手写数字识别

13048

基于LSTM算法的股票预测

12962

分类专栏

安全与运维

52篇

跟着小迪学安全

6篇

学习中遇到的问题

13篇

力扣刷题

3篇

自学笔记

4篇

图像识别

18篇

汇编语言

9篇

计算机体系结构

4篇

程序猿必备技能

2篇

斯坦福大学吴恩达教授Machine Learning课程

2篇

文献管理与信息分析

5篇

数学建模

7篇

软件安全

6篇

最新评论

网络协议与攻击模拟_17HTTPS 协议

程序边界:

龙年拜年啦!愿你在龙年的舞台上,如同巨龙般展翅高飞,迎接更多的挑战和机遇。祝你龙年大吉,事业有成,家庭幸福,身体健康,万事如意!

网络协议与攻击模拟_17HTTPS 协议

征途黯然.:

The expertise in 网络协议与攻击模拟17HTTPS协议 is admirable, and the article is highly valuable.

网络协议与攻击模拟_17HTTPS 协议

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/618073514。

网络协议与攻击模拟_17HTTPS 协议

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/618073604。

013信息打点-Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份

Zkaisen:

我听课做的笔记,一字一句打下来的,因为不想漏掉小迪老师讲的任何知识点,一段时候忘了就回来看看笔记,就等于重听了一遍视频

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

Linux操作系统-05-文件查找与归档压缩

Linux操作系统-04-用户和用户组

Linux操作系统-03-文件和文件夹操作命令

2024年30篇

2023年29篇

2022年44篇

2021年19篇

2020年4篇

目录

目录

分类专栏

安全与运维

52篇

跟着小迪学安全

6篇

学习中遇到的问题

13篇

力扣刷题

3篇

自学笔记

4篇

图像识别

18篇

汇编语言

9篇

计算机体系结构

4篇

程序猿必备技能

2篇

斯坦福大学吴恩达教授Machine Learning课程

2篇

文献管理与信息分析

5篇

数学建模

7篇

软件安全

6篇

目录

评论 5

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

打赏作者

Zkaisen

你的鼓励将是我创作的最大动力

¥1

¥2

¥4

¥6

¥10

¥20

扫码支付:¥1

获取中

扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

TOPSIS法(优劣解距离法)笔记_topsis法的优缺点-CSDN博客

>

TOPSIS法(优劣解距离法)笔记_topsis法的优缺点-CSDN博客

TOPSIS法(优劣解距离法)笔记

最新推荐文章于 2024-01-09 22:53:36 发布

CourserLi

最新推荐文章于 2024-01-09 22:53:36 发布

阅读量3w

收藏

165

点赞数

21

分类专栏:

数学建模

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/CourserLi/article/details/106769206

版权

数学建模

专栏收录该内容

20 篇文章

24 订阅

订阅专栏

TOPSIS法 什么时候用?

TOPSIS法 是根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价 【其中最优解的各指标值都达到各评价指标的最优值,最劣解的各指标值都达到各评价指标的最差值】

TOPSIS法 特别适合具有多组评价对象时,要求通过检测评价对象与最优解、最劣解的距离来进行排序

作业解答

如何改编代码,使用户能选择是否加入指标的权重计算?

% % % % % % % % % % % % % % % % % % % % % % % 举个例子 % % % % % % % % % % % % % % % % % % % % % % %

% 假如原始数据为:

A = [1, 2, 3;

2, 4, 6]

% 权重矩阵为:

B = [ 0.2, 0.5 ,0.3 ]

% 加权后输出:

0.2000 1.0000 0.9000

0.4000 2.0000 1.8000 % 加权后的矩阵 C

% 简约的代码如下:

C = A;

for i = 1: size(A,2)

C(:,i) = C(:,i) .* B(i);

end

disp(C)

% % % % % % % % % % % % % % % % % % % % % % % 正式代码 % % % % % % % % % % % % % % % % % % % % % % %

disp('请输入是否需要增加权重向量,需要输入1,不需要输入0')

Judge = input('请输入是否需要增加权重: ');

if Judge == 1

disp(['如果你有3个指标,你就需要输入3个权重,例如它们分别为0.25,0.25,0.5, 则你需要输入[0.25,0.25,0.5]']);

weigh = input(['你需要输入' num2str(m) '个权数。' '请以行向量的形式输入这' num2str(m) '个权重: ']);

OK = 0; % 用来判断用户的输入格式是否正确

while OK == 0

if abs(sum(weigh) - 1)<0.000001 && size(weigh,1) == 1 && size(weigh,2) == m % 这里要注意浮点数

OK =1;

else

weigh = input('你输入的有误,请重新输入权重行向量: ');

end

end

else

weigh = ones(1,m) ./ m ; %如果不需要加权重就默认权重都相同,即都为1/m

end

TOPSIS法的顺序

① 正向化(每一列都转为极大型) ② 标准化(每一个元素都被标准化处理) ③ 归一化(每一列的和都为 1 ) ④ 计算权重(求每一行的和)

下图引用自 数学建模优劣解距离算法——Topsis模型

什么时候用熵权法?

可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大, 该指标对综合评价的影响(即权重)就越大,因此,可利用信息熵这个工具,计算出各个指标的权重【如果某项指标的值全部相等,则该指标在综合评价中不起作用】

对于一些数据容易获取的分析,个人觉得熵值法可靠一些 对于数据比较难获取且存在相关及共线性问题的话建议采取主成分分析法(第14讲学)

TOPSIS法的代码部分

%% 第一步:把数据复制到工作区,并将这个矩阵命名为 X

load data_water_quality.mat % 数据的名字叫 data_water_quality

%% 第二步:判断是否需要正向化

[n,m] = size(X);

disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])

Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']);

if Judge == 1

Position = input('请输入需要正向化处理的指标所在的列,例如第2、3、6三列需要处理,那么你需要输入[2,3,6]: ');%[2,3,4]

disp('请输入需要处理的这些列的指标类型(1:极小型, 2:中间型, 3:区间型) ')

Type = input('例如:第2列是极小型,第3列是区间型,第6列是中间型,就输入[1,3,2]: '); % [2,1,3]

for i = 1 : size(Position,2)

X(:,Position(i)) = Positivization(X(:,Position(i)),Type(i),Position(i));

end

disp('正向化后的矩阵 X = ')

disp(X)

end

%% 第三步:对正向化后的矩阵进行标准化

Z = X ./ repmat(sum(X.*X) .^ 0.5, n, 1);

disp('标准化矩阵 Z = ')

disp(Z)

%% 第四步:让用户判断是否需要增加权重(可以自己决定权重,也可以用熵权法确定权重)

disp("请输入是否需要增加权重向量,需要输入1,不需要输入0")

Judge = input('请输入是否需要增加权重: ');

if Judge == 1

Judge = input('使用熵权法确定权重请输入1,否则输入0: ');

if Judge == 1

if sum(sum(Z<0)) >0 % 如果之前标准化后的Z矩阵中存在负数,则重新对X进行标准化

disp('原来标准化得到的Z矩阵中存在负数,所以需要对X重新标准化')

for i = 1:n

for j = 1:m

Z(i,j) = [X(i,j) - min(X(:,j))] / [max(X(:,j)) - min(X(:,j))];

end

end

disp('X重新进行标准化得到的标准化矩阵Z为: ')

disp(Z)

end

weight = Entropy_Method(Z);

disp('熵权法确定的权重为:')

disp(weight)

else

disp(['如果你有3个指标,你就需要输入3个权重,例如它们分别为0.25,0.25,0.5, 则你需要输入[0.25,0.25,0.5]']);

weight = input(['你需要输入' num2str(m) '个权数。' '请以行向量的形式输入这' num2str(m) '个权重: ']);

OK = 0; % 用来判断用户的输入格式是否正确

while OK == 0

if abs(sum(weight) -1)<0.000001 && size(weight,1) == 1 && size(weight,2) == m % 注意浮点数

OK =1;

else

weight = input('你输入的有误,请重新输入权重行向量: ');

end

end

end

else

weight = ones(1,m) ./ m ; %如果不需要加权重就默认权重都相同,即都为1/m

end

%% 第五步:计算与最大值的距离和最小值的距离,并算出得分

D_P = sum([(Z - repmat(max(Z),n,1)) .^ 2 ] .* repmat(weight,n,1) ,2) .^ 0.5; % D+ 与最大值的距离向量

D_N = sum([(Z - repmat(min(Z),n,1)) .^ 2 ] .* repmat(weight,n,1) ,2) .^ 0.5; % D- 与最小值的距离向量

S = D_N ./ (D_P+D_N); % 未归一化的得分

disp('最后的得分为:')

stand_S = S / sum(S)

[sorted_S,index] = sort(stand_S ,'descend')

切记不能直接用于论文中,要根据题目适当的修改,避免查重

TOPSIS法的评估

Topsis法 的优点: (1) 避免了数据的主观性,不需要目标函数,不用通过检验,而且能够很好的刻画多个影响指标的综合影响力度 (2) 对于数据分布及样本量、指标多少无严格限制,既适于小样本资料,也适于多评价单元、多指标的大系统,较为灵活、方便 Topsis法 的缺点: (1) 需要的每个指标的数据,对应的量化指标选取会有一定难度 (2) 不确定指标的选取个数为多少适宜,才能够去很好刻画指标的影响力度 (3) 必须有两个以上的研究对象才可以进行使用

其他文件

%% Entropy_Method.m % 是熵权法计算权重的函数

function [W] = Entropy_Method(Z)

[n,m] = size(Z);

D = zeros(1,m); % 初始化保存信息效用值的行向量

for i = 1:m

x = Z(:,i); % 取出第i列的指标

p = x / sum(x);

% 注意,p有可能为0,此时计算ln(p)*p时,Matlab会返回NaN,所以这里我们自己定义一个函数

e = -sum(p .* mylog(p)) / log(n); % 计算信息熵

D(i) = 1- e; % 计算信息效用值

end

W = D ./ sum(D); % 将信息效用值归一化,得到权重

end

%% mylog.m % 用于替代MATLAB中的log函数,因为计算熵权法时需要判断 p = 0

function [lnp] = mylog(p)

n = length(p); % 向量的长度

lnp = zeros(n,1); % 初始化最后的结果

for i = 1:n % 开始循环

if p(i) == 0 % 如果第i个元素为0

lnp(i) = 0; % 那么返回的第i个结果也为0

else

lnp(i) = log(p(i));

end

end

end

%% Positivization.m % 是处理矩阵正向化的函数

function [posit_x] = Positivization(x,type,i)

if type == 1 %极小型

disp(['第' num2str(i) '列是极小型,正在正向化'] )

posit_x = Min2Max(x); %调用Min2Max函数来正向化

disp(['第' num2str(i) '列极小型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

elseif type == 2 %中间型

disp(['第' num2str(i) '列是中间型'] )

best = input('请输入最佳的那一个值: ');

posit_x = Mid2Max(x,best);

disp(['第' num2str(i) '列中间型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

elseif type == 3 %区间型

disp(['第' num2str(i) '列是区间型'] )

a = input('请输入区间的下界: ');

b = input('请输入区间的上界: ');

posit_x = Inter2Max(x,a,b);

disp(['第' num2str(i) '列区间型正向化处理完成'] )

disp('~~~~~~~~~~~~~~~~~~~~分界线~~~~~~~~~~~~~~~~~~~~')

else

disp('没有这种类型的指标,请检查Type向量中是否有除了1、2、3之外的其他值')

end

end

%% Min2Max.m 、Mid2Max.m 、Inter2Max.m % 处理极小型、中间型、区间型的函数

function [posit_x] = Min2Max(x) % 极小型

posit_x = max(x) - x;

end

function [posit_x] = Mid2Max(x,best) % 中间型

M = max(abs(x-best));

posit_x = 1 - abs(x-best) / M;

end

function [posit_x] = Inter2Max(x,a,b) % 区间型

r_x = size(x,1); % row of x

M = max([a-min(x),max(x)-b]);

posit_x = zeros(r_x,1);

% 初始化posit_x全为0

for i = 1: r_x

if x(i) < a

posit_x(i) = 1-(a-x(i))/M;

elseif x(i) > b

posit_x(i) = 1-(x(i)-b)/M;

else

posit_x(i) = 1;

end

end

end

优惠劵

CourserLi

关注

关注

21

点赞

165

收藏

觉得还不错?

一键收藏

知道了

0

评论

TOPSIS法(优劣解距离法)笔记

TOPSIS法(优劣解距离法)笔记

复制链接

扫一扫

专栏目录

学习笔记:TOPSIS法(优劣解距离法)

02-27

学习笔记:TOPSIS法(优劣解距离法)

基于熵权TOPSIS法的重庆能源安全研究

06-04

从能源供应、能源需求、能源使用三个方面构建区域能源安全评价指标体系,并借助熵权TOPSIS法对2006-2016年重庆的能源安全状况进行评价,再利用灰色关联法探讨各指标与重庆总能源安全、能源供应安全、能源需求安全、能源使用安全的关联程度。研究发现:重庆的能源安全呈曲折上升,从临界安全—较不安全—临界安全的变化态势。其中,能源需求、能源使用呈曲折上升的变化趋势,多处于临界安全状况;能源供应呈现下降—上升—下降的变化趋势,多是处于较不安全状态。生产多样性、市场流动性、城镇化率、非化石能源消费比重分别是与重庆能源综合安全、能源供应安全、能源需求安全、能源使用安全的关联程度最高。

参与评论

您还未登录,请先

登录

后发表或查看评论

TOPSIS(优劣解距离法)清风建模学习笔记

m0_52453314的博客

07-11

2393

简介

TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。

层次分析法的局限性

TOPSIS(优劣解距离法)

最新发布

weixin_72151610的博客

01-09

375

比较对象大于两个,比较指标多,许多指标不存在所谓的最大值最小值(x-min)/(max-min)清风学习同学评分例子:排名越小越好,但是评分越大越好,所以要对排名进行修正。1.将极小型转换成极大型指标(例如:费用、坏品率、污染程度)不同指标的单位不同,不好一起衡量,需要对已经正向化的矩阵进行。统一指标类型:将所有指标转化为极大型【指标正向化】不合理之处:只要排名不变,评分就不变,相关性不强。2.中间型指标(越接近某个特定值越好)例如:PH。层次分析法的劣势:决策层不能太多,指标已知。极大型指标:越大越好。

MATLAB 之 优劣解距离法(TOPSIS )

每天进步一点点!

11-23

6661

TOPSIS 总结

TOPSIS综合评价模型

weixin_43829548的博客

05-01

6075

TOPSIS方法

逼近理想解排序法,简称为优劣解距离法是一种常用的综合评价方法。

优点:充分利用原始数据信息,结果能精确地反映各评价方案之间的差距;数据分布和样本含量无严格限制,计算简单易行。

基本过程

正向化处理:正向化矩阵

标准化处理:标准化矩阵

计算最优和最劣方案

计算各评价和最优劣的距离

归一化评分

指标

成绩越高(大)越好,这样指标称为极大型指标(效益型指标);

退款金额越少越好,这样...

数学建模中各种评价类模型的优点和缺点总结

qq_54186956的博客

07-14

1万+

数学建模中,评价类模型是一类比较基础的数学模型之一,往往是对应生活中的一些实际问题。最常见的数学模型包括:层次分析法、模糊综合评价、熵值法、TOPSIS法、数据包络分析、秩和比法、灰色关联法。......

如何用matlaab把csv转为mat文件_数学建模竞赛学习笔记:用TOPSIS模型进行综合评价

weixin_39653448的博客

11-12

1440

笔记整理来自清风老师的数学建模课程(可以在B站里搜索到,头条无法放站外链接,我就不放了):TOPSIS教程目录1. 层次分析法的局限性(主观求权重方法)2. TOPSIS法引入2.1 一个指标的情况2.2 2个指标的情况2.2.1 指标正向化2.2.2 指标标准化处理 2.2.3 计算得分2.2.4 实例计算3. TOPSIS简介4. TOPSIS法步骤4.1 将原始矩阵正向化(可以在Excel中...

评价类算法 之 Topsis优劣解距离法和熵权法权值确定

[ 25'h ]

03-08

4524

评价类算法 之 Topsis优劣解距离法和熵权法权值确定

综合评价与决策方法(一)——TOPSIS法的原理

热门推荐

weixin_45813658的博客

08-20

2万+

综合评价与决策方法综述理想解法

基于熵权法对Topsis模型的修正

luxurie的小窝

05-01

6883

熵权法

层次分析法是一种评价模型,当没有给出数据时,我们对不同的准则进行分析,最后求得每一种方案的评分,但是有很大的缺点,比如主观性太强、方案层不能过多。而Topsis优劣解距离法可以对已有数据进行分析,经过正向化、标准化、求距离、归一化后即可得到评分。

但是Topsis有一个问题,就是默认每个指标的权重相同,所以也可以用层次分析法求出权重进行修正,由于层次分析法有很大不足,所以这里用熵权法对T...

topsis优劣解距离法MATLAB代码实现

08-14

数学建模优劣解距离法的案例程序

topsis_matlab优劣解距离法_topsis_

10-01

matlab程序,topsis工具箱 ,本代码仅供参考,非本人原创

TOPSIS法(优劣解距离法)例子源码和拓展资料

11-09

该文件是全国大学生数学建模知识中的一个算法Topsis优劣解距离法的源码和建模赛题拓展资料,具体的讲解内容可以参考本人博客【优劣解距离法】

TOPSIS法(优劣解距离法).zip

04-04

内容概要:TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。 仿真平台为Matlab,该代码为曾经参加数模比赛时所用,请勿作为商用。

topsis加入了权重的代码_TOPSIS优劣距离法_

10-02

TOPSIS加了权重的代码,可在MATLAB中实现,亲测可用

相关性分析笔记

CourserLi的博客

07-06

1万+

相关性分析笔记

灰色关联分析笔记

CourserLi的博客

06-16

9869

灰色关联分析笔记

topsis(优劣解距离法

07-28

Topsis(优劣解距离法)是一种多属性决策分析方法,用于评估多个候选方案的综合性能。它基于两个关键概念:优劣解距离和相对接近度。

首先,需要确定每个候选方案的属性值。然后,通过对属性值进行标准化,将属性值归一化到一个统一的范围内。

接下来,计算每个候选方案与最佳和最差方案之间的欧氏距离。欧氏距离是根据各个属性值之间的差异度量的。

然后,计算每个候选方案与最佳方案之间的相对接近度。相对接近度是基于候选方案与最佳和最差方案之间的欧氏距离计算的。

最后,根据相对接近度的大小,对候选方案进行排序。具有最高相对接近度的候选方案被认为是最佳的。

这就是Topsis方法的基本步骤。它被广泛应用于多属性决策分析、项目选择和绩效评估等领域。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

CourserLi

CSDN认证博客专家

CSDN认证企业博客

码龄4年

暂无认证

155

原创

4万+

周排名

219万+

总排名

16万+

访问

等级

3213

积分

155

粉丝

210

获赞

68

评论

960

收藏

私信

关注

热门文章

TOPSIS法(优劣解距离法)笔记

30075

相关性分析笔记

10124

灰色关联分析笔记

9867

MAD、AMV、MMD 的区别

8439

数学建模国奖论文2019-C-C308分析

8411

分类专栏

刷题集

33篇

比赛集

5篇

算法大集合

15篇

WebSpider---爬虫

5篇

Git / Github

3篇

死嗑算法

7篇

数学建模

20篇

GUI---图形用户界面

1篇

萌新笔记

11篇

蓝桥杯

8篇

JAVA 与 C#

2篇

HTML 5/CSS 3/ JS

7篇

《C++程序设计教程》

5篇

其他

23篇

最新评论

灰色关联分析笔记

m0_73506357:

问一下你这的样本n是说的横坐标的个数还是纵坐标的个数

粒子群算法笔记

xmy123iu:

你好,有完整代码吗

Python 虚拟环境管理工具(详细)

weixin_48503004:

ee我用vscode创建之后没有.\Scripts\activate.bat这个文件,也没有Scripts这个文件夹,为什么呢

数学建模国奖论文2019-C-C308分析

CourserLi:

博客全部数据:https://pan.baidu.com/s/134dBePKRQmXicySAm1w-rw?pwd=n0g1

提取码:n0g1

--来自百度网盘超级会员V5的分享

大家在看

代码随想录 Day14 二叉树理论基础● 递归遍历 ● 迭代遍历● 统一迭代题号:144,145,94

126

300分钟吃透分布式缓存-22讲:怎么认识和应用Redis内部数据结构?

985

Pytorch学习 day08(最大池化层、非线性激活层、正则化层、循环层、Transformer层、线性层、Dropout层)

103

Fortigate防火墙 文件系统提取

887

【C语言】文件操作篇-----程序文件和数据文件,文件的打开和关闭,二进制文件和文本文件,fopen,fclose【图文详解】

197

最新文章

JS 逆向实例

浅析云计算领域的专业名词

Python 虚拟环境管理工具(详细)

2022年5篇

2020年81篇

2019年69篇

目录

目录

分类专栏

刷题集

33篇

比赛集

5篇

算法大集合

15篇

WebSpider---爬虫

5篇

Git / Github

3篇

死嗑算法

7篇

数学建模

20篇

GUI---图形用户界面

1篇

萌新笔记

11篇

蓝桥杯

8篇

JAVA 与 C#

2篇

HTML 5/CSS 3/ JS

7篇

《C++程序设计教程》

5篇

其他

23篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

优劣解距离法(TOPSIS)-SPSSPRO帮助中心

优劣解距离法(TOPSIS)-SPSSPRO帮助中心

产品简介 我的数据 数据处理 数据分析 描述性分析 问卷分析 综合评价 层次分析法(AHP专业版)因子分析(探索性)数据包络分析模糊综合评价优劣解距离法(TOPSIS)1、作用2、输入输出描述3、案例示例4、案例数据5、案例操作6、输出结果分析7、注意事项 ​8、模型理论9、参考文献秩和比综合评价法(RSR)耦合协调度层次分析法(AHP简化版)熵值法CRITIC权重法独立性权系数法变异系数法灰色关联分析多准则妥协解排序法(VIKOR)解释结构模型(ISM)差异性分析 相关性分析 预测模型 统计建模 计量经济模型 医学统计模型 机器学习分类 机器学习回归 规划求解 研究模型 自定义算法

优劣解距离法(TOPSIS)

操作视频 SPSSPRO教程-优劣解距离法(TOPSIS) # 优劣解距离法(TOPSIS) # 1、作用 TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。基本过程为基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。 # 2、输入输出描述 输入:至少两项或以上的定量变量。输出:反应考核指标在量化评价中的综合得分。​ # 3、案例示例 案例:为了客观地评价各风景地点的性价比,根据风景、人文、拥挤程度、票价等因素对各风景地点进行评估。 # 4、案例数据 优劣解距离法案例数据 # 5、案例操作 Step1:新建分析;Step2:上传数据;Step3:选择对应数据打开后进行预览,确认无误后点击开始分析;step4:选择【优劣解距离法(TOPSIS)】;step5:查看对应的数据数据格式,【优劣解距离法(TOPSIS)】要求特征序列为定量变量,分为正向指标变量和负向指标变量,且正向指标变量和负向指标变量的个数之和大于等于两项。step6:设置变量权重(熵权法、不设置权重)。step7:点击【开始分析】,完成全部操作。 # 6、输出结果分析 输出结果 1:指标权重计算 ​图表说明:熵权法的权重计算结果显示,风景的权重为 25.786%、人文的权重为 22.684%、拥挤程度的权重为 25.737%、票价的权重为 25.793%,其中指标权重最大值为票价(25.793%),最小值为人文(22.684%)。​ 输出结果 2:TOPSIS 评价法计算结果 ​ 索引值 正理想解距离(D+) 负理想解距离(D-) 综合得分指数 排序 A 0.58858972 0.73971683 0.55688714 1 B 0.6895735 0.46671506 0.40363199 5 C 0.55294627 0.48326013 0.46637439 4 D 0.58132163 0.6605838 0.53191152 2 E 0.63882976 0.6119502 0.48925488 3 图表说明:由上表可知,景点 A 的综合评价最高,说明综合评估风景、人文、拥挤程度、票价后,景点 A 的性价比较高,距离负理想解相对远,距离正理想解相对近。​ 输出结果 3:中间值展示 ​ 项 正理想解 负理想解 风景 0.999975 0.000025 人文 0.9999875 0.0000125 拥挤程度 0.9999875 0.0000125 票价 0.999995 0.000005 图表说明:表格给出的是正理想解(最优解)和负理想解(最劣解)的值。 # 7、注意事项 ​ 进行 TOPSIS 分析时,各个指标有着权重属性(当然通常情况并没有),那么可对应设置各个指标的权重(输入的权重值可以为相对数字,SPSSPRO 默认都会进行归一化处理让权重加和为 1),在进行 D+和 D-值计算时,SPSSPRO 会对应乘上权重值(如果没有权重则下述公式中权重值为 1); # 8、模型理论 TOPSIS 法的基本思想是: 对原始数据同趋 势后构建归一化矩阵, 计算评价对象与最优向量和最劣向量的 差异, 以此测度评价对象的差异。 假设有 n 个评价对象,m 个 指标, TOPSIS 法的基本步骤为: ​(1)步骤 1 :原始数据正向化+同趋势化

由于平台存在“正向指标”、“负向指标”,将分别对这两类数据做预处理 。这里对最小值减去0.0001,对最大值加上0.0001是为了兼容一整列都为相同的值的情况,对整体结果影响不大,可忽略不计 Xmin=min(X1j,X2j,...,Xnj)−0.0001 Xmax=max(X1j,X2j,...,Xnj)+0.0001

对于正向指标: zij=Xij−XminXmax−Xmin

对于负向指标: zij=Xmax−XijXmax−Xmin​

(2)步骤2:计算最优解和最劣解

最优解:(,)(Z1+,Z2+,...,Zm+)

最劣解:(,)(Z1−,Z2−,...,Zm−)

(3)步骤 3 :计算各评价指标与最优及最劣向量之间的差距其中w_j为第 j 个属性的权重(重要程度)。​(4)步骤 4 :测度 评价对象与最优方案的接近程度 C_i 值越大, 表明评价对象越优 # 9、参考文献 [1] Scientific Platform Serving for Statistics Professional 2021. SPSSPRO. (Version 1.0.11)[Online Application Software]. Retrieved from https://www.spsspro.com.

[2] Shih H S, Shyur H J, Lee E S. An extension of TOPSIS for group decision making[J]. Mathematical & Computer Modelling, 2007, 45(7):801-813.[3] 刘浩然,汤少梁. 基于 TOPSIS 法与秩和比法的江苏省基本医疗服务均等化水平研究[J]. 中国全科医学,2016,19(7):819-823. DOI:10.3969/j.issn.1007-9572.2016.07.017. 建议反馈

大白话讲解TOPSIS法(内附TOPSIS法模板和实现方法)_哔哩哔哩_bilibili

大白话讲解TOPSIS法(内附TOPSIS法模板和实现方法)_哔哩哔哩_bilibili 首页番剧直播游戏中心会员购漫画赛事投稿大白话讲解TOPSIS法(内附TOPSIS法模板和实现方法)

3.3万

16

2021-04-28 00:24:24

未经作者授权,禁止转载26386644195【小白快速上手数据分析】之TOPSIS法

傻瓜式实现+小白也看得懂的实现讲解(内附TOPSIS法模板)

MPai微信公众号:万灵数据

MPai交流群:715829047(发送想要mpai扩展的模型,按反馈意见优先开发部分新模型。)

MPai数据科学平台官网:www.mpaidata.com知识分享官知识科学科普综合评价topsis

小白大腿与数据科学

发消息

人大硕士,擅长数学建模,数据分析咨询,合作交流微信:willingdata

关注 8492

接下来播放

自动连播综合评价专题三:TOPSIS法登天小志

1.3万

4

多指标综合评价的基本思路与步骤(新手必看!!!)大鸭进京赶烤

7.1万

99

3-TOPSIS法烧鸡嘟嘟嘟

803

0

TOPSIS法wht0930

2048

1

EXCEL 熵权-TOPSIS法 计算权重及综合得分lanjingling2019

4784

0

AHP-TOPSIS法计算工具推荐,可以快速得到权重和得分大勇哥_yong

1175

0

熵值法+topsis法熵权法计算软件和案例讲解,一键出结果大勇哥_yong

6550

1

【SPSSAU】TOPSIS法计算权重 | 数据分析常见问题解答SPSSAU官方账号

6631

1

毕业论文数据分析 spssau TOPSIS法计算权重硕博论文指导

3235

0

EXCEL TOPSIS法 相对贴近度(综合得分)计算及排序lanjingling2019

1542

0

小白快速上手熵权Topsis(原理+实战)spsspro

5.2万

46

TOPSIS和熵权法牛毛b站

2.2万

20

topsis法熵权法计算秒出结果,太简单了!大勇哥_yong

1135

0

熵权法 TOPSIS 简介及实现好记性不如薄膜键盘

1.1万

12

TOPSIS理想解法(3)案例分析耿大哥讲算法

932

0

熵权topsis法面板数据如何计算大勇哥_yong

1296

0

熵权topsis的计算步骤、论文不同的做法分析和计算软件分享Matthew学长

3.3万

0

DEA方法归类、三阶段DEA、TOPSIS- DEA法论文分析小鱼没水不会游

6276

14

新手上路:熵权法(熵值法)原理,Excel操作及stata代码实现,水熊虫都能学会经济学西西弗斯

4.8万

64

spss小白快速上手之如何选择正确的综合评价方法spsspro

1.0万

1

展开

小窗

客服

顶部

赛事库 课堂 2021