数学建模 02多属性决策 归一化处理

多属性决策

什么是多属性决策

它指的是利用已有的决策信息通过移动的方式对一组(有限个)备选方案进行排序或者择优。它的主要组成部分有如下2种:

1、获取决策信息:属性权重和属性值(实数、区间数和语言)。

2、通过一定的方式对决策信息进行集结并对方案进行排序和择优

现在我们暂时先抛开属性权重和属性值不讲,我们先来讲一讲第二点,也就是如何对决策的信息进行集结。信息集结的方法有很多,包括

  • 加权算术平均算子(WAA)
  • 加权几何平均算子(WGA)
  • 有序加权平均算子(OWA)

在本文中,我们只讲最重要的,也是应用最广泛的加权算术平均算子(WAA)

举个栗子:

也可以类比大学中,每科的成绩都是由出勤,作业分,期末考试等等加权得到的。

在多属性决策中,因为属性类型的不同,通常需要归一化处理。

  • 效益型:属性值越大越好(比如利润);
  • 成本型:属性值越小越好(比如成本价);
  • 固定型:属性值越接近某个固定值α越好(生产标注宽度);
  • 偏离型:属性值越偏离某个固定值β越好;
  • 区间型:属性值越接近某个固定区间[q1,q2]越好;
  • 偏离区间型:属性值越偏离某个固定区间[q1,q2]越好;

 

 下面,我们给出归一化处理代码。

 

用函数mapminmax
默认的map范围是[-1, 1],所以如果需要[0, 1],则按这样的格式提供参数:
MappedData = mapminmax(OriginalData, 0, 1);
只按行归一化,如果是矩阵,则每行各自归一化,如果需要对整个矩阵归一化,用如下方法:
FlattenedData = OriginalData(:)'; % 展开矩阵为一列,然后转置为一行。
MappedFlattened = mapminmax(FlattenedData, 0, 1); % 归一化。
MappedData = reshape(MappedFlattened, size(OriginalData)); % 还原为原始矩阵形式。此处不需转置回去,因为reshape恰好是按列重新排序

python归一化,标准化,正则化见机器学习分类。    ps:需要的同学请留言,这个博客还没更新机器学习的相关内容

下面为一个数模实例。

实例中属性值的正则化处理:

构建成对比较矩阵,计算每一个属性的权重。

成对比较矩阵的matlab代码

层次分析法,成对比较矩阵

利用WAA的求解方法,求出结果:

最后,分别计算4家企业的WAA:

结果显示,第三家最高,所以选择第三家。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值