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