本主题介绍如何生成灵敏度分析的参数样本。
您可以使用执行全局敏感性分析金宝app®优化设计™软件使用诸如实验设计(DOE)(也称为实验设计),您可以选择用于灵敏度分析的参数集。
根据指定的概率分布,通过改变Simulink模型参数的值和感兴趣的状态来生成参数样本。金宝app这些参数和状态统称为参数.生成的参数值的每个组合称为样本或采样点.样本的集合称为样本集设计空间,样本空间,或参数集.
在生成参数集之后,您可以通过在模型信号上创建设计需求来定义成本函数。然后评估参数集中每个样本的代价函数。然后,分析参数和需求之间的关系,了解参数如何影响成本函数。
在生成随机参数值时,指定参数空间的以下特征:
选择足够的样本以产生有用的结果。然而,每个模型评估都有计算费用,并且可能是时间密集型的。随着参数数量的增加,探索设计空间所需的样本数量通常也会增加。对于相关或回归分析,考虑使用10Np样品,Np是参数的数目。
指定用于生成样本的方法。您可以从以下方法中选择:
随机-随机样本从参数指定的概率分布中抽取。
如果指定参数之间的相关性,软件使用Iman-Conover算法来施加参数相关性。
拉丁超立方-拉丁超立方样本是从参数指定的概率分布中提取的。使用这个选项比随机抽样更系统地填充空间。Sobol和Halton拟随机抽样方法比拉丁超立方方法更具有空间填充性。
如果指定参数之间的相关性,软件使用Iman-Conover算法来施加参数相关性。
索波尔-需要统计学和机器学习工具箱™软件。Sobol拟随机序列是从指定的参数的概率分布中得到的。使用这种方法进行高度系统的空间填充。
图中显示了两个参数的20个示例。在0到1的区间内,样本是均匀分布的。随机抽样会导致一些样本之间的差距很大,而其他样本之间的聚类很紧密。Sobol和Halton拟随机抽样方法避免了样本的间隙和聚类。如果在参数集中有很多参数,Sobol集比Halton拟随机集提供了更多的系统空间填充。有关更多信息,请参见生成拟随机数字(统计学和机器学习工具箱).
如果指定参数之间的相关性,软件使用Iman-Conover算法来施加参数相关性。
哈尔顿-需要统计学和机器学习工具箱软件。霍尔顿拟随机序列是由指定的概率分布的参数。与Sobol方法一样,您可以使用Halton方法进行高度系统的空间填充。但是,如果参数集中有很多参数,Sobol方法会提供更系统的空间填充。有关更多信息,请参见生成拟随机数字(统计学和机器学习工具箱).
如果指定参数之间的相关性,软件使用Iman-Conover算法来施加参数相关性。
连系动词-需要统计和机器学习工具箱软件。从连接函数中提取随机样本。使用此选项可使用连接函数在参数之间施加相关性。
你可以使用高斯连接(默认)或t连接。当参数极值的概率不可忽略时(分布为重尾),使用t copula,并指定自由度。随着自由度的增加,t函数收敛到高斯函数,极端参数值的概率可以忽略不计。下图显示了使用高斯函数和t函数在0到1的区间内为两个参数绘制的1000个样本。
与高斯copula相比,t copula有更多的样本来代表参数的极值。随着自由度的增加,t函数收敛于高斯函数。
将关联类型指定为Spearman的秩关联或Kendall的秩关联。
为每个参数指定概率分布函数和相关的分布特征。利用你的系统知识(经验的或理论的)来选择概率分布。
请注意
金宝appSimulink设计优化软件允许您指定均匀分布(默认)、正态分布、多项分布、分段线性分布和三角分布。对于其他发行版,您需要Statistics和Machine Learning Toolbox软件。
当选择一个分布时,考虑你的参数的以下特征:
参数特征 | 适用分配 |
---|---|
从- - - - - - 来 |
|
两端有界 |
|
从0扩展到 |
|
自定义分发 |
分段线性 |
有关这些发行版的更多信息,请参见概率分布(统计学和机器学习工具箱)类别。
指定参数之间的相关性。用于施加参数相关性的算法依赖于采样方法。有关更多信息,请参见抽样方法.
在灵敏度分析仪,在你有选择参数集中的参数点击产生价值而且,选择生成随机值.
在“生成随机参数值”对话框中,指定样本数量、概率分布、参数边界和相关性以及抽样方法。有关如何在对话框中指定字段的信息,请单击帮助.
生成的参数集和相应的参数集表格将显示在应用程序中。参数集表格中的行数与您指定的样本数相对应。
在生成参数值之后,绘制它们,以检查生成的参数值是否与预期的规范匹配。如果您为每个参数集生成少量的随机样本,那么这是相关的。有关更多信息,请参见检查生成的参数集.
例如,请参见确定评估的关键参数(GUI).
中不支持此功能金宝app金宝app仿真软件在线™.
在命令行中,使用sdo。ParameterSpace
定义参数空间。此对象指定参数的概率分布和相关性。将此对象用作sdo样品
用于从指定的参数空间生成参数值。
要生成随机参数值,请执行以下操作:
指定采样数作为的第二个输入参数sdo样品
.
属性指定用于生成这些示例的方法方法
财产的sdo.SampleOptions
对象。使用此对象作为输入sdo样品
指定采样选项。
如果选择的方法是“sobol”
或“哈尔顿”
,指定MethodOptions
性质sdo.SampleOptions
.
如果选择的方法是连系动词的
,指定copula的选择MethodOptions
性质sdo.SampleOptions
。并指明RankCorrelation
财产的sdo。ParameterSpace
对象。
使用ParameterDistributions
财产的sdo。ParameterSpace
对象。
属性指定参数之间的相关性RankCorrelation
财产的sdo。ParameterSpace
.
在生成参数值之后,绘制生成的值,以检查它们是否匹配所需的规范。如果您为每个参数集生成少量的随机样本,那么这是相关的。有关更多信息,请参见检查生成的参数集.
例如,请参见识别评估的关键参数(代码).
这个示例展示了在命令行执行灵敏度分析时如何使用自定义分布生成随机参数值。生成1000个模型参数的样本,R
,在其名义价值的5%范围内,10。R
是一个电阻。1%公差的电阻器被制造商移除,所以不要产生R
其标称值的1%范围内的值。
构造一个参数。连续
对象。
R=参数连续(“R”,10);
创建一个定制的概率分布,pdR
,配置参数空间。
x = [0.95 0.99 1.01 1.05]*R.Value;F = [0 0.5 0.5 1];pdR = makedist (“PiecewiseLinear”,“x”, x,“外汇”F);x = linspace (0.9 * R.Value, 1.1 * R.Value, 1 e3);情节(x, pdf (pdR x));
制造者
指定电阻值的分段线性分布,其中“孔”在1%范围内。
具体说明pdR
的概率分布R
参数在一个sdo。ParameterSpace
对象。
ps = sdo.ParameterSpace (R, pdR);
产生1000个样本。
Ns = 1000;x = sdo.sample (ps、Ns);
(可选)使用sdo.scatterPlot
可视化样本并验证样本空间。
控件中可以生成网格参数值灵敏度分析仪或者在命令行。
在创建参数集后,你可以在应用程序中生成网格参数。
创建一个参数集。
在灵敏度分析仪,在敏感性分析选项卡上,单击选择参数.
在“选择参数”对话框中,选择要包含在参数集中的所有参数,然后单击好吧.
一个参数集
变量在参数集参数集中每个参数的当前值将显示在表格中。
指定网格生成的起始参数值和网格方法。
在Sensitivity Analysis选项卡中,单击产生价值,然后选择生成网格值从下拉菜单。
在“生成网格参数值”对话框中,指定网格方法为所有组合。应用程序生成中指定的值的所有可能组合价值观.
在中指定起始参数值价值观.您在这里输入的值决定了参数空间。要查看指定起始参数值和网格方法的其他方法,请单击帮助.
生成的参数。
点击覆盖。参数集表格将使用生成的网格化参数值进行更新。
还可以将生成的值附加到参数集表中先前生成的随机或网格参数值。为此,请单击附加.
(可选)绘制生成的值。
在参数集区域的应用程序,选择参数集.在阴谋在应用程序的选项卡上,选择散点图从情节画廊。
使用对角线上显示的参数值分布直方图生成图。非对角线图显示参数对之间的散点图。要了解有关图的更多信息,请参阅与灵敏度分析仪中的图交互.
中不支持此功能金宝app金宝appSimulink在线.
此示例演示如何在命令行中创建网格化参数值表。
为两个模型参数生成样本网格,一个
和B
. 变化一个
之间(2、3、4)
和B
之间(20、30、40)
.
构造一个参数。连续
对象。
一个=参数。连续(“一个”1);B =参数。连续(“B”,10);
指定网格生成的参数值。
阿瓦拉斯=[2 3 4];Bvals=[20 30 40];
创建网格参数值表。为每个参数指定一列,为每个示例指定一行。列名必须与参数名相同。
[Agrid,Bgrid]=网格网格(Avals,Bvals);x=表(Agrid(:),Bgrid(:),“VariableNames”,{“一个”,“B”});
x = A B __ 2 20 2 30 2 40 3 20 3 30 3 40 4 20 4 30 4 40