analyze_sensitivity_morris

pyapprox.sensitivity_analysis.analyze_sensitivity_morris(fun, univariate_variables, ntrajectories, nlevels=4)[source]

Compute sensitivity indices by constructing an adaptive polynomial chaos expansion.

Parameters
funcallable

The function being analyzed

fun(z) -> np.ndarray

where z is a 2D np.ndarray with shape (nvars,nsamples) and the output is a 2D np.ndarray with shape (nsamples,nqoi)

ntrajectoriesinteger

The number of Morris trajectories requested

nlevelsinteger

The number of levels used for to define the morris grid.

Returns
resultpyapprox.sensitivity_analysis.SensivitityResult

Result object with the following attributes

munp.ndarray (nvars,nqoi)

The sensitivity of each output to each input. Larger mu corresponds to higher sensitivity

sigma: np.ndarray (nvars,nqoi)

A measure of the non-linearity and/or interaction effects of each input for each output. Low values suggest a linear realationship between the input and output. Larger values suggest a that the output is nonlinearly dependent on the input and/or the input interacts with other inputs

samplesnp.ndarray(nvars,ntrajectories*(nvars+1))

The coordinates of each morris trajectory

valuesnp.ndarray(nvars,nqoi)

The values of fun at each sample in samples