morris_sensitivities

pyapprox.analysis.morris_sensitivities(fun, variable, 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)

variablepyapprox.variables.IndependentMarginalsVariable

Object containing information of the joint density of the inputs z which is the tensor product of independent and identically distributed uniform variables.

ntrajectoriesinteger

The number of Morris trajectories requested

nlevelsinteger

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

Returns:
resultpyapprox.analysis.sensitivity_analysis.SensitivityResult

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