主要内容

为敏感性分析生成参数样本

本主题显示如何为灵敏度分析生成参数样本。

您可以使用全局敏感性分析万博1manbetx®设计优化™软件。利用技术,如实验设计(DOE)(也被称为实验设计),您可以选择参数设置以进行灵敏度分析。

您可以通过改变Simulink模型参数,并根据指定的概率分布在感兴趣的状态值生成参数样本。万博1manbetx这些参数和状态统称为参数.生成的参数值的每个组合被称为a样本样本点.样本的集合称为样本集设计空间样本空间, 要么参数集

生成参数集后,通过创建模型信号设计要求确定成本函数。然后,评估的参数设置每个样品的成本函数。然后,你分析的参数和要求之间的关系,了解参数如何影响成本函数。

您可以生成两种参数值:随机参数值网格参数值

生成随机参数值

在生成随机参数值时,指定参数空间的以下特征:

您可以在参数空间中指定参数空间的特征灵敏度分析仪或者在命令行

样本数

选择足够的样本以产生有用的结果。然而,每个模型评估都有计算费用,并且可能是时间密集型的。随着参数数量的增加,探索设计空间所需的样本数量通常也会增加。对于相关或回归分析,考虑使用10Np样品,Np是参数的数量。

抽样方法

指定用于生成样本的方法。您可以从以下方法中进行选择:

  • 随机- 随机样本从对所述参数指定的概率分布绘制。

    如果指定参数之间的相关性,该软件使用了伊曼 - 康诺弗算法施以参数的相关性。

  • 拉丁超立方-拉丁超立方样本是从参数指定的概率分布中提取的。使用这个选项比随机抽样更系统地填充空间。Sobol和Halton拟随机抽样方法比拉丁超立方方法更具有空间填充性。

    如果指定参数之间的相关性,该软件使用了伊曼 - 康诺弗算法施以参数的相关性。

  • Sobol.- 需要统计和机器学习工具箱™软件。Sobol准随机序列是从用于参数指定的概率分布绘制。使用了高度系统化的空间填充此方法。

    图中显示了两个参数的20个示例。在0到1的区间内,样本是均匀分布的。随机抽样会导致一些样本之间的差距很大,而其他样本之间的聚类很紧密。Sobol和Halton拟随机抽样方法避免了样本的间隙和聚类。如果在参数集中有很多参数,Sobol集比Halton拟随机集提供了更多的系统空间填充。有关更多信息,请参阅生成拟随机数字(统计和机器学习工具箱)

    如果指定参数之间的相关性,该软件使用了伊曼 - 康诺弗算法施以参数的相关性。

  • 中断- 需要统计和机器学习Toolbox软件。哈尔顿准随机序列是从用于参数指定的概率分布绘制。像Sobol方法,你可以使用高度系统化的空间填充哈尔顿方法。但是,如果你在你的参数设置许多参数Sobol方法提供了更系统的空间填充。有关更多信息,请参阅生成拟随机数字(统计和机器学习工具箱)

    如果指定参数之间的相关性,该软件使用了伊曼 - 康诺弗算法施以参数的相关性。

  • 系词- 需要统计和机器学习Toolbox软件。随机样本从豆类中汲取。使用此选项可以使用Copulas施加参数之间的相关性。

    你可以使用高斯连接(默认)或t连接。当参数极值的概率不可忽略时(分布为重尾),使用t copula,并指定自由度。随着自由度的增加,t函数收敛到高斯函数,极端参数值的概率可以忽略不计。下图显示了使用高斯函数和t函数在0到1的区间内为两个参数绘制的1000个样本。

    与Gaussian Copula相比,T Copula有更多的样本,其代表参数的极端值。随着自由度的增加,T Copula会收敛到高斯谱系。

    将相关类型指定为Spearman的秩相关或Kendall的等级相关性。

概率分布

指定每个参数的概率分布函数和相关的分布特征。使用您的系统(经验或理论)的知识来选择的概率分布。

笔记

万博1manbetxSimulink设计优化软件允许您指定均匀分布(默认)、正态分布、多项分布、分段线性分布和三角分布。对于其他发行版,您需要Statistics和Machine Learning Toolbox软件。

考虑选择一种分布,当你参数如下特点:

参数特征 适用分布

从扩展 -

  • 普通的

  • 极值

  • 广义极值 - 单端或来自 - ,取决于分布参数值。

  • 与正常分布相比,物流 - 重尾。

  • 牛逼的位置度 - 重尾比正态分布。

两端有界限

  • 统一的

  • bet

  • 二项式 - 离散分布

  • 多项分布

  • 分段线性

  • 三角形

从0延伸到

  • Birnbaum-Saunders.

  • 毛刺

  • 幂数

  • γ

  • 广义极值 - 单端或来自 - ,取决于参数值。

  • 逆高斯

  • 记录逻辑

  • 对数正态分布

  • Nakagami.

  • 负二项离散分布

  • 泊松-离散分布

  • 瑞利

  • 莱斯

  • 威布尔

定制分发

分段线性

有关这些发行版的更多信息,请参见概率分布(统计和机器学习工具箱)类别。

参数相关性

指定参数之间的相关性。用于施加参数相关性的算法依赖于采样方法。有关更多信息,请参阅抽样方法

在应用程序中生成随机参数值

在里面灵敏度分析仪,在你有在参数集合中选择的参数, 点击生成值并且,选择生成随机值

在“生成随机参数值”对话框中,指定样本数量、概率分布、参数边界和相关性以及抽样方法。有关如何在对话框中指定字段的信息,请单击帮助

生成的参数集和相应的参数集表显示在应用程序中。参数集表中的行数对应于您指定的样本数。

在生成参数值之后,绘制它们,以检查生成的参数值是否与预期的规范匹配。如果您为每个参数集生成少量的随机样本,那么这是相关的。有关更多信息,请参阅检查生成的参数设置

例如,请参见识别估计的关键参数(GUI)

不支持此功能万博1manbetx万博1manbetxSimulink的在线™

在命令行生成随机参数值

在命令行,使用sdo.ParameterSpace定义参数空间。此对象指定参数的概率分布和相关性。使用这个对象作为输入sdo.sample.用于从指定的参数空间中生成的参数值。

要生成随机参数值:

  • 指定样本数量作为第二个输入参数sdo.sample.

  • 指定用于生成使用这些样品的方法方法财产的sdo.sampleoptions.目的。使用这个对象作为输入sdo.sample.指定采样选项。

    如果该方法选的是'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%范围内的值。

  1. 建立A.Param.Conulous.目的。

    r = param.continuous('r',10);
  2. 创建一个定制的概率分布,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,1E3);积(X,PDF(PDR中,x));

    制造主义者指定电阻值的分段线性分布,在1%范围内具有“孔”。

  3. 指定PDR.的概率分布R.参数在sdo.ParameterSpace目的。

    PS = sdo.ParameterSpace(R,PDR);
  4. 产生1000个样本。

    Ns = 1000;x = sdo.sample (ps、Ns);
  5. (可选)使用sdo.scatterPlot可视化样本并验证示例空间。

生成网格参数值

控件中可以生成网格参数值灵敏度分析仪或者在命令行。

生成敏感性分析仪中的网格参数值

你已经创建了一个参数设置后,您可以在应用程序生成网格参数。

  1. 创建参数集。

    在里面灵敏度分析仪,在敏感性分析选项卡,单击选择参数

    在“选择参数”对话框中,选择要包含在参数集中的所有参数,然后单击好吧

    一种寄件变量是在创建参数集应用的领域。在参数集中的每一个参数的当前值显示在表中。

  2. 指定网格生成的启动参数值和网格方法。

    在敏感性分析选项卡,单击生成值,选择生成网格化价值从下拉菜单中。

    在“生成网格参数值”对话框中,指定网格方法为所有组合.该应用程序生成所指定的值的所有可能组合价值

    指定启动参数值价值.您在这里输入的值决定了参数空间。要查看指定起始参数值和网格方法的其他方法,请单击帮助

  3. 生成的参数。

    点击覆盖.参数设置表使用生成的网格参数值更新。

    您也可以附加在参数集表生成的值与之前生成的随机或网格化的参数值。要做到这一点,请点击附加

  4. (可选)绘制所生成的值。

    在里面参数集该应用程序的区域,选择寄件.在里面绘图应用程序的选项卡,选择散点图来自绘图画廊。

    用在对角线上显示的参数值的分布的直方图生成图。偏斜曲线绘图在参数成对之间显示散点图。要了解更多关于地块的信息,请参阅互动与灵敏度分析图解

不支持此功能万博1manbetx万博1manbetxSimulink在线

在命令行生成网格参数值

此示例显示如何在命令行中创建网格参数值表。

为两个模型参数生成样本网格,一种B..各不相同一种之间(2、3、4)B.之间(20、30、40)

  1. 建立A.Param.Conulous.目的。

    A = param.Continuous('一种',1);B = param.Continuous('B',10);
  2. 指定网格生成的参数值。

    avals = [2 3 4];bvals = [20 30 40];
  3. 建立网格化的参数值的表。为每个参数指定的一列,以及一个行用于每个样品。列名必须是相同的参数名称。

    [Agrid,Bgrid] = meshgrid(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

也可以看看

|

相关的话题