OrderStatisticsMarginalChecker

class OrderStatisticsMarginalChecker(*args)

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

Parameters:
collsequence 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.

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()

Accessor to the optimization algorithm used for the computation.

isCompatible()

Result of the compatibility tests.

setOptimizationAlgorithm(solver)

Accessor to the optimization algorithm used for the computation.

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()
__init__(*args)
buildPartition()

Accessor to the partition in independent marginal sets if any.

Returns:
indepMarginalsIndices

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 to build the appropriate 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 found.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getOptimizationAlgorithm()

Accessor to the optimization algorithm used for the computation.

Returns:
algoOptimizationAlgorithm

Optimization algorithm used for the computation.

isCompatible()

Result of the compatibility tests.

Returns:
resCompatibilitybool

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

setOptimizationAlgorithm(solver)

Accessor to the optimization algorithm used for the computation.

Parameters:
algoOptimizationAlgorithm

Optimization algorithm to use for the computation.