sensitivity.sensitivity_sampling¶
Sampling-based sensitivity and uncertainty analysis.
This module implements a sampling-based sensitivity and uncertainty analysis approach. Model parameters are varied simultaneously within their bounds, and the resulting distribution of model outputs is analyzed statistically.
Parameter samples are generated using Latin Hypercube Sampling (LHS), assuming independent and uniformly distributed parameters.
For each analysis group and output variable, descriptive statistics are computed, including:
- mean and median
- standard deviation and coefficient of variation
- minimum and maximum
- lower and upper quantiles (5% and 95%)
Uncertainty is calculated as Ui,j = (Percentile97.5(i,j) - Percentile2.5(i,j)) / Percentile50(i,j)
This approach focuses on uncertainty propagation rather than variance-based sensitivity indices and is therefore complementary to local and Sobol-based methods.
SamplingSensitivityAnalysis
¶
SamplingSensitivityAnalysis(
sensitivity_simulation,
parameters,
groups,
results_path,
N,
seed=None,
n_cores=None,
cache_results=False,
)
Bases: SensitivityAnalysis
Sensitivity/uncertainty analysis based on sampling.
Initialize the sampling analysis with N samples per group.
create_samples
¶
Create LHS samples.
Latin hypercube sampling (LHS) is a stratified sampling method used to generate near‑random samples from a multidimensional distribution for Monte Carlo simulations and computer experiments.
Assuming uniform distributions within the provided bounds.
Use LHS sampling of parameters.
calculate_sensitivity
¶
Calculate the sensitivity matrices for sampling sensitivity.
df_sampling_sensitivity
¶
Write the sampling sensitivities as a table to the given path.
plot_data
¶
Boxplots for the sampled output.