gemseo / uncertainty / statistics / tolerance_interval

distribution module

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

Classes:

ToleranceInterval(size)

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

ToleranceIntervalFactory()

A factory of ToleranceInterval.

ToleranceIntervalSide(value)

An enumeration.

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.

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

Parameters

size (int) – The number of samples.

Return type

None

Methods:

compute(coverage[, confidence, side])

Compute a tolerance interval.

compute(coverage, confidence=0.95, side=<ToleranceIntervalSide.BOTH: 3>)[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].

  • side (gemseo.uncertainty.statistics.tolerance_interval.distribution.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]\).

Returns

The tolerance bounds.

Return type

Tuple[numpy.ndarray, numpy.ndarray]

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

Bases: object

A factory of ToleranceInterval.

Methods:

create(class_name, size, *args)

Return an instance of ToleranceInterval.

get_class(name)

Return a class from its name.

Return type

None

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 – The arguments of the probability distribution.

  • class_name (str) –

  • args (float) –

Returns

The instance of the class.

Raises

TypeError – If the class cannot be instantiated.

Return type

gemseo.uncertainty.statistics.tolerance_interval.distribution.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: gemseo.utils.base_enum.BaseEnum

An enumeration.

Attributes:

BOTH

LOWER

UPPER

BOTH = 3
LOWER = 1
UPPER = 2