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.

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:

tuple[numpy.ndarray, numpy.ndarray]

docstring_processor(parent_doc: Optional[str], child_func: Callable) None: Callable[[Optional[str], Callable], str] = <docstring_inheritance.processors.google.GoogleDocstringProcessor object>
Parameters:
Return type:

None

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

Bases: object

A factory of ToleranceInterval.

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

Return an instance of ToleranceInterval.

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

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

  • class_name (str) –

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.

Return type:

type[Any]

class gemseo.uncertainty.statistics.tolerance_interval.distribution.ToleranceIntervalSide(value)

Bases: BaseEnum

An enumeration.

BOTH = 3
LOWER = 1
UPPER = 2