PLI¶
- class PLI(*args)¶
PLI base class.
Methods
computeConfidenceInterval
([confidenceLevel])Accessor to the confidence interval of the indices.
drawIndices
([confidenceLevel, label, ...])Draw all indices
drawMarginal1DPDF
(marginal, idelta[, ...])Draw the probability density function of a margin.
Accessor to applied delta values.
Accessor to the Gauss Kronrod algorithm used to compute integrals
Accessor to the Pertubation Law Indices.
getOriginalDelta
(marginal)Accessor to the original delta value
Accessor to the perturbed probability of failure
run
()Run the analysis: - get the failure sample - evaluate the probabilities with the perturbed distributions - define the estimator distributions
setGaussKronrod
(algo)Accessor to the Gauss Kronrod algorithm used to compute integrals
See also
Notes
The Perturbation Law Indices are based upon the modification of the probability density function (pdf) of the random inputs, when the quantity of interest is a failure probability. An input is considered influential if the input pdf modification leads to a broad change in the failure probability. These sensitivity indices can be computed using the sole set of simulations that has already been used to estimate the failure probability, thus limiting the number of calls to the numerical model. In this implementation, the sample must come from a Monte Carlo simulation.
The input perturbation is defined to obtain the perturbed density function as the closest to the original one, in the sense of the Kullback-Leibler divergence. The implemented perturbation includes a mean shift and a variance shift, accessible through the derived class. The current implementation only allows to modifiy Normal and Uniform density functions.
In order to compare equivalently the indices when the input distributions are not the same, it is possible to plot the indices with respect to the Hellinger distance.
- These indices have been developed by Paul Lemaitre:
Paul Lemaître, Ekatarina Sergienko, Aurélie Arnaud, Nicolas Bousquet, Fabrice Gamboa, et al.. Density modification based reliability sensitivity analysis. 2012.
Paul Lemaitre. Analyse de sensibilité en fiabilité des structures. Mécanique des structures [physics.class-ph]. Université de Bordeaux, 2014. Français.
- computeConfidenceInterval(confidenceLevel=0.95)¶
Accessor to the confidence interval of the indices.
- Parameters:
- confidenceLevel0 < float < 1
The wanted confidence level to compute the interval.
- Returns:
- cilist of 2d sequence of float
A list of arrays for each marginal containing the lower and upper bound of the confidence interval for each delta values.
- drawIndices(confidenceLevel=0.95, label=None, hellinger=False, name=None)¶
Draw all indices
- Parameters:
- confidenceLevel0 < float < 1 or None
The wanted confidence level to compute the interval. If set to ‘None’ only the indices are plotted.
- labellist of string
The labels of each parameters.
- hellingerbool
If True, the indices are plotted with respect to the hellinger distance between the original PDF and the perturbed PDF.
- Returns:
- figmatplotlib.figure
Matplotlib figure object.
- axmatplotlib.axes
Matplotlib axes object.
- drawMarginal1DPDF(marginal, idelta, showOriginal=True, label=None, xMin=None, xMax=None, pointNumber=None, name=None)¶
Draw the probability density function of a margin.
- Parameters:
- marginalint
The index of the margin of interest.
- ideltaint
The index in the delta array.
- showOriginalbool
Display on the same figure the original pdf or not.
- x_minfloat
The starting value that is used for meshing the x-axis. Defaults uses the quantile associated to the probability level 0.05.
- x_maxfloat, \(x_{max} > x_{min}\)
The ending value that is used for meshing the x-axis. Defaults uses the quantile associated to the probability level 0.95.
- n_pointsint
The number of points that is used for meshing the x-axis. Defaults uses DistributionImplementation-DefaultPointNumber from the
openturns.ResourceMap
.
- Returns:
- figmatplotlib.figure
Matplotlib figure object.
- axmatplotlib.axes
Matplotlib axes object.
- getDeltaSample()¶
Accessor to applied delta values.
- Returns:
- deltaSample2d sequence of float
The delta values.
- getGaussKronrod()¶
Accessor to the Gauss Kronrod algorithm used to compute integrals
- getIndices()¶
Accessor to the Pertubation Law Indices.
- Returns:
- pli2d sequence of float
The indices for all marginals and all given delta values.
- getOriginalDelta(marginal)¶
Accessor to the original delta value
- Parameters:
- marginalint
The indice of the perturbed marginal.
- getPerturbedProbabilityEstimate()¶
Accessor to the perturbed probability of failure
- Returns:
- pfdeltafloat
The probability of failure computed with the perturbed density function.
- run()¶
Run the analysis: - get the failure sample - evaluate the probabilities with the perturbed distributions - define the estimator distributions
- setGaussKronrod(algo)¶
Accessor to the Gauss Kronrod algorithm used to compute integrals
- Parameters:
- algo
openturns.GaussKronrod
The algorithm
- algo