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[OATDOE_Settings]

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.

Initialize self. See help(type(self)) for accurate signature.

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.