Class SobolSensitivityAnalysis
java.lang.Object
org.moeaframework.analysis.sensitivity.SobolSensitivityAnalysis
- All Implemented Interfaces:
SensitivityAnalysis<SobolSensitivityAnalysis.SobolSensitivityResult>
public class SobolSensitivityAnalysis
extends Object
implements SensitivityAnalysis<SobolSensitivityAnalysis.SobolSensitivityResult>
Global sensitivity analysis of blackbox model output using Saltelli's improved Sobol' global variance decomposition
procedure.
- When requesting
N
samples, theSaltelli
sampling strategy generatesN * (2 * P + 2)
actual samples, whereP
is the number of parameters being analyzed. - Negative sensitivity values can occur and typically coincide with large confidence intervals. Increasing the sample size can help, but this generally means the sensitivities are near zero.
This code was derived and translated from the C code used in the Tang et al. (2007) study cited below.
References:
- Tang, Y., Reed, P., Wagener, T., and van Werkhoven, K., "Comparing Sensitivity Analysis Methods to Advance Lumped Watershed Model Identification and Evaluation," Hydrology and Earth System Sciences, vol. 11, no. 2, pp. 793-817, 2007.
- Saltelli, A., et al. "Global Sensitivity Analysis: The Primer." John Wiley & Sons Ltd, 2008.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Computes the results of the Sobol' global variance decomposition procedure. -
Constructor Summary
ConstructorDescriptionSobolSensitivityAnalysis
(ParameterSet parameterSet, int N) Constructs a new Sobol' global variance decomposition instance.SobolSensitivityAnalysis
(ParameterSet parameterSet, int N, int resamples) Constructs a new Sobol' global variance decomposition instance. -
Method Summary
Modifier and TypeMethodDescriptionevaluate
(double[] responses) Evaluates the model responses associated with each sample, returning the sensitivity results.Generates and returns the samples required by this sensitivity analysis method.Returns the parameter set associated with this sensitivity analysis.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.analysis.sensitivity.SensitivityAnalysis
evaluate
-
Constructor Details
-
SobolSensitivityAnalysis
Constructs a new Sobol' global variance decomposition instance.- Parameters:
parameterSet
- the parameters being analyzedN
- the number of samples
-
SobolSensitivityAnalysis
Constructs a new Sobol' global variance decomposition instance.- Parameters:
parameterSet
- the parameters being analyzedN
- the number of samplesresamples
- the number of resamples used to bootstrap the 50% confidence intervals
-
-
Method Details
-
getParameterSet
Description copied from interface:SensitivityAnalysis
Returns the parameter set associated with this sensitivity analysis.- Specified by:
getParameterSet
in interfaceSensitivityAnalysis<SobolSensitivityAnalysis.SobolSensitivityResult>
- Returns:
- the parameter set
-
generateSamples
Description copied from interface:SensitivityAnalysis
Generates and returns the samples required by this sensitivity analysis method. Typically, but not always, these samples are random or pseudo-random.- Specified by:
generateSamples
in interfaceSensitivityAnalysis<SobolSensitivityAnalysis.SobolSensitivityResult>
- Returns:
- the samples
-
evaluate
Description copied from interface:SensitivityAnalysis
Evaluates the model responses associated with each sample, returning the sensitivity results. The order of responses must match the order of the generated samples!- Specified by:
evaluate
in interfaceSensitivityAnalysis<SobolSensitivityAnalysis.SobolSensitivityResult>
- Parameters:
responses
- the model responses- Returns:
- the sensitivity results
-