gemseo / uncertainty / statistics / tolerance_interval

# distribution module¶

Computation of tolerance intervals from a data-fitted probability distribution.

class gemseo.uncertainty.statistics.tolerance_interval.distribution.ToleranceInterval(size)[source]

Bases: object

Computation of tolerance intervals from a data-fitted probability distribution.

A ToleranceInterval (TI) is initialized from the number of samples used to estimate the parameters of the probability distribution and from the estimations of these parameters.

A ToleranceInterval can be evaluated from:

• a coverage defining the minimum percentage of belonging to the TI, e.g. 0.90,

• a level of confidence in [0,1], e.g. 0.95,

• a type of interval, either ‘lower’ for lower-sided TI, ‘upper’ for upper-sided TI or ‘both’ for both-sided TI.

Note

Lower-sided tolerance intervals are used to analyse the strength of materials. They are also known as basis tolerance limits. In particular, the B-value is the lower bound of the lower-sided tolerance interval with 90%-coverage and 95%-confidence while the A-value is the lower bound of the lower-sided tolerance interval with 95%-coverage and 95%-confidence.

Parameters:

size (int) – The number of samples.

class Bounds(lower, upper)[source]

Bases: NamedTuple

The component-wise bounds of a vector.

Create new instance of Bounds(lower, upper)

Parameters:
• lower (NDArray[float]) –

• upper (NDArray[float]) –

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

lower: NDArray[float]

Alias for field number 0

upper: NDArray[float]

Alias for field number 1

class ToleranceIntervalSide(value)[source]

Bases: LowercaseStrEnum

The side of the tolerance interval.

BOTH = 'both'
LOWER = 'lower'
UPPER = 'upper'
compute(coverage, confidence=0.95, side=ToleranceIntervalSide.BOTH)[source]

Compute a tolerance interval.

Parameters:
• coverage (float) – A minimum percentage of belonging to the TI.

• confidence (float) –

A level of confidence in [0,1].

By default it is set to 0.95.

• side (ToleranceIntervalSide) –

The type of the tolerance interval characterized by its sides of interest, either a lower-sided tolerance interval $$[a, +\infty[$$, an upper-sided tolerance interval $$]-\infty, b]$$, or a two-sided tolerance interval $$[c, d]$$.

By default it is set to “both”.

Returns:

The tolerance bounds.

Return type:

Bounds

class gemseo.uncertainty.statistics.tolerance_interval.distribution.ToleranceIntervalFactory[source]

Bases: BaseFactory

A factory of ToleranceInterval.

Return type:

Any

create(class_name, size, *args)[source]

Return an instance of ToleranceInterval.

Parameters:
• class_name (str) – The name of the class.

• size (int) – The number of samples used to estimate the parameters of the probability distribution.

• *args (float) – The arguments of the probability distribution.

Returns:

The instance of the class.

Raises:

TypeError – If the class cannot be instantiated.

Return type:

ToleranceInterval

get_class(name)[source]

Return a class from its name.

Parameters:

name (str) – The name of the class.

Returns:

The class.

Raises:

ImportError – If the class is not available.

Return type:

type[Any]

get_default_option_values(name)

Return the constructor kwargs default values of a class.

Parameters:

name (str) – The name of the class.

Returns:

The mapping from the argument names to their default values.

Return type:

dict[str, str | int | float | bool]

get_default_sub_option_values(name, **options)

Return the default values of the sub options of a class.

Parameters:
• name (str) – The name of the class.

• **options (str) – The options to be passed to the class required to deduce the sub options.

Returns:

The JSON grammar.

Return type:

JSONGrammar

get_library_name(name)

Return the name of the library related to the name of a class.

Parameters:

name (str) – The name of the class.

Returns:

The name of the library.

Return type:

str

get_options_doc(name)

Return the constructor documentation of a class.

Parameters:

name (str) – The name of the class.

Returns:

The mapping from the argument names to their documentation.

Return type:

dict[str, str]

get_options_grammar(name, write_schema=False, schema_path='')

Return the options JSON grammar for a class.

Attempt to generate a JSONGrammar from the arguments of the __init__ method of the class.

Parameters:
• name (str) – The name of the class.

• write_schema (bool) –

If True, write the JSON schema to a file.

By default it is set to False.

• schema_path (Path | str) –

The path to the JSON schema file. If None, the file is saved in the current directory in a file named after the name of the class.

By default it is set to “”.

Returns:

The JSON grammar.

Return type:

JSONGrammar

get_sub_options_grammar(name, **options)

Return the JSONGrammar of the sub options of a class.

Parameters:
• name (str) – The name of the class.

• **options (str) – The options to be passed to the class required to deduce the sub options.

Returns:

The JSON grammar.

Return type:

JSONGrammar

is_available(name)

Return whether a class can be instantiated.

Parameters:

name (str) – The name of the class.

Returns:

Whether the class can be instantiated.

Return type:

bool

update()

Search for the classes that can be instantiated.

The search is done in the following order:
1. The fully qualified module names

2. The plugin packages

3. The packages from the environment variables

Return type:

None

PLUGIN_ENTRY_POINT: ClassVar[str] = 'gemseo_plugins'

The name of the setuptools entry point for declaring plugins.

property class_names: list[str]

The sorted names of the available classes.

failed_imports: dict[str, str]

The class names bound to the import errors.