bounds_expectation_supermod

rearrangement_algorithm.bounds_expectation_supermod(quant, num_steps: int = 10, abstol: float = 0, lookback: int = 0, max_ra: int = 0, supermod_func=<function sum>, method: str = 'lower')

Computing the lower/upper bounds on the expectation of supermodular functions.

This function performs the RA and calculates the lower and upper bounds on the expected value of a supermodular function of dependent random variables. For mathematical details, see 1.

Parameters
  • quant (list) – List of marginal quantile functions

  • num_steps (int) – Number of discretization points

  • abstol (float) – Absolute convergence tolerance

  • lookback (int) – Number of column rearrangements to look back for deciding about convergence. Must be a number in \(\{1, ..., \text{max_ra}-1\}\). If set to zero, it defaults to len(quant).

  • max_ra (int) – Number of column rearrangements. If zero, it defaults to infinitely many.

  • supermod_func (callable) – Callable function that represent the supermodular function which is applied to the dependent random variables. It needs to accept the axis=1 keyword argument and handle it in the numpy style, i.e., taking a 2D-array as input and returning a column-vector.

  • method (str) –

    Determine if the lower or upper bound on the expected value is computed. Valid options are:

    • lower: for the lower bound

    • upper: for the upper bound

Returns

  • bound_low (float) – Lower bound on the approximated bound of the expected value

  • x_ra_low (numpy.array) – Rearranged matrix for the lower bound

  • bound_up (float) – Upper bound on the approximated bound of the expected value

  • x_ra_up (numpy.array) – Rearranged matrix for the upper bound

References

1

G. Puccetti and L. Rüschendorf, “Computation of Sharp Bounds on the Expected Value of a Supermodular Function of Risks with Given Marginals,” Communications in Statistics - Simulation and Computation, vol. 44, no. 3, pp. 705-718, Mar. 2015.