gemseo.algos.doe.oat_doe.oat_doe module#

The DOE used by a One-factor-at-a-Time (OAT) sensitivity analysis.

class OATDOE(algo_name='OATDOE')[source]#

Bases: BaseDOELibrary

The DOE used by a One-factor-at-a-Time sensitivity analysis.

The purpose of the OAT is to quantify the elementary effect

\[df_i = f(X_1+dX_1,\ldots,X_{i-1}+dX_{i-1},X_i+dX_i,\ldots,X_d) - f(X_1+dX_1,\ldots,X_{i-1}+dX_{i-1},X_i,\ldots,X_d)\]

associated with a small variation \(dX_i\) of \(X_i\) with

\[df_1 = f(X_1+dX_1,\ldots,X_d)-f(X_1,\ldots,X_d)\]

The elementary effects \(df_1,\ldots,df_d\) are computed sequentially from an initial point

\[X=(X_1,\ldots,X_d)\]

From these elementary effects, we can compare their absolute values \(|df_1|,\ldots,|df_d|\) and sort \(X_1,\ldots,X_d\) accordingly.

Note that GEMSEO does not implement this sensitivity analysis but this DOE is used by the MorrisAnalysis, which repeats this sensitivity analysis and computes statistics from the repetitions.

Parameters:

algo_name (str) --

The algorithm name.

By default it is set to "OATDOE".

Raises:

KeyError -- When the algorithm is not in the library.

ALGORITHM_INFOS: ClassVar[dict[str, DOEAlgorithmDescription]] = {'OATDOE': DOEAlgorithmDescription(algorithm_name='OATDOE', internal_algorithm_name='OATDOE', library_name='OATDOE', description='The DOE used by a One-factor-at-a-Time sensitivity analysis.', website='', Settings=<class 'gemseo.algos.doe.oat_doe.settings.oat_doe_settings.OATDOE_Settings'>, handle_integer_variables=True, minimum_dimension=1)}#

The description of the algorithms contained in the library.