多属性决策模型-matlab实现

这篇具有很好参考价值的文章主要介绍了多属性决策模型-matlab实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

适用于评价决策问题,例如:决策目标,备选方案

属性集合

  1. 影响力较强
  2. 性间独立属
  3. 容易辨别优劣
  4. 可量化
  5. 数量过多时(>7)分层

决策矩阵

表示方案对属性的偏好程

方案为行,属性为列,对每一方案每一属性取值

评价指标类型的一致化处理

一般来说,在评价指标x1,x2,…,xm(m>1)中可能包括“极大型”指标、“极小型”指标、“中间型”指标 和 “区间型”指标。

  • 极大型指标:总是期望指标的取值越大越好; 效益型指标,如:收益、利润;
  • 极小型指标:总是期望指标的取值越小越好; 费用型指标,如:成本、能耗;
  • 中间型指标:总是期望指标的取值既不要太大,也不要太小,即取适当的中间值最好;如:环境温度、湿度、人的身高、体重、BMI;
  • 区间型指标:总是期望指标的取值最好是落在某一个确定的区间内最好。如:水质量评估中PH值。

极大型指标和极小型指标又被称为效益型指标和费用型指标。

进行综合评价的过程中,将指标一致化(一样的指标类型),要么极小(综合评价值越小越好),要么极大(…)。评价指标预处理的过程中,首先将指标一致化处理。根据决策目标、实际问题来决定目标是极小还是极大!预处理数据最好不要产生大的变动。
多属性决策模型-matlab实现

多属性决策模型-matlab实现

决策矩阵标准化

  1. 区分费用型属性和效益性属性,对费用型属性值取倒数变换,将全部属性转为效益型
  2. 多属性决策模型-matlab实现

属性权重

对目标影响力的权重分配

信息熵法

熵:衡量不确定的指标,熵越大,不确定越大

多属性决策模型-matlab实现

动态加权函数的设定

考虑到评价指标的“质差”与“量差”的关系,选择动态权重函数时 既要能体现不同类型指标之间质的差异,也要能体现同类型指标量的差异。

具体取什么样的动态加权函数,主要是从实际问题出发分析确定。

对于不同的指标可以取相同的权函数,也可以取不同的权函数。

1.分段变幂函数

多属性决策模型-matlab实现

2.偏大型正态分布函数

多属性决策模型-matlab实现多属性决策模型-matlab实现

3.S型分布函数

多属性决策模型-matlab实现

综合方法

将决策矩阵与属性权重加以综合,得到最终巨册的数学方法

多属性决策模型-matlab实现

简单加权和法(首选)

多属性决策模型-matlab实现

加权积法

多属性决策模型-matlab实现

接近理想解的偏好排序法

https://blog.csdn.net/Shea111/article/details/107102312

多属性决策模型-matlab实现

求解方法:

  1. 正理想解: 每列最大值
  2. 负理想解: 每列最小值
  3. 求每列与正负理想解距离
  4. 求接近度

多属性决策模型-matlab实现

方案选取

  • 分配模式

    • 简单加权和法+归一化
    • 适用于资源分配问题
  • 理想模式

    • 简单加权和法+最大化
    • 适用于挑选最优者

代码实现

归一化函数

function D_std = gui1(D,k)
% 对数据进行归一化处理
% D为数据 k为归一化选项
D_std=[];
switch k
    %归一化
    case 1
        D_std=D./(ones(size(D,1),1)*sum(D,1));  %D列为1矩阵*D列和
    %最大化
    case 2
        D_std=D./(ones(size(D,1),1)*max(D,[],1));  %D列为1矩阵*D列最大值
    %模一化
    case 3
        mo_D=sqrt(sum(D.^2,1));
        D_std=D./(ones(size(D,1),1)*mo_D);  %D列为1矩阵*D列模
    %区间尺度变换/极值差
    case 4
        D_max=(ones(size(D,1),1)*max(D,[],1));
        D_min=(ones(size(D,1),1)*min(D,[],1));
        D_std=(D-D_min)./(D_max-D_min);
end

综合方法函数

function V_score = allway(D_std,W,k)
%综合方法
%D_std数据值,W属性权重,k方案选择
V_score=[];
switch k
    %简单求加权和
    case 1
        V_score=D_std*W;  
        V_score=V_score/sum(V_score);   %归一化处理
    %加权积法
    case 2
        V_mid=D_std.^(ones(size(D_std,1),1)*W');  %D列为1矩阵*W
        V_score=prod(V_mid,2);  %dij乘积
        V_score=V_score/sum(V_score);   %归一化处理
    %接近理想解的偏好排序法
    case 3
        V_mid=D_std.*(ones(size(D_std,1),1)*W');  %D列为1矩阵*W
        V_plus=ones(size(D_std,1),1)*max(V_mid,[],1);   %正理想解(列最大值向量)
        V_dim=ones(size(D_std,1),1)*min(V_mid,[],1);    %负理想解(行最大值向量)
        S_plus=sum((V_mid-V_plus).^2,2).^(0.5); %与正理想解距离
        S_dim=sum((V_mid-V_dim).^2,2).^(0.5);   %与负理想解距离
        C_plus=S_dim./(S_plus+S_dim);   %接近度
        V_score = C_plus/sum(C_plus);   %归一化
end
end

求信息熵

D=[ 1/25,9,7;
    1/18,7,7;
    1/12,5,5];
%% 归一化处理
D_std=gui1(D,1);
disp(D_std);


%%求信息熵
m=size(D,1);
E=-1/log(m)*sum(D_std.*log(D_std),1);    %求熵E
F=1-E;  %求区分度F
W=F/sum(F); %求x权重W
W=W';   %行向量转列向量
disp(W);

完整代码

D=[ 1/25,9,7;
    1/18,7,7;
    1/12,5,5];

%% 归一化处理
D_std=gui1(D,1);
disp(D_std);

%% 求信息熵
m=size(D,1);
E=-1/log(m)*sum(D_std.*log(D_std),1);    %求熵E
F=1-E;  %求区分度F
W=F/sum(F); %求x权重W
W=W';   %行向量转列向量
disp(W);

%% 综合方法
res = allway(D_std,W,1);    %加权和方法
disp(res);
res = allway(D,W,2);    %加权积方法
disp(res);
D_std=gui1(D,3);
res = allway(D_std,W,3);    %理想解方法
disp(res);

多属性决策模型-matlab实现文章来源地址https://www.toymoban.com/news/detail-513906.html

到了这里,关于多属性决策模型-matlab实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 综合评价算法 | Matlab实现基于TOPSIS法的综合评价算法

    效果一览 文章概述 综合评价算法 | Matlab实现基于TOPSIS法的综合评价算法 研究内容 C.L.Hwang 和 K.Yoon 于1981年首次提出 TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution)。TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方

    2024年02月12日
    浏览(75)
  • 图像质量评价matlab实现(含代码)

    这篇是上两篇的一个延续吧,对偏振HSI伪彩色图像融合增强效果的一个评价 代码里面包含了很多种评价方式,附带一个评价说明,链接如下: 图像质量评价指标(全),可结合blog-机器学习文档类资源-CSDN下载 下面是我大作业用到了的,share!     随着经济指纹图像信息技

    2024年02月05日
    浏览(32)
  • 综合评价与决策方法

    1、理想解法:有效的多指标评价方法; 2、模糊综合评判法:多指标or say多目标决策问题,解决模糊性和人的经验性; 3、数据包络分析:比较不同决策的相对有效用,多指标输入多指标输出系统; 4、灰色关联度分析:样本规律性和数量要求不高,一定程度排除决策者主管任

    2024年02月15日
    浏览(69)
  • 【MATLAB第72期】基于MATLAB的LightGbm(LGBM)梯度增强决策树多输入多输出回归预测模型

    (LGBM)是一种基于梯度增强决策树(GBDT)算法。 往期研究了多输入单输出回归预测方法,本次研究多输入多输出回归预测。 参考链接: lightgbm原理参考链接: 训练过程评价指标metric函数参考链接: lightgbm参数介绍参考链接: lightgbm调参参考链接: 1.数据设置 数据(103个样本,

    2024年02月09日
    浏览(29)
  • 【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中)

    CSDN后台私信回复“71期”即可获取下载方式。

    2024年02月09日
    浏览(30)
  • 【MATLAB第70期】基于MATLAB的LightGbm(LGBM)梯度增强决策树多输入单输出回归预测及分类预测模型(全网首发)

    (LGBM)是一种基于梯度增强决策树(GBDT)算法。 本次研究三个内容,分别是回归预测,二分类预测和多分类预测 参考链接: lightgbm原理参考链接: 训练过程评价指标metric函数参考链接: lightgbm参数介绍参考链接: lightgbm调参参考链接: 1.数据设置 数据(103个样本,7输入1输出)

    2024年02月10日
    浏览(32)
  • 遗传算法决策变量降维的matlab实现

            遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它最初由美国Michigan大学的J. Holland教授提出,1967年, Holland 教授的学生 Bagley在其博士论文中首次提出了“遗传算法”一词,他发展

    2024年02月11日
    浏览(30)
  • Matlab实现决策树算法(附上完整仿真源码)

    决策树是一种常见的机器学习算法,它可以用于分类和回归问题。在本文中,我们将介绍如何使用Matlab实现决策树算法。 在使用决策树算法之前,需要对数据进行预处理,包括数据清洗、缺失值处理、特征选择等。在本文中,我们使用了UCI Machine Learning Repository中的Iris数据集

    2024年02月17日
    浏览(32)
  • 用于平抑可再生能源功率波动的储能电站建模及评价(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 场景一:考虑储能平抑风电 2.2 场景二

    2023年04月09日
    浏览(29)
  • Matlab实现决策树算法(附上多个完整仿真源码)

    决策树是一种常见的机器学习算法,它可以用于分类和回归问题。在本文中,我们将介绍如何使用Matlab实现决策树算法。 在使用决策树算法之前,需要对数据进行预处理,包括数据清洗、缺失值处理、特征选择等。在本文中,我们使用了UCI Machine Learning Repository中的Iris数据集

    2024年02月13日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包