API Reference

Design of Experiment API

Design of Experiment API

UQPyL.doe

doe 模块从 ProblemModelProblem 的输入空间生成样本。采样器通常先在 [0, 1] 单位空间生成点,再通过 problem.unit_to_space() 映射到真实边界。

导入

python
from UQPyL.doe import LHS, Random, FFD, Sobol

公共对象

对象作用
Sampler大多数采样器的基础接口。
Random均匀随机采样。
LHSLatin hypercube sampling。
FFDFull factorial design。
SobolSobol 低差异序列采样。
SaltelliDesignSobol 敏感性分析专用设计。
FASTDesignFAST 敏感性分析专用设计。
MorrisDesignMorris 轨迹设计。

通用接口

方法返回含义
sample(problem, nSamples=None, seed=None, nt=None)np.ndarray生成问题空间样本。
sampleWithMeta(problem, nSamples=None, seed=None, nt=None)(np.ndarray, dict)生成样本和设计元数据。
参数含义
problemProblemModelProblem 或 benchmark problem。
nSamples样本数或基础样本量,具体含义取决于采样器。
seed可选随机种子。
ntnSamples 的旧别名。

常用采样器

采样器构造说明
RandomRandom()随机均匀采样。
LHSLHS(criterion="classic", iterations=5)Latin hypercube;criterion 可为 "classic""center""maximin" 等。
FFDFFD()全因子网格,使用 levels 而不是 nSamples
SobolSobol(scramble=True, skipValue=0)Sobol 低差异序列;nSamples 通常建议为 2 的幂。

分析专用设计

设计用途输出行数
SaltelliDesign(secondOrder=False)analysis.Sobol((D + 2) * N, D)
SaltelliDesign(secondOrder=True)带二阶指标的 analysis.Sobol((2 * D + 2) * N, D)
FASTDesign(M=4)analysis.FAST(N * D, D),且 N > 4 * M^2
MorrisDesign(numLevels=4)analysis.Morris(numTrajectory * (D + 1), D)

这些设计必须用 sampleWithMeta(),并把返回的 meta 传给对应分析方法。

元数据

meta 是描述设计结构的字典。普通采样中它用于记录;指定设计分析中它是必需输入。

采样器关键字段
RandomdesignType, seed
LHSdesignType, criterion, iterations, seed
FFDdesignType, levels, seed
SoboldesignType, scramble, skipValue, seed
SaltelliDesigndesignType, N, secondOrder, blockSize, seed
FASTDesigndesignType, N, M, blockSize, seed
MorrisDesigndesignType, numTrajectory, numLevels, trajectorySize, seed

下一步

目标阅读
用户指南Design of Experiment
敏感性分析Analysis API
建模协议Problem API