【MATLAB第98期】基于MATLAB的MonteCarlo蒙特卡罗结合kriging克里金代理模型的全局敏感性分析模型【更新中】

【MATLAB第98期】基于MATLAB的Monte Carlo蒙特卡罗结合kriging克里金代理模型的全局敏感性分析模型【更新中】


PS:因内容涉及较多,所以一时半会更新不完
后期会将相关原理,以及多种功能详细介绍。
麻烦点赞收藏,及时获取更新消息。

引言

在前面几期,介绍了局部敏感性分析法和sobol全局敏感性分析模型,本期介绍基于kriging克里金模型的GSA全局敏感性分析方法。

往期文章:

【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理回归问题MATLAB代码实现(持续更新)
【MATLAB第32期】【更新中】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理分类问题MATLAB代码实现
【MATLAB第63期】基于MATLAB的改进敏感性分析方法IPCC,拥挤距离与皮尔逊系数法结合实现回归与分类预测
【MATLAB第64期】【保姆级教程】基于MATLAB的SOBOL全局敏感性分析模型运用(含无目标函数,考虑代理模型)

一、Kriging克里金模型

克里金模型讲解参考博主:
steelDK
傻傻虎虎

克里金(Kriging)模型是一种基于空间相关性的插值方法,通过建立半变异函数来描述空间相关性,并利用已知观测点的数值和空间位置来预测未知点的数值。常用于地质、地理和环境科学等领域。
克里金模型的基本原理是通过建立半变异函数来描述空间相关性。半变异函数可以测量两个点之间的相似性程度,它表示两个点之间的数值差异随距离增加而变化的速率。常见的半变异函数包括指数模型、高斯模型和球模型等。克里金模型在应用时有如下假设条件:
(1)、克里金法假设所有数据之间都服从n维的正态分布。
(2)、无偏。
————————————————

克里金模型优点:
1.精度高
Kriging模型通过对已有数据的空间相关性进行建模,能够较准确地估计未观测点的数值,尤其适用于连续变量的插值。
2.不受外部影响
Kriging模型不仅仅依赖于周围点的数值,还考虑了点之间的空间相关性。因此,它对异常值和局部波动有较好的免疫性,能够提供相对稳定的估计结果。
3.提供不确定性估计
Kriging模型不仅能够给出点估计值,还能给出估计的不确定性。通过计算协方差函数,可以得到预测值的方差和置信区间,提供了对预测结果的可靠性评估。

克里金模型缺点:
1.数据需满足空间相关性
Kriging模型的建立基于变量的空间相关性,因此,如果数据的空间相关性很弱或不存在,模型可能不适用。此外,Kriging模型对于大数据量的计算需求较高。
2.对模型参数的选择敏感
Kriging模型的结果受到模型参数的影响,包括半方差函数的参数和拟合方法等。选择合适的参数值对于结果的准确性很重要,但也较为困难。
3.不适用于非线性插值
Kriging模型是一种线性插值方法,对于非线性、非正态的数据拟合效果较差。在这种情况下,可能需要使用其他插值方法。
4.计算复杂度较高
Kriging模型在进行预测时需要计算协方差矩阵的逆矩阵,这一过程的计算复杂度较高,尤其是当数据量较大时会增加计算的困难度。

二、蒙特卡洛模拟

(1)评价指标

评价指标包括:一阶影响指数S,总效应指数ST**

*一阶影响指数S:*显示由各个输入变量的方差产生的因变量的方差,根据一阶影响指数可以量化单个变量对模型的敏感程度

总效应指数ST:显示由每个输入变量的方差及其与其他输入变量的相互作用而产生的因变量的方差。

(2)参数

使用MCGSA函数蒙特卡罗进行全局灵敏度分析,即使用蒙特卡罗模拟计算个体效应和总效应(仿照Sobol方差计算)。其中,四个参数包括(func、str、bounds、npop):
输入参数:

  1. func是代理结构
  2. str是字符串标识代理项
  3. bounds是定义用于拟合代理项的输入空间的矩阵(第一行和第二行分别是下限和上限)
  4. npop是蒙特卡罗样本的数量(npop一般大于5000)

输出参数:

  1. output是指分析结果(结构变量):

其中,individual :个体效应矩阵结构(一阶影响指数S)
total:总效应矩阵结构(总效应指数ST)。

三、全局敏感性分析(有目标函数)

VarMin=[0 0 0];%各个参数下限
VarMax=[10  10 10];%各个参数上限
bounds=[VarMin;VarMax]% 创建DoEdim       = 3;% 优化变量数量numpop = 20;%采样点个数,也就是参数水平数 ,取大了好,比如4000,但慢X = lhsdesign(numpop, dim);% 拉丁超立方抽样%X= sobolset(dim);%或者参考64期sobol抽样方法。 % 目标函数响应
for i=1:numpopY(i,:) = myfun(X(i,:)); %
end

A、设定目标函数(3个变量,即维度D=3)
Y=X1^2+2*X2+X3-1

y=x(1)^2+2*x(2)+x(3)-1;

B、设定变量上下限

VarMin=[0 0 0];%各个参数下限
VarMax=[10  10 10];%各个参数上限

C、建立克里金模型

训练集输入输出建立:

X = lhsdesign(numpop, dim);% 拉丁超立方抽样%X= sobolset(dim);%或者参考64期sobol抽样方法。 % 目标函数响应
for i=1:numpopY(i,:) = myfun(X(i,:)); %
end

模型拟合:

opt  = krigingtrain(X, Y);kopt = krigingfit(opt );

D、设定MC参数

npop = 200; %蒙特卡罗模拟的点数
% 创建A矩阵
Xa = rand(npop, dim);
Xa = SV(Xa, [zeros(1,dim); ones(1,dim)], Xa);% 创建B矩阵
Xb = rand(npop, dim);
Xb = SV(Xb, [zeros(1,dim); ones(1,dim)], Xa);

E、GSA分析

output = MCGSA(func, str, Xa, Xb)

一阶影响指数S值、总效应指数ST值计算公式:

在这里插入图片描述
var方差函数为matlab自带

绘图:

在这里插入图片描述

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

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

相关文章

如何判断螺栓已经拧紧?——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓拧紧的标准并非仅仅依赖于螺栓的外观,而是依赖于几个关键因素,包括扭矩、预紧力和材料疲劳等。下面SunTorque智能扭矩系统和大家将详细讨论这些因素,并给出如何判断螺栓是否已经拧…

史上最大优惠!腾讯云服务器优惠价格表一年、1个月收费明细

腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…

Linux MBR扇区故障 引导修复

CSDN 成就一亿技术人! 作者主页:点击! Linux专栏:点击! CSDN 成就一亿技术人 前言———— Linux MBR(Master Boot Record,主引导记录)是硬盘的第一个扇区,通常位于磁…

主机字节序列和网络字节序列

目录 1.概念 2.常见的字节序 3.转换接口 1.概念 主机字节序列分为大端字节序和小端字节序,不同的主机采用的字节序列可能不同。大端字节序是指一个整数的高位字节存储在内存的低地址处,低位字节存储在内存的高地址处。小端字节序则是指整数的高位字节…

为什么内部类持有外部类可能内存泄露?

内部类持有外部类的引用可能导致内存泄漏的情况通常是因为外部类的生命周期比内部类的生命周期长。在这种情况下,如果内部类持有对外部类的引用,外部类将无法被垃圾收集器回收,即使外部类不再被使用。 这种情况通常发生在以下情形下&#xf…

前端架构: 脚手架通用框架封装之添加测试框架(教程六)

添加测试框架 接上文,仍旧在 abc-cli 项目中 参考:https://blog.csdn.net/Tyro_java/article/details/136438882 现在要在脚手架项目中安装测试工具,选择 jest 文档:https://www.npmjs.com/package/jest 数据:Week…

maven项目引入私有jar,并打包到java.jar中

私有jar存放位置 maven依赖 <dependency><groupId>com.hikvision.ga</groupId><artifactId>artemis-http-client</artifactId><version>1.1.10</version><scope>system</scope><systemPath>${project.basedir}/s…

Tomcat常见配置(基础功能、虚拟主机、搭建博客)

目录 一、Tomcat基础功能 1、自动解压war包 2、Tomcat工具界面 2.1 Server Status (服务器状态) 2.1.1 本地登录状态页 2.1.2 远程登录状态页 2.2 Manager App (管理应用程序) 2.3 Host Manager (主机管理器) 3、Context 配置 二、配置虚拟主机 三、搭建 JPress 博客…

支持AUTOSAR Classic以及Adaptive平台的DEXT诊断数据库

一 DEXT、DCM、DEM和FIM的概述 DEXT&#xff08;Diagnostic Extract Template&#xff09;是AUTOSAR定义的诊断提取模板&#xff0c;用于DCM&#xff08;Diagnostics Communication Manager&#xff09;、DEM&#xff08;Diagnostics Event Manager&#xff09;和FIM&#xff…

从新能源汽车行业自动驾驶技术去看AI的发展未来趋势

自动驾驶汽车关键技术主要包括环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网V2X以及自动驾驶汽车测试与验证技术等。 &#x1f413; 自动驾驶技术 这是AI在汽车行业中应用最广泛的领域之一。自动驾驶技术利用AI算法和传感器来感知环境、识别障碍物&#xff0c…

各大厂商常用的弱口令集合

Oms呼叫中心 KXTsoft2010 Glodon控制台 admin TRENDnet趋势网络摄像头 admin/admin MOBOTIX-视频监控 admin/meinsm 思科Cisco 没有原始密码, 第一次登录时需要创建 DRS admin/1234 Honeywell admin/1234 安迅士Axis root/pass, 新安迅士摄像头在用户第一登录时要求创建…

springboot文件上传修改临时文件路径

1、配置&#xff1a;spring.servlet.multipart.location/data/tmp 2、代码 Configuration public class MultipartConfig {Value("${spring.servlet.multipart.location}")private String tmpLocation;Beanpublic MultipartConfigElement multipartConfigElement()…

Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]

也许更好的阅读体验 Type definition error: [simple type, class com.elm.po.CommonResult]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.elm.po.CommonResult (no Creators, like default const…

【开源】JAVA+Vue.js实现农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…

函数柯里化(function currying)及部分求值

函数柯里化&#xff08;function currying&#xff09; currying又称部分求值。一个currying的函数首先会接受一些参数&#xff0c;接受了这些参数之后&#xff0c;该函数并不会立即求值&#xff0c;而是继续返回另外一个函数&#xff0c;刚才传入的参数在函数形成的闭包中被保…

通信原理 | 功率谱密度PSD | 估计 | 周期图谱法 | Scipy.singal 中periodogram的用法

文章目录 功能主要参数返回值使用示例使用matplotlib等库来绘制功率谱密度图表解释scipy的 periodogram函数是 scipy.signal模块中的一个功能,用于估计一个信号的功率谱密度(Power Spectral Density,PSD)。这是一种分析信号频率成分的方法,特别适用于处理和分析时间序列…

0基础学习VR全景平台篇第143篇:限定访问功能

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01;这期&#xff0c;我们将为大家介绍如何使用限定访问功能。 一.什么是限定访问功能&#xff1f; 限定访问&#xff0c;就是可以在编辑后台设置可以访问作品的用户的类型&#xff0c;还有可以访问作品的IP…

【leetcode热题】环形链表

难度&#xff1a; 简单通过率&#xff1a; 34.9%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个链表&#xff0c;判断链表中是否有环。 为了表示给定链表中的环&#xff0c;我们使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然&#xff0c;有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

pdf文件超出上传大小怎么压缩?值得学习的几个方法

平时我们在使用pdf文件的时候&#xff0c;不管是上传还是进行存储&#xff0c;都会面临pdf太大的情况&#xff0c;尤其是当我们需要把pdf文件上传到一些平台上去的时候&#xff0c;那么pdf怎么压缩的小一点呢&#xff1f;为了解决这个问题&#xff0c;可以通过一些软件将pdf压缩…