组合赋权法之matlab

目录

 

1.简介

2.算法原理

2.1 指标正向化

2.2 数据标准化

2.3 计算主观权重

2.4 计算客观权重

2.5 计算组合权重

2.6 计算的得分

3.实例分析

3.1 读取数据

3.2 指标正向化

3.3 数据范围标准化

3.4 计算主观权重

3.5 计算客观权重

3.6 计算组合权重

3.7 计算得分

完整代码


1.简介

        主观赋权法(AHP)在根据决策者意图确定权重方面比客观赋权法(熵权法)具有更大的优势,但客观性相对较差,主观性相对较强;

        而采用客观赋权法有着客观优势,但不能反映出参与决策者对不同指标重视程度,并且会有一定的权重和与实际指标相反的程度。

        针对主客观赋权方法的优缺点,我们还力求将主观随机性控制在一定范围内,实现主客观赋权中的中正。客观方面。指标赋权公正,实现了主客观内在统一,评价结果真实、科学、可信。

        因此,在对指标进行权重分配时,应考虑指标数据之间的内在统计规律和权威值。给出了合理的决策指标赋权方法,即采用主观赋权法(AHP)和客观赋权法(熵权法)相结合的组合赋权方法,以弥补单一赋权带来的不足。将两种赋权方法相结合的加权方法称为组合赋权法。

注意:本文所介绍的组合权重法请大家结合实际情况慎重使用,因为这个方法不太好

2.算法原理

2.1 指标正向化

这个步骤视情况自己决定把。。。。

        不同的指标代表含义不一样,有的指标越大越好,称为越大越优型指标。有的指标越小越好,称为越小越优型指标,而有些指标在某个点是最好的,称为某点最优型指标。为方便评价,应把所有指标转化成越大越优型指标。

设有m个待评对象,n个评价指标,可以构成数据矩阵 

设数据矩阵内元素,经过指标正向化处理过后的元素为  (Xij)'

  • 越小越优型指标:C,D属于此类指标

其他处理方法也可,只要指标性质不变即可

  • 某点最优型指标:E属于此类指标

        设最优点为a, 当a=90时E最优。

          其他处理方法也可,只要指标性质不变即可

  • 越大越优型指标:其余所有指标属于此类指标

   此类指标可以不用处理,想要处理也可,只要指标性质不变

2.2 数据标准化

 因为每个指标的数量级不一样,需要把它们化到同一个范围内再比较。标准化的方法比较多,这里仅用最大最小值标准化方法。

        设标准化后的数据矩阵元素为rij,由上可得指标正向化后数据矩阵元素为 (Xij)'

2.3 计算主观权重

  • 得到最大特征值对应特征向量

  • 得到权重向量

2.4 计算客观权重

  • 计算信息熵

  • 得到权重

2.5 计算组合权重

主客观组合权重是:指标的综合权数 Wj :

αj​——层次分析法计算所得的权重
βj ​——熵值法计算所得权重

层次分析法
熵值法

2.6 计算的得分

3.实例分析

3.1 读取数据

data=xlsread('D:\桌面\zuhefuquan.xlsx')

返回:

3.2 指标正向化

本实例中P1、P3属于此类指标

因此负向指标正向化

data1=data;
%%越小越优型处理
index=[1,3];%越小越优指标位置
for i=1:length(index)data1(:,index(i))=max(data(:,index(i)))-data(:,index(i));
end
data1

返回:

在对剩余正向指标数据可以不做处理

3.3 数据范围标准化

为什么不做0,1的标准化呢,因为一标准化有不少数据变成了0,对结果起到副作用

data1=mapminmax(data1',0.02,1) %标准化到0.002-1区间

返回:

3.4 计算主观权重

%求特征值特征向量,找到最大特征值对应的特征向量
[V,D]=eig(data1);
tzz=max(max(D));     %找到最大的特征值
c1=find(D(1,:)==tzz);%找到最大的特征值位置
tzx=V(:,c1) %最大特征值对应的特征向量
%赋权重
[n,m]=size(data); %查看数据行数和列数
quan=zeros(n,1);
for i=1:n
quan(i,1)=tzx(i,1)/sum(tzx);
end
a=quan'

返回:

3.5 计算客观权重

data3 = data1;
%得到信息熵
[m,n]=size(data3);
p=zeros(m,n);
for j=1:np(:,j)=data3(:,j)/sum(data3(:,j));
end
for j=1:nE(j)=-1/log(m)*sum(p(:,j).*log(p(:,j)));
end
%计算权重
b=(1-E)/sum(1-E)

返回:

3.6 计算组合权重

w=b;
sum = 0;
for i=1:n
sum=sum+sqrt(a(i)*b(i));
end
for i=1:n
w(i)=sqrt(a(i)*b(i))/sum;
end
w

返回:

3.7 计算得分

%计算得分
s=data1*w';
Score=100*s/max(s);
for i=1:length(Score)fprintf('方案%d百分制评分为:%4.2f\n',i,Score(i));   
end

返回:

完整代码

%组合赋权法
clc;clear;
data=xlsread('D:\桌面\zuhefuquan.xlsx');
data1=data;
%%越小越优型处理
index=[1,3];%第一三个指标为负向指标,
for i=1:length(index)data1(:,index(i))=max(data(:,index(i)))-data(:,index(i));
end
data1;
data1=mapminmax(data1',0.02,1); %标准化到0.002-1区间data2 = data1;
%求特征值特征向量,找到最大特征值对应的特征向量
[V,D]=eig(data2);
tzz=max(max(D));     %找到最大的特征值
c1=find(D(1,:)==tzz);%找到最大的特征值位置
tzx=V(:,c1); %最大特征值对应的特征向量
%赋权重
[n,m]=size(data); %查看数据行数和列数
quan=zeros(n,1);
for i=1:n
quan(i,1)=tzx(i,1)/sum(tzx);
end
a=quan';data3 = data1;
%得到信息熵
[m,n]=size(data3);
p=zeros(m,n);
for j=1:np(:,j)=data3(:,j)/sum(data3(:,j));
end
for j=1:nE(j)=-1/log(m)*sum(p(:,j).*log(p(:,j)));
end
%计算权重
b=(1-E)/sum(1-E);
w=b;
sum = 0;
for i=1:n
sum=sum+sqrt(a(i)*b(i));
end
for i=1:n
w(i)=sqrt(a(i)*b(i))/sum;
end
w;
%计算得分
s=data1*w';
Score=100*s/max(s);
for i=1:length(Score)fprintf('方案%d百分制评分为:%4.2f\n',i,Score(i));   
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组合赋权法之python

目录 1.简介 2.算法原理 2.1 指标正向化 2.2 数据标准化 2.3 计算主观权重 2.4 计算客观权重 2.5 计算组合权重 2.6 计算的得分 3.实例分析 3.1 读取数据 3.2 指标正向化 3.3 数据范围标准化 3.4 计算主观权重 3.5 计算客观权重 3.6 计算组合权重 3.7 计算得分…

蒙特卡罗模拟法 —— matlab

目录 1.简介 2.实例分析 2.1 模拟求近似圆周率 2.2 估算定积分 2.3 求解整数规划 1.简介 蒙特卡洛又称随机抽样或统计试验,就是产生随机变量,带入模型算的结果,寻优方面,只要模拟次数够多,最终是可以找到最优解或…

浏览器打开出现证书错误_2分钟轻松解决ie证书错误

我们日常在用IE上网的时候,可能会出现IE证书错误的提示,对于电脑小白来说会很痛苦,不妨跟小编一起学习,学会了下次就知道怎么解决了,下面就告诉大家,如何解决显示IE网页证书错误最基本的方法!其…

蒙特卡罗模拟法 —— python

目录 1.简介 2.实例分析 2.1 模拟求近似圆周率 2.2 估算定积分 2.3 求解整数规划 1.简介 蒙特卡洛又称随机抽样或统计试验,就是产生随机变量,带入模型算的结果,寻优方面,只要模拟次数够多,最终是可以找到最优解或…

win10推送_Win10推送更新升级Edge浏览器:用户发现电脑速度因此变慢

新Win10让电脑变慢?如果你有类似感觉,那并非首例。据外媒报道,不完全汇总发现,在打上Windows 10补丁KB4559309, KB4541301或者KB4541302(视Windows版本不同)后,部分用户报告了启动速度以及日常运行程序变慢的情况。上述…

java人民币读法转换

实现浮点数转换成人民币读法字符串 将浮点数转换成人民币读法字符串, 例如: 将1006.333转换为壹千零陆元叁角叁分。 整体解析: 将浮点数分成整数部分和小数部分,分开处理整数部分和小数部分。 小数部分的处理比较简单&#xff…

博弈论 —— matlab

目录 1.简介 2.算法原理 3.实例分析 1.各参数初始化 2.计算期望与实际期望 3.博弈过程 4.绘图 完整代码 1.简介 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。 博弈论主要研究公式化了的激励结构间的相互作用。是研…

电脑有回声_电脑连接麦克风有回音怎么办?麦克风回声的解决方法

电脑插入麦克风后说话有回声怎么办?麦克风说话有回音该如何解决?下面给大家介绍电脑连接麦克风有回音的解决方法。解决方法:1、打开【控制面板】,找到并点击【硬件和声音】,如图所示:2、在【硬件和声音】窗…

线性规划 —— matlab

目录 一、基本概念 二、概念的数学形式表达 三、确定w和b 1.读取或输入数据 2.归一化、标准化 2.1 均值 2.2 归一化 2.3 标准化 3.求解w和b 1.直接解方程 2.最小二乘法(least square method)求解: 4. 评估回归模型 四、regress线…

Java商品信息查询

使用一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能。 假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量、出库量和当前库存量。定义一个一维数组来存储 5 件商品的名称,并定义一个二维…

openwrt dhcp 无法获取ip_电脑的 ip 是怎么来的呢?我又没有配置过

来源 | 苦逼的码农作者 | 帅地对于我们平时上网的电脑的 ip 是如何来的呢?一种简单的方法就是我们自己来配置了显然,这里有两种配置方式,一种是自动获取 ip 地址,一种是我们手动来设置,我相信大部分人都是通过自动获取…

线性回归 —— python

目录 一、基本概念 二、概念的数学形式表达 三、确定w和b 1.读取或输入数据 2.归一化、标准化 2.1 均值 2.2 归一化 2.3 标准化 3.求解w和b 1.直接解方程 2.最小二乘法(least square method)求解: 4. 评估回归模型 四、sklearn中…

审查元素找不到创建的元素_香奈儿除了珍珠,还有哪些你不知道的经典元素?答案在原文中找...

Chanel曾经说过:“没有珍珠的女人,不算是女人”珍珠是Coco永远的标志无论白天还是夜晚也无论她穿着运动服还是毛衣男装裤甚至在她人生最后的一段日子珍珠饰品都如影随形。BUT!你能相信?对珍珠如此看重的Coco竟然卖的大部分珍珠是人…

博弈论 —— python

目录 1.简介 2.算法原理 3.实例分析 1.各参数初始化 2.计算期望与实际期望 3.博弈过程 4.绘图 完整代码 1.简介 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。 博弈论主要研究公式化了的激励结构间的相互作用。是研…

android应用程序 多少钱_关于APP开发你最想了解的事,开发一个APP多少钱?

当我们在进行APP开发,最关注的问题一定是APP开发的价格问题,而作为软件开发行业的从业人员,经常会遇到这样的情况:“别说这么多,你只要告诉我开发一个软件多少钱就行了”。郑州APP开发公司的确,无论我们买什…

mvc 扫描二维码跳转内部指定页面_开源神器:一个二维码,让文件传输不设限!...

大家好,我是小 G。今天给大家推荐一个在前不久火遍 GitHub 的开源项目:QRCP。从项目的命名你们应该就能大致猜测出来,这款神器的主要作用,就是能通过指定二维码,快速完成文件的传输功能。项目作者是来自意大利的一位小…

K-means聚类 —— matlab

目录 1.简介 2.算法原理 3.实例分析 3.1 读取数据 3.2 原理推导K均值过程 3.3 自带kmeans函数求解过程 完整代码 1.简介 聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为…

数据线给电脑联网是什么原理_物联网孵化的产物——条码扫描器

一、什么是物联网?物联网的概念由凯文阿什顿(Kevin Ashton)于1999年被提出,即Internet of Things(IOT),也称为Web of Things。根据阿什顿的想法,计算机最终能够在没有人工干预的情况下,自主产生及收集数据,…

灰色关联法 —— matlab

目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 的折线图 3.4 计算灰色相关系数 完整代码 1.简介 对于两个系统之间的因素,其随时间或不同对象而…

灰色关联与TOPSIS法 —— matlab

目录 1.简介 2.算法详解 2.1 指标正向化及标准化 2.2 找到最大最小参考向量 2.3 计算与参考向量的相关系数 2.4 求评分 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 得到最大最小参考行 3.4 与最大值的灰色相关系数 3.5 与最小值的灰色相关系数 3.6 计算综合评分 …