src.variants.scenarios.sampling module

This module includes sampling methods.

It includes several sampling techniques: - mcs_uniform: uniform Monte Carlo sampling, - mcs_gaussian: gaussian Monte Carlo sampling, - lhs: Latin Hypercube sampling, - full_factorial_doe: full factorial design of experiments (with all permutations), - cartesian_product: low-level function to get permutations. See details in their own documentations.

Contact person: Stefan Riedmaier Creation date: 08.06.2020 Python version: 3.8

src.variants.scenarios.sampling.cartesian_product(*arrays)

This function calculates a cartesian product.

The code is based on the following stack overflow article: https://stackoverflow.com/questions/11144513/cartesian-product-of-x-and-y-array-points-into-single-array-of-2d-points

Parameters:

arrays – multiple 1d arrays

Returns:

2d array with the cartesian product of all 1d arrays

Return type:

np.ndarray

src.variants.scenarios.sampling.full_factorial_doe(min_list, max_list, number_samples)

This function generates a full factorial design of experiments.

Parameters:
  • min_list (list[float]) – lower limits of all parameters

  • max_list (list[float]) – upper limits of all parameters

  • number_samples (list[int]) – number of samples of all parameters

Returns:

full factorial samples

Return type:

np.ndarray

src.variants.scenarios.sampling.lhs(min_list, max_list, number_samples)

This function generates latin hypercube samples (LHS).

Within each cell, the lowest sample starts at its lower cell boundary and the highest sample ends at its upper cell boundary. The samples in between move within their cell in an equidistant grid. There are also other options such as centering the samples within their cell, etc.

Parameters:
  • min_list (list[float]) – lower limits of all parameters

  • max_list (list[float]) – upper limits of all parameters

  • number_samples (int) – number of samples (same for all parameters)

Returns:

latin hypercube samples

Return type:

np.ndarray

src.variants.scenarios.sampling.mcs_gaussian(mu_list, sigma_list, number_samples)

This function generates monte carlo samples (MCS) from a normal distribution.

Parameters:
  • mu_list (list[float]) – expected value of all parameters

  • sigma_list (list[float]) – standard deviation of all parameters

  • number_samples (int) – number of samples (same for all parameters)

Returns:

monte carlo samples

Return type:

np.ndarray

src.variants.scenarios.sampling.mcs_uniform(min_list, max_list, number_samples)

This function generates monte carlo samples (MCS) from a uniform distribution within the min-max-ranges.

Parameters:
  • min_list (list[float]) – lower limits of all parameters

  • max_list (list[float]) – upper limits of all parameters

  • number_samples (int) – number of samples (same for all parameters)

Returns:

monte carlo samples

Return type:

np.ndarray