【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]
 % 创建DoE
   dim       = 3;% 优化变量数量
   numpop = 20;%采样点个数,也就是参数水平数 ,取大了好,比如4000,但慢
    X = lhsdesign(numpop, dim);% 拉丁超立方抽样
       
    %X= sobolset(dim);%或者参考64期sobol抽样方法。 
 % 目标函数响应
for i=1:numpop
 Y(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:numpop
 Y(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自带

绘图:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Easticsearch性能优化之索引优化

Easticsearch性能优化之索引优化 一、合理的索引设计二、合理的分片和副本三、合理的索引设置 对于性能优化,Elasticsearch(以下简称ES)的索引优化是提高性能的关键因素之一。合理的设计索引,合理的分片和副本以及合理的缓存设置等…

VSCode报错:/bin/sh: python: command not found

背景 以前都是直接用txt写python,然后直接命令行运行。 这次涉及的代码较多,决定用编译器。 写好的一段python点击运行报错! 问题描述 因为我本地安装的是python3,但是vscode用的是另一个路径的python,所以找不到 解…

[React 进阶系列] React Context 案例学习:使用 TS 及 HOC 封装 Context

[React 进阶系列] React Context 案例学习:使用 TS 及 HOC 封装 Context 具体 context 的实现在这里:[React 进阶系列] React Context 案例学习:子组件内更新父组件的状态。 根据项目经验是这样的,自从换了 TS 之后,…

光谱整形1

华为张德江:下一代光传送网将走向400G80波WDM系统_通信世界网 (cww.net.cn) 张德江指出,400G WDM系统具有三大基本特征:支持400G80波,单纤32T超大容量,传输距离与100G相当;支持32维以上的光交叉&#xff1…

微前端之使用无界创建一个微前端项目

wujie 使用手册 使用简介 主应用配置 安装 wujie依赖main.js配置 是否开启预加载 生命周期函数 – lifecycle.js配置 子应用配置 跨域设置运行模式 生命周期改造 在主应用中,使用wujie,将子应用引入到主应用中去 wujie 使用手册 wujie 是一个基于 Web…

Linux环境下使用interrupt方式操作UART

目录 概述 1 Linux环境下UART设备 2 轮询方式操作UART功能实现 2.1 打开串口函数:usr_serial_open 2.2 关闭串口函数: usr_serial_close 2.3 发送数据函数: usr_serial_sendbytes 2.4 接收数据函数: usr_serial_readinterr…

Android 性能优化--APK加固(2)加密

文章目录 字符串加密图片加密如何避免应用被重新签名分发APK 加壳的方案简析DEX加密原理及实现 本文首发地址:https://h89.cn/archives/212.html 最新更新地址:https://gitee.com/chenjim/chenjimblog 通过 前文 介绍,我们知晓了如何使用代码…

前端网络请求异步处理——Promise使用记录

Promise是ES6中新增的一个处理复杂异步请求的工具,其主要形式为: const baseUrl http://localhost:80 export const $request (param {}) > {console.log(请求参数, param)return new Promise((resolve, reject) > {wx.request({url: baseUrl …

SpringMVC拦截器和过滤器执行顺序及区别

拦截器(Inteceptor)和过滤器(Filter)执行顺序? 拦截器和过滤器区别? 1、拦截次数不同: 过滤器:一次请求只能被一个过滤器拦截一次,它们按照在web.xml中的声明顺序依次执…

Python Web开发记录 Day7:Django(Web框架) part 1

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 七、Django1、快速了解Django①概述②核心功能③…

css flex 布局换行

默认使用display: flex;是不换行的,只需要加上flex-wrap: wrap;就行了,效果图 .app-center {display: flex;flex-wrap: wrap;justify-content:flex-start; } 通过上面我们发现虽然时间换行了,但是每行的边距不一样 加上这个就行了&#xff…

华为配置DHCP Snooping防止DHCP Server仿冒者攻击示例

配置DHCP Snooping防止DHCP Server仿冒者攻击示例 组网图形 图1 配置DHCP Snooping防止DHCP Server仿冒者攻击组网图 DHCP Snooping简介配置注意事项组网需求配置思路操作步骤配置文件 DHCP Snooping简介 在一次DHCP客户端动态获取IP地址的过程中,DHCP Snoopi…

开源分子对接程序rDock使用方法(1)-Docking in 3 steps

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、Docking in 3 steps 标准对接rDock 的基本对接步骤及注意事项 二、 三步对接案例Step 1. 结构文件准备Step 2. 产生对接位点Step 3. 运行分子对接3.1 检查输入文件3.2 测试-只进行打分3.3 运行…

maven项目结构管理统一项目配置操作

一、maven分模块开发 Maven 分模块开发 1.先创建父工程&#xff0c;pom.xml文件中&#xff0c;打包方式为pom 2.然后里面有许多子工程 3.我要对父工程的maven对所有子工程进行操作 二、解读maven的结构 1.模块1 <groupId>org.TS</groupId><artifactId>TruthS…

利用CesiumJS开发模拟飞机飞行的应用(添加飞行轨迹)

上一节介绍了利用CesiumJS开发模拟飞机飞行的应用(一&#xff0c;基本功能)&#xff0c;本节介绍如何在上节基础上添加飞行轨迹所使用数据是从旧金山到哥本哈根的真实航班&#xff0c;并使用 FlightRadar24收集的雷达数据。 添加单个3D点对象 FlightRadar24 使用多种方法&#…

[c/c++] const

const 和 #define 的区别 ? const 和指针一块出现的时候&#xff0c;到底谁不能修改 &#xff1f; const 和 volatile 能同时修饰一个变量吗 ? const 在 c 中的作用 ? 1 const 和 #define 的区别 const 和 #define 的相同点&#xff1a; (1) 常数 const 和 #define 定…

51-27 DirveVLM:自动驾驶与大型视觉语言模型的融合

本文由清华大学和理想汽车共同发布于2024年2月25日&#xff0c;论文名称DRIVEVLM: The Convergence of Autonomous Driving and Large Vision-Language Models. DriveVLM是一种新颖的自动驾驶系统&#xff0c;旨在针对场景理解挑战&#xff0c;利用最近的视觉语言模型VLM&…

蓝桥杯——web(ECharts)

ECharts 初体验 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><script src"echarts.js">&l…

【APB协议 UVM_Sequencer Driver Monitor_2024.03.04】

apb协议 写时序 地址、写信号、PSEL、写数据信号同时发生变化&#xff0c;即传输的第一个时钟被称为SETUP周期。在下个时钟上升沿,PENABLE信号拉高&#xff0c;表示ENABLE周期&#xff0c;在该周期内&#xff0c;数据、地址以及控制信号都必须保持有效。整个写传输在这个周期…

寻找旋转排序数组中的最小值[中等]

优质博文IT-BLOG-CN 一、题目 已知一个长度为n的数组&#xff0c;预先按照升序排列&#xff0c;经由1到n次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组nums [0,1,2,4,5,6,7]在变化后可能得到&#xff1a; 【1】若旋转4次&#xff0c;则可以得到[4,5,6,7,0,1,2…