基于云模型的安全风险评价Matlab代码和数据

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

基于云模型的施工安全风险评价Matlab代码和数据,运行环境matlab2020b及以上。两个MATLAB主程序代码文件主要实现了基于云模型的风险评估分析,结合专家打分数据,通过多级指标综合计算,最终生成风险等级的可视化云图。

主要功能

标准云模型构建
定义5个风险等级(稍有风险、一般风险、中度风险、较高风险、高度风险),通过期望(Ex)、熵(En)、超熵(He)生成标准云模型,并绘制云图,用于后续对比。

专家数据处理与二级指标建模
读取专家打分数据(20个二级指标,每个指标10个评分),利用cloud_SBCT_1thM函数为每个指标生成云模型参数(Ex, En, He),并保存结果。

多级指标综合

一级指标综合:将二级指标按权重(如人员风险、材料风险等类别)通过zonghe函数综合生成一级指标的云参数。

整体综合云:将一级指标按全局权重进一步综合,得到整体风险的综合云参数(EX, EN, HE)。

可视化对比
将各风险类别(人员、材料等)及整体综合云的云图与标准云模型叠加,直观展示风险隶属度分布。

算法原理

云模型
基于期望(Ex)、熵(En)、超熵(He)三个参数描述定性概念:

Ex:云滴分布的中心值,表示概念的核心。

En:反映概念的模糊范围,值越大覆盖范围越广。

He:控制云滴的离散程度,值越大云层越厚。
生成云滴时,通过正态分布随机生成(如En’ = normrnd(En, He),再根据X = normrnd(Ex, En’)生成数据)。

权重综合方法

一级指标综合:使用加权平均法对二级指标的云参数进行聚合。

整体综合:通过权重向量对一级指标参数进行线性组合(期望加权求和,熵和超熵通过误差传递公式计算)。

流程

标准云模型生成

定义5个等级的参数(Ex, En, He)。

调用cloud函数生成各等级的云滴数据,绘制标准云图。

专家数据处理

读取专家打分矩阵,逐行调用cloud_SBCT_1thM生成二级指标的云参数。

保存参数至Excel文件。

多级指标综合

按风险类别划分二级指标权重,综合生成一级指标参数(如人员风险R1)。

使用全局权重对一级指标参数进一步综合,得到整体风险的综合云参数。

可视化对比

分别绘制各风险类别及综合云的云图,叠加到标准云图上,标注风险等级。

关键函数

cloud(Ex, En, He, N):生成N个云滴(X,Y),用于绘制云图。

cloud_SBCT_1thM(data, N):根据专家数据生成云模型参数。

zonghe(data, w):按权重w综合多个云模型的参数。

应用场景

适用于施工安全、项目管理等领域中的风险评估,通过量化专家经验与不确定性分析,直观展示风险等级分布,辅助决策者制定风险应对策略。

计算公式

在这里插入图片描述
在这里插入图片描述

数据集

在这里插入图片描述

部分源码

%% 标准云参数 云模型
clc
clear 
close all
%% 等级1-稍有风险
Ex1=(0+20)/2;% 期望
En1=(20-0)/6;% 熵
He1=0.03;     % 超熵,控制标准隶属云的离散程度
%% 等级2-一般风险
Ex2=(20+40)/2;% 期望
En2=(40-20)/6;% 熵
He2=0.03;     % 超熵,控制标准隶属云的离散程度
%% 等级3-中度风险
Ex3=(40+60)/2;% 期望
En3=(60-40)/6;% 熵
He3=0.03;     % 超熵,控制标准隶属云的离散程度
%% 等级4-较高风险
Ex4=(60+80)/2;% 期望
En4=(80-60)/6;% 熵
He4=0.03;     % 超熵,控制标准隶属云的离散程度
%% 等级5-高度风险
Ex5=(80+100)/2;% 期望
En5=(100-80)/6;% 熵
He5=0.03;     % 超熵,控制标准隶属云的离散程度
% 等级1 云模型
N=4500;%% 云滴数
[X1,Y1]=cloud(Ex1,En1,He1,N);
% 等级2 云模型
[X2,Y2]=cloud(Ex2,En2,He2,N);
% 等级3 云模型
[X3,Y3]=cloud(Ex3,En3,He3,N);
% 等级4 云模型
[X4,Y4]=cloud(Ex4,En4,He4,N);
% 等级5 云模型
[X5,Y5]=cloud(Ex5,En5,He5,N);
rtcContent { padding: 30px; } .lineNode {font-size: 10pt; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: normal; }
function [X,Y]=cloud(Ex,En,He,N)
% %cloud正向云发生器
% 输入参数:Ex 期望;En 熵;He超熵;N 生成云滴的个数
% 输出:X,Y为云滴对应的坐标值
% 首先生成以En为数学期望,He2为方差的正态随机数
X=zeros(1,N);
Y=zeros(1,N);
X=normrnd(En,He,1,N);
%生成以Ex为期望,X(i)为方差的正态随机数
for k=1:N
    E1=X(k);
    X(k)=normrnd(Ex,E1,1);
    Y(k)=exp(-(X(k)-Ex)^2/(2*(E1^2)));
end

参考资料

https://hmlhml.blog.csdn.net/article/details/145554366
https://hmlhml.blog.csdn.net/article/details/144132533
https://hmlhml.blog.csdn.net/article/details/142660665

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器学习之心

谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值