【MATLAB第109期】基于MATLAB的带置信区间的RSA区域敏感性分析方法,无目标函数

【MATLAB第108期】基于MATLAB的带置信区间的RSA区域敏感性分析方法,无目标函数

参考第64期文章【MATLAB第64期】【保姆级教程】基于MATLAB的SOBOL全局敏感性分析模型运用(含无目标函数,考虑代理模型)

创新点:

1、采用两种方法计算待置信区间的敏感性值

(1)通过对输出值设置阈值条件,绘制不同变量X与Y之间满足和不满足条件样本的累积分布函数(CDF),检查参数变化范围,并根据CDF之间的最大垂直距离绘制敏感度值。并使用自举法重复收敛分析以得出置信区间。

2、 将输入样本拆分为与输出等距范围相对应的"n组"数据集(Wagener等人于2001年首次提出),通过CDF之间最大垂直距离的统计量(最大值或中值)来评估不同数据集中X的CDF之间的距离,计算区域敏感度值。

1、建立代理模型

(1)数据设置:常用的案例数据 ,103*8 ,前7列代表输入变量, 最后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、数据抽样

matlab 复制代码
SampStrategy = 'lhs' ; % 拉丁超立方抽样
N = 400 ; % 样本数
Y = model_evaluation(myfun,X) ;

3、阈值设置

绘制输出样本(Y)与输入向量样本的一个分量(即X的一列)的关系,并对输出值设置阈值。

如阈值设置为20,如下图所示 :

X1-X7变量, 横坐标对应的是不同变量的数值范围,纵坐标代表Y的数值范围。

(1)绘制数据集X中满足给定阈值条件和不满足条件的CDF图


(2)通过平行坐标图检查行为参数化的范围

4a、绘制灵敏度指数(带阈值)

(1)参数CDF之间的最大垂直距离绘制

(2)并通过bootstrapping自举法评估鲁棒性,使用越来越多的样本重复计算,以评估收敛性,重复收敛分析以得出置信区间

4b、绘制灵敏度指数(分组法)

将数据集X中的样本拆分为与Y的'ngroup'等距值对应的'nggroups'子集。

然后,它通过CDF之间最大垂直距离的统计量(最大值或中值)来评估不同数据集中X的CDF之间的距离。

(1)将输入样本拆分为与输出等距范围相对应的"n组"数据集

(2)绘制参数CDF,自定义标签和图例:

5、代码获取

1.阅读首页置顶文章

2.关注CSDN

3.根据自动回复消息,私信回复"109期"以及相应指令,即可获取对应下载方式。

相关推荐
曹勖之1 小时前
simulink有无现成模块可以实现将三个分开的输入合并为一个[1*3]的行向量输出?
matlab
机器学习之心9 小时前
Transformer-BiGRU多变量时序预测(Matlab完整源码和数据)
深度学习·matlab·transformer·bigru
slandarer21 小时前
MATLAB | 绘图复刻(十九)| 轻松拿捏 Nature Communications 绘图
开发语言·matlab
【杨(_> <_)】1 天前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
曹勖之1 天前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
我爱C编程2 天前
基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK
matlab·qpsk·polar编译码·scl译码
bubiyoushang8882 天前
matlab实现高斯烟羽模型算法
开发语言·算法·matlab
tyatyatya2 天前
MATLAB 中调整超参数的系统性方法
开发语言·matlab
Expecto03 天前
Matlab数值计算
matlab·数值计算
Matlab仿真实验室3 天前
基于Matlab实现LDA算法
开发语言·算法·matlab