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.