【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析

一、介绍

PAWN(Probabilistic Analysis With Numerical Uncertainties)是一种基于密度的全局敏感性分析(Global Sensitivity Analysis, GSA)方法,它通过累积分布函数来评估模型参数对输出的影响,考虑输出的分布函数在参数取值不同时的差异,利用Kolmogorov-Smirnov(KS)统计量来表征参数的灵敏度,特别适合于处理输出具有复杂分布特性(非对称或多峰)的情况。

Sobol方法是基于方差的全局敏感性分析方法,它通过计算模型输出方差的贡献来评估参数的重要性。Sobol方法的核心在于方差分解,即认为输出的总方差可以分解为各个参数的方差贡献和参数间交互作用的方差贡献。

PAWN方法是一种基于矩独立的全局敏感性分析方法,它不依赖于输出分布的特定矩(如方差),而是使用整个输出分布来表征不确定性。PAWN通过比较无条件输出分布(所有参数自由变化时)和条件输出分布(固定一个参数时)的差异来度量敏感性。

与Sobol方法相比,优势体现在:

1、适用范围更广:PAWN方法适用于更广泛的模型,特别是那些输出分布非对称或具有多峰性的模型,而Sobol’方法适用于那些输出分布接近正态分布的模型,若输出的分布为非对称时,会产生相应偏差。

2、需要样本量更少:PAWN方法需要的样本数量相对较少,能够更有效地区分参数的相对重要性,而Sobol方法可能需要更多的样本来获得准确的参数排序和灵敏度指数。

3、参数灵敏度区别明显:PAWN方法能够更明显地区分参数的灵敏度,提供了更细致的参数重要性排序,而Sobol方法计算得到的参数灵敏度相对更小,且不同参数间的灵敏度差异也更小,可能不能很明显地对参数的灵敏度进行划分。

二、运行步骤


在这里插入图片描述
输出满足多峰分布。


1、建立代理模型
(1)数据设置:常用的案例数据 ,103*8 ,前7列代表输入变量M, 最后1列代表因变量。
(2)数据变量上下限
X1-X7的最小值为:[137 0 0 160 4.4 708 650]
X1-X7的最大值为:[374 193 260 240 19 1049.90 902]
(3)代理模型选择:BP


2、建立模型

(1)有/无条件输出分布样本数设置:

  • 无条件输出分布:所有参数自由变化时 (传统方法)
  • 有条件输出分布:固定其中一个参数时,其余参数自由变化
NU=150;%无条件CDF的样本数,即当所有输入都变化时
NC=150;%有条件CDF的样本数, 当一个或多个输入固定时
n=10%分布水平,有条件样本,固定一个输入变量时,选取的值为上下限空间采样中的的10个值(通过lhs采样)

(2)无条件输出分布数据采样
数据抽样采用拉丁超立方抽样lhs方法,但因为一般lhs抽样分布在【0,1】之间,为了解决此问题,采用连续均匀逆累积分布函数解决。

p = lhcube(Nu,M)% 拉丁超立方抽样
Xu=unifinv(p,a,b)
Yu = model_evaluation(bpfun,Xu) ;
  • p为lhs抽样后的矩阵,区间范围为【0,1】。
  • a和b分别为变量取值的最小值和最大值。
  • Xu为以p中相应的概率计算参数空间范围内的均匀cdf的逆。
  • Yu为以BP模型为代理模型情况下,输入为Xu计算的值

均匀cdf的逆为:
在这里插入图片描述
标准均匀分布时,a=0,b=1。

(3)有条件输出分布数据采样
每个变量在范围空间里抽取n=10个值 , 分别固定对应变量的值 ,其余值自由抽样。
举例:针对X1[137,374]进行抽样10个值,得到101507矩阵,其余6个变量同理。

240.769544971060
310.436967493479
145.692630610127
165.239449093029
283.868192881610
208.624632109356
345.374320503857
259.777657520337
362.342087092143
191.097454825086

11507矩阵
在这里插入图片描述
21507矩阵
在这里插入图片描述
101507矩阵
在这里插入图片描述

XX=unifinv(p,a,b) %同理,只不过矩阵结构是7*10*150*7
YY = model_evaluation(bpfun,XX) ;%同理,只不过矩阵结构是7*10*150*1

(4)估算无条件和有条件的CDF值

[ YF, Fu, Fc  ] = cdfs(Yu,YY) ;
%YF=通过分析Yu和YY中的输出最大最小值,重新对Y值进行等距分布。
%FU=根据Yu估算的经验无条件CDF值
%FC=根据YY{i,k}估算的经验有条件CDF值

取YY (矩阵结构7×10×150×1 )值和Yu值(矩阵结构150×1)样本中的最大Ymax和最小Ymin值进行分析,考虑整体样本输出分布。

取间隔值为:

deltaY = (Ymax-Ymin)/4000 ;   %  间隔值

则YF公式为:

YF =  [ (Ymin-std(Yu)/10) : deltaY : (Ymax+std(Yu)/10) ]' ;

FU的计算与Yu和YF值相关,FU的矩阵结构与YF相同,

当Nc=150时,F = [1:Nc]/Nc ,即将1等比例分为150份,累计增加。
在N=1:Nc情况下,Yu中小于YF(N)的部分对应序列的值 ,赋对应的F值。

FC则是与YY和YF值相关,矩阵结构为710(YF*1)
与FU计算同理。

(5)CDF值绘图:
灰色的图:YF为输入,FC为输出
红色的图:YF为输入,FU为输出
在这里插入图片描述
在这里插入图片描述
(6)KS统计量计算

计算经验无条件CDF和不同条件值下的条件CDF之间的Kolmogorov-Smirnov(KS)统计量:

KS(k,i) = max | F(y) - F(y|x(i)=x_ik) |

每个变量的KS统计值:
在这里插入图片描述
(7)PAWN灵敏性值计算
根据KS的max值进行计算
在这里插入图片描述
(8)变量灵敏性值区间范围计算
通过bootstrapping自举法评估鲁棒性,使用越来越多的样本重复计算,以评估收敛性,重复收敛分析以得出置信区间
重采样次数选为100.
在这里插入图片描述
(9)收敛性分析
即对不同样本数量进行分析,选取的采样空间进行扩充 ,
如NCb = [ NC/10 NC/2 NC ] ;
NUb = [ NU/10 NU/2 NU ] ;NN = NUb+n*NCb ;
即有条件和无条件输出分布样本数量为【165 ,825 ,1650】
纵坐标为不同变量对应的灵敏性值
在这里插入图片描述
(10)考虑输出阈值情况的敏感性分析
可参考【MATLAB第109期】基于MATLAB的带置信区间的RSA区域敏感性分析方法,无目标函数
将PAWN应用于限定输出范围的区域,计算对应的PAWN灵敏性值,
即对应的输出要高于给定阈值,如阈值为10,则10以下的输出要筛除。

thres = 10%阈值为10 ;

在这里插入图片描述

三、代码获取

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

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

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

相关文章

DX12 快速教程(2) —— 渲染天蓝色窗口

快速导航 新建项目 "002-DrawSkyblueWindow"DirectX 12 入门1. COM 技术:DirectX 的中流砥柱什么是 COM 技术COM 智能指针 2.创建 D3D12 调试层设备:CreateDebugDevice什么是调试层如何创建并使用调试层 3.创建 D3D12 设备:CreateD…

【合作原创】使用Termux搭建可以使用的生产力环境(八)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(七)-CSDN博客中我们讲到了安装百度网盘、VS Code还有java,这篇我打算讲一下最后的编程,还有输入法相关问题解决。众所周知我的本职工作是Java程序猿,因…

【算法题解】Berland 路标限速问题(Follow Traffic Rules)

问题描述 在 Berland 城市,有一条连接首都 Berland 和奥林匹克城市 Bercouvert 的公路。为了改善交通管理,这条路上设立了一个限速标志,限制某一段路程的最大速度。在通过这个标志之后,车辆可以恢复到任意速度。我们需要计算&…

k8s,service如何找到容器

Kubernetes之所以需要Service,一方面是因为Pod的IP不是固定的,另一方面则是因为一组Pod实例之间总会有负载均衡的需求 被selector选中的Pod,就称为Service的Endpoints,查看方式: kubectl get endpoints hostnames需要…

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略 导读:2024年12月4日,PaliGemma 2是一个基于Gemma 2系列语言模型的开源视觉语言模型 (VLM) 家族。PaliGemma 2 通过提供一个规模化、多功能且开源的VLM家族,…

如何通过HTTP API分组检索Doc

本文介绍如何通过HTTP API在Collection中进行分组相似性检索。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 Method与URL HTTP POST https://{Endpoint}/v1/collections/{CollectionName}/query_group_by 使用示例 说明 需要…

24.12.26 SpringMVCDay01

SpringMVC 也被称为SpringWeb Spring提供的Web框架,是在Servlet基础上,构建的框架 SpringMVC看成是一个特殊的Servlet,由Spring来编写的Servlet 搭建 引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc<…

国产 HighGo 数据库企业版安装与配置指南

国产 HighGo 数据库企业版安装与配置指南 1. 下载安装包 访问 HighGo 官方网站&#xff08;https://www.highgo.com/&#xff09;&#xff0c;选择并下载企业版安装包。 2. 上传安装包到服务器 将下载的安装包上传至服务器&#xff0c;并执行以下命令&#xff1a; [rootmas…

Java程序设计,使用属性的选项库,轻松实现商品检索的复杂查询(上)

一、背景 本文我们以某商城的商品检索为例,说一说如何使用属性及选项,实现复杂的逻辑表达式的查询。 先贴图,总结出业务需求。 可以通过一系列属性及选项的组合,过滤出用户想要的商品列表。 1、属性 上文中的品牌、分类、屏幕尺寸、CPU型号、运行内存、机身内存、屏幕材…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

WHAT KAN I SAY?Kolmogorov-Arnold Network (KAN)网络结构介绍及实战(文末送书)

一、KAN网络介绍 1.1 Kolmogorov-Arnold Network (KAN)网络结构的提出 2024年4月&#xff0c;来自MIT、加州理工学院、东北大学等团队的研究&#xff0c;引爆了一整个科技圈&#xff1a;Yes We KAN&#xff01; 这种创新方法挑战了多层感知器(Multilayer Perceptron&#xff…

YOLO11改进-模块-引入星型运算Star Blocks

当前网络设计中&#xff0c;“星型运算”&#xff08;逐元素乘法&#xff09;的应用原理未被充分探究&#xff0c;潜力有待挖掘。为解决此问题&#xff0c;我们引入 Star Blocks&#xff0c;其内部由 DW - Conv、BN、ReLU 等模块经星型运算连接&#xff0c;各模块有特定参数。同…

Jenkins 中的清理工作空间工作原理

Jenkins 中的清理工作空间 是指在构建完成后&#xff0c;自动删除工作空间中的某些或所有文件&#xff0c;以释放磁盘空间、提高构建效率并确保构建环境的清洁。 清理工作空间的必要性 释放磁盘空间&#xff1a; 随着构建次数的增加&#xff0c;工作空间中的文件会不断累积&…

3.银河麒麟V10 离线安装Nginx

1. 下载nginx离线安装包 前往官网下载离线压缩包 2. 下载3个依赖 openssl依赖&#xff0c;前往 官网下载 pcre2依赖下载&#xff0c;前往Git下载 zlib依赖下载&#xff0c;前往Git下载 下载完成后完整的包如下&#xff1a; 如果网速下载不到请使用网盘下载 通过网盘分享的文件…

【理解机器学习中的过拟合与欠拟合】

在机器学习中&#xff0c;模型的表现很大程度上取决于我们如何平衡“过拟合”和“欠拟合”。本文通过理论介绍和代码演示&#xff0c;详细解析过拟合与欠拟合现象&#xff0c;并提出应对策略。主要内容如下&#xff1a; 什么是过拟合和欠拟合&#xff1f; 如何防止过拟合和欠拟…

学籍管理系统:实现教育管理现代化

2.1 Tomcat 简介 只要学习Java Web项目就不得不学习Tomcat。Tomcat是一种免费的开源的一种Java Web项目的容器&#xff0c;完美继承了 Apache服务器的特性&#xff0c;并且里面添加可以自动化运行的Java Web组件&#xff0c;让Java Web项目可以完全的运行到Tomcat里面。对于特大…

【婚庆摄影小程序设计与实现】

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

服务器如何划分空间?

服务器如何划分空间&#xff1f;服务器是存储和处理数据的核心&#xff0c;如何有效地划分服务器空间则直接关系到资源的利用效率和系统的性能。无论是大型企业的数据中心&#xff0c;还是小型网站的共享主机&#xff0c;合理的空间划分都至关重要。下面是聚名网关于服务器如何…

12.26 学习卷积神经网路(CNN)

完全是基于下面这个博客来进行学习的&#xff0c;感谢&#xff01; ​​【深度学习基础】详解Pytorch搭建CNN卷积神经网络LeNet-5实现手写数字识别_pytorch cnn-CSDN博客 基于深度神经网络DNN实现的手写数字识别&#xff0c;将灰度图像转换后的二维数组展平到一维&#xff0c;…

Unity URP多光源支持,多光源阴影投射,多光源阴影接收(优化版)

目录 前言&#xff1a; 一、属性 二、SubShader 三、ForwardLitPass 定义Tags 声明变体 声明变量 定义结构体 顶点Shader 片元Shader 四、全代码 四、添加官方的LitShader代码 五、全代码 六、效果图 七、结语 前言&#xff1a; 哈喽啊&#xff0c;我又来啦。这…