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.