OrderStatisticsMarginalChecker

class OrderStatisticsMarginalChecker(*args)

Compatibility tests of marginals with respect to the order statistics constraint.

Parameters:

coll : sequence of Distribution

The marginals (F_1, \dots, F_n) which are tested with respect to the order F_1 < \dots < F_n in the context of the maximum order statistics distribution.

Notes

Three tests are performed. We note [a_i,b_i] the range of X_i. The tests are :

  • Test 1 checks that a_i \leq a_{i+1} and b_i \leq b_{i+1} for all i.

  • Test 2 discretizes [0,1] with \{\dfrac{1}{2n},\dfrac{3}{2n}, \dots,\dfrac{2n-1}{2n}\} = \{q_1, \dots, q_{2n-1} \} where n is defined in the ResourceMap with OSMC-OptimizationEpsilon. By default, n=100. Test 2 checks that:

    F_k^{-1}(q_j) \geq F_{k-1}^{-1}(q_j)+\epsilon, \quad 1 \leq j \leq d

    where \epsilon is defined in the ResourceMap with OSMC-QuantileIteration. By default, \epsilon=10^{-7}.

  • Test 3 checks that:

    \min_{q \in [q_{j-1}, q_j]} \{F_k^{-1}(q) - F_{k-1}^{-1}(q) \} \geq \epsilon

    using the TNC algorithm.

Examples

Create the test checker:

>>> import openturns as ot
>>> coll = [ot.Uniform(-1.0, 1.0), ot.Uniform(-0.5, 1.5)]
>>> testChecker = ot.OrderStatisticsMarginalChecker(coll)

Check the compatibility:

>>> compatibilityResult = testChecker.isCompatible()

Methods

buildPartition() Accessor to the partition in independent marginal sets if any.
check() Give the reasons of uncompatibility of the margins if any.
getClassName() Accessor to the object’s name.
getOptimizationAlgorithm()
getOptimizationSolver()
isCompatible() Result of the compatibility tests.
setOptimizationAlgorithm(solver)
setOptimizationSolver(solver)
__init__(*args)
buildPartition()

Accessor to the partition in independent marginal sets if any.

Returns:

indepMarginals : Indices

Indicates the indices that build some independent sets of marginals. If we note indepMarginals = [i_1, i_2] then the sub random vectors (X_1, \dots, X_{i_1}), (X_{i_1+1}, \dots, X_{i_2}) and (X_{i_2+1}, \dots, X_n) are independent. This information is automatically used by OpenTURNS to build the appropriated maximum entropy order statistics distribution.

check()

Give the reasons of uncompatibility of the margins if any.

Notes

This method throws an exception in case of compatibility problem with a message indicating the first compatibility problem arised.

getClassName()

Accessor to the object’s name.

Returns:

class_name : str

The object class name (object.__class__.__name__).

isCompatible()

Result of the compatibility tests.

Returns:

resCompatibility : bool

The final result of the 3 compatibility tests with respect to the order constraint.