【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期"以及相应指令,即可获取对应下载方式。

相关推荐
爱喝热水的呀哈喽3 小时前
HEJIAN RESEARCH
开发语言·matlab
星夜离尘568 小时前
MATLAB阶跃响应怎么量:别把最后一个采样点当成稳态
开发语言·matlab
星夜离尘569 小时前
MATLAB滑动RMS如何接报警:窗口未满和缺样不能当成正常
开发语言·matlab
机器学习之心11 小时前
给地铁牵引系统做一次“体检“:灰色聚类 + 正态云模型的MATLAB完整实现
matlab·数据挖掘·聚类
星夜离尘561 天前
MATLAB 采样混叠实验 20 Hz 和 80 Hz 为什么会得到相同数据
matlab·数据采集·信号处理·采样定理·混叠
weixin_307779131 天前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
weixin_307779131 天前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab
孙琦Ray1 天前
开源MATLAB工具LIBquiv:650小时老化仿真仅139秒
matlab·开源·锂离子电池·等效电路模型·电池老化·libquiv·电池建模
phoenix@Capricornus1 天前
LDA 协方差矩阵(MATLAB `fitcdiscr`)
算法·matlab·矩阵
星夜离尘562 天前
MATLAB 线性去趋势为何损伤低频正弦:联合最小二乘估计幅相与漂移
开发语言·matlab