数学建模——(多层)模糊评价模型matlab

一、应用

在模糊环境下,考虑多因素的影响,为了某种目的对一事物做出综合决策的方法,能够比较好的几句模糊的、难以量化的模型。

二、基本步骤

1、建立综合评价的因素集

这些因素通常具有不同程度的模糊性。

2、建立综合评价的评价集

评价者对评价对象可能做出的各种结果所组成的集合,通常具有不同等级。

3、确定各因素的权重

每个因素都有一个权重集

(1)有数据时,通过熵权法确定

(2)没有数据时,通过层次分析法确定

4、单因素模糊评价

(1)隶属函数的确定方法

①模糊统计法(数模基本不用)

②借助已有的客观尺度

eg.论域(家庭)->模糊集(小康家庭)->隶属度(恩格尔系数)

③指派法(套用分布作为隶属函数,主观性比较强)

(2)逐个对被评价对象从每个因素ui上进行量化

5、综合评价模型

B=A*R

6、对模糊综合评价结果定量分析

模糊综合评价的结果->被评价对象对各等级模糊子集的隶属度(一般是模糊矢量而不是一个值)

定量分析即将综合评价结果转换为综合分值,从而选出最优者

三、举例说明

下面以模糊综合评判在人事考核中的应用进行通俗易懂的说明

1、确定因素集U

U={u1​,u2​,u3​,u4​}

其中,u1​ 表示政治表现,u2​ 表示工作能力,u3​ 表示工作态度,u4​ 表示工作成绩。

2、确定评语集V

V={v1​,v2​,v3​,v4​,v5​}

其中,v1表示优秀,v2表示良好,v3表示一般,v4表示较差,v5​表示差。

3、确定因素集中各因素的权重A

A=[0.25,0.2,0.25,0.3](与U对应)

4、单因素模糊评价(以子因素为单位,对应评语等级,即对评语等级定量说明)

  • R1(政治表现,由群众评议打分): R1=[0.1,0.5,0.4,0,0]

  • R2(工作能力,由部门领导打分): R2=[0.2,0.5,0.2,0.1,0]

  • R3(工作态度,由部门领导打分): R3=[0.2,0.5,0.3,0,0]

  • R4(工作成绩,由单位考核组成员打分): R4=[0.2,0.6,0.2,0,0]

5、综合评价模型

->得到B矩阵:B=[0.175,0.53,0.275,0.02,0]

6、对模糊综合评价结果定量分析(综合分数转换)

->matlab代码

% Step 1: 定义因素集和评语集
U = {'政治表现', '工作能力', '工作态度', '工作成绩'};
V = {'优秀', '良好', '一般', '较差', '差'};

% Step 2: 定义权重向量
A = [0.25, 0.2, 0.25, 0.3]; % 各因素的权重

% Step 3: 构建模糊评判矩阵
R1 = [0.1, 0.5, 0.4, 0, 0]; % 政治表现
R2 = [0.2, 0.5, 0.2, 0.1, 0]; % 工作能力
R3 = [0.2, 0.5, 0.3, 0, 0]; % 工作态度
R4 = [0.2, 0.6, 0.2, 0, 0]; % 工作成绩

% 组合成一个矩阵
R = [R1; R2; R3; R4];

% Step 4: 计算模糊综合评判结果
B = A * R;

% Step 5: 综合分数转换
P = [5, 4, 3, 2, 1]; % 评判等级权向量
S = B * P';

% 显示最终结果
[~, maxIndex] = max(B);
finalGrade = V{maxIndex};
disp(['综合评判结果为:', finalGrade]);
disp(['综合分数为:', num2str(S)]);

% 可视化结果
figure;
bar(B);
set(gca, 'XTickLabel', V);
xlabel('评语等级');
ylabel('综合隶属度');
title('综合评判结果');

四、进阶版->多层次模糊综合评价

顾名思义,即在模糊综合评价的基础上,将评价问题分解为多个层次,每个层次进行模糊综合评价,然后逐层汇总。(即AHP和模糊综合评价的结合)

1、确定评价体系

①因素集

②评语集

V={v1​=优秀,v2​=良好,v3​=一般,v4​=较差,v5​=差}

③权重集

一级指标权重:A=[0.25,0.2,0.25,0.3]

2、三级模糊综合评判(各子因素评判)

3、二级模糊综合评判

4、一级模糊综合评判(最终评判)

-->matlab实现

% Step 1: 定义因素集和评语集
U = {'政治表现', '工作能力', '工作态度', '工作成绩'};
V = {'优秀', '良好', '一般', '较差', '差'};

% Step 2: 定义权重向量
A = [0.25, 0.2, 0.25, 0.3]; % 一级指标权重

% 定义模糊评判矩阵
R1 = [0.1, 0.5, 0.4, 0, 0]; % 政治表现
R2 = [0.2, 0.5, 0.2, 0.1, 0]; % 工作能力
R3 = [0.2, 0.5, 0.3, 0, 0]; % 工作态度
R4 = [0.2, 0.6, 0.2, 0, 0]; % 工作成绩

% 将模糊评判矩阵组合成一个矩阵
R = [R1; R2; R3; R4];

% Step 3: 二级模糊综合评判
% 计算模糊综合评判结果
B1 = A(1) * R1;
B2 = A(2) * R2;
B3 = A(3) * R3;
B4 = A(4) * R4;

% 组合评判结果
R_combined = [B1; B2; B3; B4];

% Step 4: 一级模糊综合评判
% 计算综合评判结果
B = A * R_combined;

% Step 5: 综合分数转换
P = [5, 4, 3, 2, 1]; % 评判等级权向量
S = B * P';

% 显示最终结果
disp(['综合评判结果为:良好,综合分数为:', num2str(S)]);

% 可视化结果
figure;
subplot(1,2,1);
plot(1:5, B1, '-o', 'DisplayName', '政治表现'); hold on;
plot(1:5, B2, '-o', 'DisplayName', '工作能力');
plot(1:5, B3, '-o', 'DisplayName', '工作态度');
plot(1:5, B4, '-o', 'DisplayName', '工作成绩');
xlabel('评语等级');
ylabel('隶属度');
title('各子因素模糊综合评判结果');
legend;

subplot(1,2,2);
bar(B);
set(gca, 'XTickLabel', V);
xlabel('评语等级');
ylabel('综合隶属度');
title('综合评判结果');

五、层次分析法or(多层次)模糊综合评级如何选择

  • 层次结构的复杂性

    • 如果问题具有明确的层次结构,且各层次之间存在明显的隶属关系,考虑使用 层次分析法(AHP)多层次模糊综合评价
    • 如果问题层次结构不明显,仅涉及单层次的多因素评价,使用 模糊综合评价法
  • 信息的模糊性和不确定性

    • 如果评价信息具有明显的模糊性和不确定性,且需要处理多个评价等级,考虑使用 模糊综合评价法多层次模糊综合评价
    • 如果信息相对明确,各因素之间可以通过成对比较确定相对重要性,使用 层次分析法(AHP)
  • 数据的复杂性

    • 如果评价涉及多个层次和复杂的因素关系,使用 多层次模糊综合评价
    • 如果评价相对简单,层次结构不复杂,使用 模糊综合评价法

参考资料

1、层次分析法、模糊综合评测法实例分析(涵盖各个过程讲解、原创实例示范、MATLAB源码公布) - 是不过三 - 博客园 (cnblogs.com)

2、 模糊综合评价在matlab上的实现_模糊综合评价法matlab-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值