关于网站建设的投标书,做网站攻略,做网站放到百度上需要什么,扁平化蓝色网站【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法#xff08;无目标函数#xff09;含特征变量置信区间分析
一、介绍
PAWN#xff08;Probabilistic Analysis With Numerical Uncertainties#xff09;是一种基于密度的全局敏感性分析#xff08;Gl…【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法无目标函数含特征变量置信区间分析
一、介绍
PAWNProbabilistic Analysis With Numerical Uncertainties是一种基于密度的全局敏感性分析Global Sensitivity Analysis, GSA方法它通过累积分布函数来评估模型参数对输出的影响考虑输出的分布函数在参数取值不同时的差异利用Kolmogorov-SmirnovKS统计量来表征参数的灵敏度特别适合于处理输出具有复杂分布特性非对称或多峰的情况。
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有/无条件输出分布样本数设置
无条件输出分布所有参数自由变化时 传统方法有条件输出分布固定其中一个参数时其余参数自由变化
NU150;%无条件CDF的样本数即当所有输入都变化时
NC150;%有条件CDF的样本数 当一个或多个输入固定时
n10%分布水平有条件样本固定一个输入变量时选取的值为上下限空间采样中的的10个值通过lhs采样2无条件输出分布数据采样 数据抽样采用拉丁超立方抽样lhs方法但因为一般lhs抽样分布在【01】之间为了解决此问题采用连续均匀逆累积分布函数解决。
p lhcube(Nu,M)% 拉丁超立方抽样
Xuunifinvpab
Yu model_evaluation(bpfun,Xu) ;p为lhs抽样后的矩阵区间范围为【0,1】。a和b分别为变量取值的最小值和最大值。Xu为以p中相应的概率计算参数空间范围内的均匀cdf的逆。Yu为以BP模型为代理模型情况下输入为Xu计算的值
均匀cdf的逆为 标准均匀分布时a0b1。
3有条件输出分布数据采样 每个变量在范围空间里抽取n10个值 分别固定对应变量的值 其余值自由抽样。 举例针对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.09745482508611507矩阵 21507矩阵 101507矩阵
XXunifinvpab %同理只不过矩阵结构是7*10*150*7
YY model_evaluation(bpfun,XX) ;%同理只不过矩阵结构是7*10*150*14估算无条件和有条件的CDF值
[ YF, Fu, Fc ] cdfs(Yu,YY) ;
%YF通过分析Yu和YY中的输出最大最小值重新对Y值进行等距分布。
%FU根据Yu估算的经验无条件CDF值
%FC根据YY{ik}估算的经验有条件CDF值取YY 矩阵结构7×10×150×1 值和Yu值矩阵结构150×1样本中的最大Ymax和最小Ymin值进行分析考虑整体样本输出分布。
取间隔值为
deltaY (Ymax-Ymin)/4000 ; % 间隔值则YF公式为
YF [ (Ymin-std(Yu)/10) : deltaY : (Ymaxstd(Yu)/10) ] ;FU的计算与Yu和YF值相关FU的矩阵结构与YF相同
当Nc150时F [1:Nc]/Nc 即将1等比例分为150份累计增加。
在N1:Nc情况下Yu中小于YFN的部分对应序列的值 赋对应的F值。FC则是与YY和YF值相关矩阵结构为710YF*1 与FU计算同理。
5CDF值绘图 灰色的图YF为输入FC为输出 红色的图YF为输入FU为输出 6KS统计量计算
计算经验无条件CDF和不同条件值下的条件CDF之间的Kolmogorov-SmirnovKS统计量
KS(k,i) max | F(y) - F(y|x(i)x_ik) |每个变量的KS统计值 7PAWN灵敏性值计算 根据KS的max值进行计算 8变量灵敏性值区间范围计算 通过bootstrapping自举法评估鲁棒性使用越来越多的样本重复计算以评估收敛性重复收敛分析以得出置信区间 重采样次数选为100. 9收敛性分析 即对不同样本数量进行分析选取的采样空间进行扩充 如NCb [ NC/10 NC/2 NC ] ; NUb [ NU/10 NU/2 NU ] ;NN NUbn*NCb ; 即有条件和无条件输出分布样本数量为【165 825 1650】 纵坐标为不同变量对应的灵敏性值 10考虑输出阈值情况的敏感性分析 可参考【MATLAB第109期】基于MATLAB的带置信区间的RSA区域敏感性分析方法无目标函数 将PAWN应用于限定输出范围的区域计算对应的PAWN灵敏性值 即对应的输出要高于给定阈值如阈值为10则10以下的输出要筛除。
thres 10%阈值为10 ;三、代码获取
1.阅读首页置顶文章 2.关注CSDN 3.根据自动回复消息私信回复“110期”以及相应指令即可获取对应下载方式。