API 参考

Analysis API

Analysis API ​

UQPyL.analysis ​

analysis 模块评估输入变量如何影响目标或约束输出。

导入 ​

python
from UQPyL.analysis import RBDFAST, Sobol, Morris
from UQPyL.analysis.runtime import AnaReader

公共对象 ​

对象作用
Sobol基于 Saltelli 样本的方差分解敏感性分析。
FAST基于 FAST 设计的 Fourier amplitude sensitivity test。
RBDFAST可用于普通样本矩阵的一阶敏感性分析。
Morris基于 elementary effects 的筛选方法。
RSARegional sensitivity analysis。
DeltaTest基于近邻的变量敏感性分析。
MARSMARS-based 分析;可选依赖不可用时可能为 None。
AnaResultanalyze() 返回的标准结果对象。
AnaMetricAnaResult 中的一张指标矩阵。
AnaReader读取 saveFlag=True 保存的 sqlite 结果。

通用调用 ​

text
result = method.analyze(
    problem,
    X,
    Y=None,
    meta=None,
    target="objs",
    index="all",
)
参数含义
problemProblemBase 实例。
X输入样本矩阵。
Y与 X 对应的输出矩阵;不传时由方法内部评估。
metasampleWithMeta() 返回的采样元数据。部分方法必需。
target分析输出块,通常为 "objs" 或 "cons"。
index输出列选择:"all"、整数或整数列表。

运行控制参数:

参数含义
verboseFlag打印简洁运行摘要。
logFlag写文本日志。
saveFlag保存 sqlite 结果。

方法和设计匹配 ​

方法需要的样本设计主要指标
SobolSaltelliDesign.sampleWithMeta()S1, S1_norm, ST, ST_norm, 可选 S2
FASTFASTDesign.sampleWithMeta()S1, S1_norm, ST, ST_norm
MorrisMorrisDesign.sampleWithMeta()mu, mu_star, sigma, S1_norm
RBDFAST普通样本矩阵即可S1
RSA普通样本矩阵即可S1, S1_norm
DeltaTest普通样本矩阵即可S1, S1_norm
MARS普通训练式样本S1, S1_norm

AnaResult ​

字段或方法含义
method分析方法名。
problemName问题名。
target被分析的输出块。
settings方法设置。
meta采样元数据。
metricsAnaMetric 列表。
X, Y记录的输入和输出矩阵。
runtime运行时间。
metricNames指标名列表。
getMetric(name) / result[name]读取指定指标。
summary()紧凑摘要。
toDict()可序列化字典。

AnaMetric ​

字段含义
name指标名,如 S1、ST、mu_star。
values指标矩阵。行是输出,列是变量或变量组合。
rowLabels输出标签。
colLabels输入标签或输入组合标签。
colDim列维度类型,如 decsDim1 或 decsDim2。

AnaReader ​

用于读取 analysis sqlite 结果。

方法含义
list_runs(result_dir)列出结果目录中的 analysis runs。
get_run_summary()读取运行摘要。
get_run_params()读取运行参数。
get_metrics() / get_metric(name)读取指标。
get_artifacts()读取 X、Y、settings、meta 等 artifact。
load_problem()读取保存的问题对象。
load_result()重建完整 AnaResult。

下一步 ​

目标阅读
用户指南Analysis
生成兼容样本DOE API
建模协议Problem API