【MATLAB第107期】基于MATLAB的Morris全局敏感性分析模型(无目标函数)

news2024/11/25 20:15:29

【MATLAB第107期】基于MATLAB的Morris全局敏感性分析模型(无目标函数)

一、原理介绍

1.基本原理:
Morris方法采用概率均匀抽样的方式估计每个模型输入因子在输出结果中的重要性,通过比较系统在不同输入参数值上的输出结果变化来度量每个参数的敏感性 。

该方法的原理与局部敏感性分析中的“一次变化一个因子”方法相似,通过计算所谓的基本效应(elementary effect, EE)来衡量每个参数对模型输出的全序影响。
如式(1)所示, 对初始状态进行多次反复采样, 求各次采样的基效应,
11并用式(2)求其均值 μi, 衡量每个参数对模型输出的全序影响。
在这里插入图片描述
在具体实施过程中,Morris方法通过对每个输入变量进行随机抽样(本文使用LHC抽样,并提供多种抽样方法如sobol /halton),并在这些抽样点上加上随机扰动来分析输入变量对输出的影响。计算每个输入变量的平均值和标准差,然后计算变量在不同取值下的输出变化率。通过比较各个变量的输出变化率来确定其对输出的敏感性。

Morris方法将每个输入变量分为几个等级,通过随机选取初始值、加上随机扰动得到新值、计算新值对应的输出值及其变化量,重复这一过程以获得一定数量的变化量,再计算这些变化量的平均值和标准差。最终,根据变量的平均变化量和标准差来计算变量的元素敏感度和总体敏感度,从而确定不同输入变量的相对重要性。

2.算法步骤:

进行参数采样,通常采用拉丁超立方抽样方法以保证参数的均匀分布 。
对每个候选参数向量进行扰动计算,即改变其中一个参数的值按照一定的步长。
计算扰动后的输出值,并使用所谓的“元距离”(Elementary Effect)来度量输出结果的变化 。

重复计算以提高结果的准确性,多次重复上述步骤以获取一组灵敏度度量值 。
灵敏度度量:Morris方法通过计算每个参数的平均元距离和标准差来评估参数的敏感性,这些度量值反映了参数变化对输出结果的影响程度 。

二、morris方法与sobol方法对比

Morris方法和Sobol方法都是全局敏感性分析的常用技术,它们各自有不同的特点和应用场景:

Morris方法:上文已介绍

Sobol方法:Sobol方法基于方差分解,通过计算每个参数或参数组合对输出方差的份额来确定其对输出的敏感性。这种方法可以识别参数之间的相互作用,并量化它们对输出总方差的贡献。Sobol方法通常采用蒙特卡洛随机采样法生成样本 。

两种方法的主要差异包括:

抽样方法:Morris方法通常使用分层抽样,如拉丁超立方抽样,而Sobol方法则多采用随机采样。
计算成本:Morris方法通常计算成本较低,适合初步筛选重要的输入参数,而Sobol方法计算成本较高,但可以提供更全面和深入的敏感性分析。
结果解释:Morris方法的结果较容易解释,通常使用均值和标准差来表示参数的敏感性;Sobol方法则提供了一阶和总效应指数,可以区分参数的独立影响和相互作用。
适用性:Morris方法适用于模型输入参数数量较多的情况,而Sobol方法适用于需要深入理解参数影响和参数间相互作用的情况。

三、无目标函数实现思路

借鉴往期文章, 如用BP神经网络对输入与输出数据进行非线性函数拟合,通过LHC函数抽样参数,调用BP训练模型进行计算。

nfac = 7;  % 输入参数数量  
npoint = 1000;  % 每个参数的采样点数 
VarMin=[137	0	0	160	4.4	708	650];%各个参数下限
VarMax=[374	193	260	240	19 1049.90	902];%各个参数上限

四、代码展示

在这里插入图片描述

clear all
% 调用Morris敏感性分析函数  
nfac = 7;  % 输入参数数量  
npoint = 1000;  % 每个参数的采样点数 
VarMin=[137	0	0	160	4.4	708	650];%各个参数下限
VarMax=[374	193	260	240	19 1049.90	902];%各个参数上限
[mu, order] = morris(@fun, VarMin, VarMax,nfac, npoint);  
  
% 输出结果  
disp('敏感度指数(降序排列):');  
disp(mu);  
disp('参数顺序(按敏感度):');  
disp(order);
figure()
 bar([order]);
 xlabel('输入变量')
  ylabel('评价指标')
 title('morris全局敏感性分析(无目标函数)')
function [mu, order] = morris(model_function,VarMin, VarMax,nfac, npoint)  
    % 1.设置参数变化量  
    % 2.初始化输出矩阵  
    % 3.LHC生成随机采样点  
    % 4.计算基础输出  
    % 5.计算每个参数的基本效应  
    % 5.1正向变化  
    % 5.2负向变化  
    % 6.计算敏感度指数  

五、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“107期”以及相应指令,即可获取对应下载方式。

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

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

相关文章

智观察 | 行业赛道里的AI大模型

‍ “AI改变世界”被炒得热火朝天,结果就换来AI聊天? 实际上,在日常娱乐之下,AI正在暗暗“憋大招”,深入各行各业,发挥更专业的作用。 自动驾驶 最近“萝卜快跑”霸榜热搜长达一周,让无人驾…

ECMAScript 6 入门 学习 日志笔记 2024/8/6 13:59

就读书籍: ECMAScript 6 入门 作者:阮一峰https://www.ruanyifeng.com/ 个人理解笔记 { } 块级 函数不能先用后声明 Let 优先函数表达 不可重复声明同一变量 { letfunction (){ } } 不谈其他,只要在{ } 中即可 ,简单暴力理解 const 和 let 类似 …

语言模型-神经网络模型(二)

神经网络模型语言模型 神经网络模型神经网络的分类神经网络模型和Ngram对比应用一-话者分离对比优劣 应用二-数字归一化应用三-文本打标 神经网络模型 释义: 与ngram模型相似使用,前n个词预测下一个词,输出在字表上的概率分布;过…

【Playwright+Python】使用Playwright进行API接口测试

在当今的自动化测试领域,结合Web UI和API接口测试已成为提升测试覆盖率和效率的关键。Playwright作为一个强大的自动化测试工具,除了在Web UI测试中大放异彩,还能与Python结合,实现强大的API接口测试功能。本文将带你探索如何使用…

面试软件测试岗:经典面试题!全背下来,月薪10K起步...

背题是一个快速应付面试的方式,但如果你想在软件测试行业稳步前进、步步为营的话,建议大家还是有序学习软件测试知识,积累够了,转行、跳槽都是顺其自然的。 1、什么是兼容性测试?兼容性测试侧重哪些方面? …

告别录屏难题:2024四大热门电脑录屏软件推荐

进行在线教学、游戏直播、制作教程视频,录屏已成为我们日常生活和工作的重要需求。电脑怎么录屏?一款好用的录屏软件十分重要。今天,我们就来为大家推荐四款实用的电脑录屏工具。 1. 福昕录屏大师:专业级录屏,满足多样…

深入理解接口测试:实用指南与最佳实践(四)IHRM管理系统实战-项目分析

​ ​ 您好,我是程序员小羊! 前言 这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用…

前端获取视频文件宽高信息和视频时长

安装 yarn add video-metadata-thumbnails | npm install video-metadata-thumbnails引入依赖包 import { getMetadata } from video-metadata-thumbnails使用 if (file.name.includes(mp4)) {if (file) {try {console.log(file)// 获取视频的元数据const metadata await …

Linux基础笔记分享(超详细~)

文章目录 Linux基础1.基础概念2.基础命令命令行快捷键自动补全: tab移动光标快速删除翻看历史命令终止程序退出登录清屏 查看命令帮助alias命令别名-快捷键pwd-类似于地图cd-类似于传送术mkdir-类似于合成装备touch-创建文件ls-类似于查看装备tree-打印目录层级结构cp-复制命令…

快速上手AWS cloudfront产品

AWS CloudFront,亚马逊推出的卓越全球内容分发网络服务,专为加速网站内容的极速传输而设计,旨在大幅度削减加载延迟,同时确保内容传递过程中的高度安全性和无懈可击的可靠性。借助CloudFront的强大功能,用户能够轻松实…

6个适用于Linux具有数据加密功能的绝佳软件和应用

数据加密在如今的网络安全领域是一个不可或缺的功能。该功能支持您编码数据,让没有访问权限的其他人无法读懂您的数据。若要增强在网络上的安全性,选择使用默认拥有此实用功能的软件或许是个不错的办法。 在本文中,您将了解到一系列运行在Li…

C++空指针(nullptr)

C空指针(nullptr) ​ 在C语言中我们把空指针定义成NULL,但是这在C中会有所问题,因为C对指针类型转换比较严格。下面让我来深入了解一下NULL与nullptr。 NULL实际就是一个宏,在C头文件(stddef.h)中,可以看到如下代码:…

vue3学习day03-vue3的生命周期、父子通信、模版引用、defineExpose

11、vue3的生命周期 (1)Vue2中生命周期: beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed (2)选项式API的生命周期: BeforeCreate/created、beforeMou…

TCP协议及ip

传输控制协议 通信前必须建立连接 tcp传输数据可靠 这就和大家的qq号和手机号一样 没有完全相同的qq号和手机号 端口号:1-65535 的一个整数 1-1024 通过端口号可确定哪一个程序在运行 应用程序的id 自定义端口号5999之后 在Qt中使用网络通信 套…

Apache Dolphinscheduler在中创新航的落地与实践

背景介绍 我司中创新航&#xff08;CALB&#xff09;&#xff0c;是全球领先的新能源科技企业 &#xff0c;致力于成为能源价值[创造者](<https://baike.baidu.com/item/创造者/10818258?fromModulelemma_inlink" t "/Users/shangeyao/Documents\x/_blank>)&…

directx修复工具:Windows 必备修复工具,一键解决 dll 丢失问题!

电脑出现DLL文件丢失要怎么恢复&#xff1f; 关于电脑系统修复的工具&#xff0c;还是有很多推荐的。金舟DirectX.DLL一键修复是一款强大的系统级工具软件&#xff0c;专门用于修复和恢复操作系统中动态链接库&#xff08;DLL&#xff09;文件的软件工具。软件能够解决由于DLL…

嵌入式--->STM32H7系列DMA寄存器详解

在参考手册中已经有每个寄存器的详细解释&#xff0c;这里做以翻译和调用过程的讲述&#xff0c;仅记录了解到的寄存器&#xff0c;并不全面&#xff0c;仅仅是为了方便查阅 相关中断 如下事件都会产生中断&#xff0c;前提是: •相应的中断事件xx被启用(GPDMA_CxCR)。xxIE 1…

0 元试用,一站式搭建企业云上数据库与BI 数据可视化分析平台

商业环境快速变化&#xff0c;每一次的数据分析和决策的速度都可能直接影响到公司的业务成果。在商业决策过程中&#xff0c;时间就是金钱。 为了加快数据处理&#xff0c;让数据可视化更加智能&#xff0c;我们推出了Sugar BI 和 GaiaDB 组合购&#xff0c;帮助业务快速搭建数…

GPU 片上调度系统

这篇文章分析和说明GPU 片上的kernel 通过stream 作为载体是如何分发到SM 处理器上&#xff0c;同时CUDA 所抽象的grid/block/thread 在GPU 设备层面是如何调度的。调度器通常是被忽略的一个部分&#xff0c;但对CUDA kernel 的编写和后期系统性能分析很有帮助&#xff0c;也可…

春秋云境 | 文件上传 | CVE-2022-28525

目录 靶标介绍 开启靶场 蚁剑连接 获取 flag 靶标介绍 ED01-CMS v20180505 存在任意文件上传漏洞 开启靶场 发现了一个登录功能&#xff0c;使用 burp 爆破一下 爆破之后得到账号是 admin 密码是 admin&#xff0c;登录后是这样的页面 在左边的菜单栏挨着一个一个找&…