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]) –

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]

failed_imports: dict[str, str]

The class names bound to the import errors.