• / 8
  • 下载费用:10 金币  

Matlab学习系列30. 理想解法(TOPSIS)法.docx

关 键 词:
Matlab学习系列30. 理想解法(TOPSIS)法.docx
资源描述:
30. 理想解法(TOPSIS)法一、基本原理TOPSIS 法是一种综合评价方法,其基本原理是:(1) 将 n 个评价指标看成 n 条坐标轴,由此可以构造出一个 n 维空间,则每个待评价的对象依照其各项指标的数据就对应 n 维空间中一个坐标点;(2) 针对各项指标从所有待评价对象中选出该指标的最优值(理想解,对应最优坐标点)和最差值(负理想解,对应最差坐标点) ,依次求出各个待评价对象的坐标点分别到最优坐标点和最差坐标点的距离 和*d0(3) 构造评价参考值 0*df则 值越大代表评价结果越优。f二、算法步骤1. 构造决策矩阵 ,每一列是一个评价指标,每一行是()ijmnAa一条待评价样本;为去掉量纲效应,做规范化处理得到 ,其()ijmnBb中 21, , 1,mijijijbajn 注:该规范化法处理后,各评价样本的同一评价指标值的平方和为 1, 适合 TOPSIS 法中计算欧氏距离的场合。2. 根据每个评价指标对评价结果的贡献程度的不同,指定不同的权重: ,将 B 的第 j 列乘以其权重 ,得到加权规范矩1[,]nw jw阵 ()ijmnCc3. 确定正理想解 和负理想解*C0C*011[,], [,]nncc 其中,, *max, injjjcj若 第 评 价 指 标 是 正 向 指 标 ( 值 越 大 越 好 ), 若 第 评 价 指 标 是 负 向 指 标 ( 值 越 小 越 好 ) 1,jn, 0, axijjijjc若 第 评 价 指 标 是 正 向 指 标 ( 值 越 大 越 好 ), 若 第 评 价 指 标 是 负 向 指 标 ( 值 越 小 越 好 ) ,j4. 计算每个待评价样本到正理想解和负理想解的距离 和*id0i**21(), 1,niijjjdcim0021(), ,niijjj i5. 计算每个待评价样本的评价参考值 0*, 1,iidfim再将 从大到小排列,得到各评价样本的优劣结果。if三、数据规范化处理1.为什么需要数据规范化?原始样本数据的不同变量列的数据,可能:(1) 不具有一致性:有的是越大越好,有的是越小越好,有的是在某区间最佳;(2) 量纲不同:由于计量单位不同,不同列的数值大小差异可能很大;(3) 极差不同:最大值最小值之差不同,不具有可比性。上述三个问题可能会导致计算结果不正确、计算时间增加、计算结果无法收敛等。所以,在代入模型前,一般需要对原始数据做标准化(归一化)处理。注:若原始数据接近规范,则不需要做归一化;应该将样本数据和测试数据放在一起归一化,例如,神经网络训练的时候,应该考虑极值情况,以极值作分母,这样可能效果更好一点。2. 数据规范化方法(1) 同向性变换设 x 为样本数据,若 x 第 j 列是正向指标(值越大越好) ,则x(:,j)=x(:,j)/max(x(:,j))变换后,最优值是 1,最差值不一定是 0;若 x 第 j 列是负向指标(值越小越好) ,则x(:,j)=1-x(:,j)/max(x(:,j))变换后,最优值不一定是 0,最差值是 0.(2) 极差归一化对原始数据做线性变换,使结果落到区间[0, 1]. 若 x 是正向指标(值越大越好) ,则y=(x-Min)/(Max-Min)若 x 是负向指标(值越小越好) ,则y=(Max-x)/(Max-Min)注:该方法有一个缺陷就是当有新数据加入时,可能导致 Max和 Min 的变化,需要重新计算一次 Max 和 Min。function y=guiyi(x,type,ymin,ymax)%自编函数实现正向或负向指标归一化到区间[ymin,ymax],返回归一化后的数据矩阵%x为原始数据矩阵, 一行代表一个样本, 每列对应一个指标%type设定正向指标1,负向指标2[n,m]=size(x);y=zeros(n,m);xmin=min(x);xmax=max(x);switch typecase 1for j=1:my(:,j)=(ymax-ymin)*(x(:,j)-xmin(j))/(xmax(j)-xmin(j))+ymin;endcase 2for j=1:my(:,j)=(ymax-ymin)*(xmax(j)-x(:,j))/(xmax(j)-xmin(j))+ymin;endend或者使用 Matlab 自带函数 mapminmax()实现极差归一化与反归一化,基本格式为:[Y, PS]=mapminmax(X, Ymin, Ymax); %PS 记录该变换过程mapminmax('apply', Z, PS); %对矩阵 Z 实施 PS 变换过程mapminmax('reverse', Y, PS) ; %
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:Matlab学习系列30. 理想解法(TOPSIS)法.docx
链接地址:https://www.weizhuannet.com/p-9142841.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开