UQ[PY]LAB USER MANUAL
STRUCTURAL RELIABILITY (RARE EVENT
ESTIMATION)
S. Marelli, R. Sch
¨
obi, B. Sudret
CHAIR OF RISK, SAFETY AND UNCERTAINTY QUANTIFICATION
STEFANO-FRANSCINI-PLATZ 5
CH-8093 Z
¨
URICH
Risk, Safety &
Uncertainty Quantification
How to cite UQ[PY]LAB
C. Lataniotis, S. Marelli, B. Sudret, Uncertainty Quantification in the cloud with UQCloud, Proceedings of the 4th
International Conference on Uncertainty Quantification in Computational Sciences and Engineering (UNCECOMP
2021), Athens, Greece, June 27–30, 2021.
How to cite this manual
S. Marelli, R. Sch
¨
obi, B. Sudret, UQ[py]Lab user manual Structural reliability (Rare event estimation), Report
UQ[py]Lab -V1.0-107, Chair of Risk, Safety and Uncertainty Quantification, ETH Zurich, Switzerland, 2024
BIBT
E
X entry
@TechReport{UQdoc_10_107,
author = {Marelli, S. and Sch\"obi, R. and Sudret, B.},
title = {{UQ[py]Lab user manual -- Structural reliability (Rare event estimation)
}},
institution = {Chair of Risk, Safety and Uncertainty Quantification, ETH Zurich,
Switzerland},
year = {2024},
note = {Report UQ[py]Lab - V1.0-107}
}
List of contributors:
Name Contribution
A. Hlobilov
´
a Translation from the UQLab manual
Document Data Sheet
Document Ref. UQ[PY]LAB-V1.0-107
Title: UQ[PY]LAB user manual Structural reliability (Rare event estima-
tion)
Authors: S. Marelli, R. Sch
¨
obi, B. Sudret
Chair of Risk, Safety and Uncertainty Quantification, ETH Zurich,
Switzerland
Date: 27/05/2024
Doc. Version Date Comments
V1.0 27/05/2024 Minor update for UQ[PY]LAB release 1.0
V0.9 22/03/2023 Initial release
Abstract
Structural reliability methods aim at the assessment of the probability of failure of complex
systems due to uncertainties associated to their design, manifacturing, environmental and
operating conditions. The name structural reliability comes from the emergence of such
computational methods back in the mid 70’s to evaluate the reliability of civil engineering
structures. As these probabilities are usually small (e.g. 10
2
10
8
), this type of problems
is also known as rare events estimation in the recent statistics literature.
The structural reliability module of UQ[PY]LAB offers a comprehensive set of techniques for
the efficient estimation of the failure probability of a wide range of systems. Classical (crude
Monte Carlo simulation, FORM/SORM, Subset Simulation) and state-of-the-art algorithms
(AK-MCS) are available and can be easily deployed in association with other UQ[PY]LAB
tools, e.g. surrogate modelling or sensitivity analysis.
The structural reliability user manual is divided in three parts:
A short introduction to the main concepts and techniques used to solve structural reli-
ability problems, with a selection of references to the relevant literature
A detailed example-based guide, with the explanation of most of the available options
and methods
A comprehensive reference list detailing all the available functionalities in the UQ[PY]LAB
structural reliability module.
Keywords: Structural Reliability, FORM, SORM, Importance Sampling, Monte Carlo Simula-
tion, Subset Simulation, AK-MCS, UQ[PY]LAB, rare event estimation
Contents
1 Theory 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Limit-state function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.2 Failure Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Strategies for the estimation of P
f
. . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Approximation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.1 First Order Reliability Method (FORM) . . . . . . . . . . . . . . . . . . 4
1.4.2 Second Order Reliability Method (SORM) . . . . . . . . . . . . . . . . 9
1.5 Simulation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.1 Monte Carlo Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.2 Importance Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.3 Subset Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Metamodel-based methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1 Adaptive Kriging Monte Carlo Simulation . . . . . . . . . . . . . . . . 15
1.6.2 Stochastic spectral embedding-based reliability . . . . . . . . . . . . . 18
2 Usage 23
2.1 Reference problem: R-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Problem set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Reliability analysis with different methods . . . . . . . . . . . . . . . . . . . . 24
2.3.1 First Order Reliability Method (FORM) . . . . . . . . . . . . . . . . . . 25
2.3.2 Second Order Reliability Method (SORM) . . . . . . . . . . . . . . . . 27
2.3.3 Monte Carlo Simulation (MCS) . . . . . . . . . . . . . . . . . . . . . . 29
2.3.4 Importance Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.5 Subset Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.6 Adaptive Kriging Monte Carlo Simulation (AK-MCS) . . . . . . . . . . 36
2.3.7 Stochastic spectral embedding-based reliability (SSER) . . . . . . . . . 39
2.4 Advanced limit-state function options . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.1 Specify failure threshold and failure criterion . . . . . . . . . . . . . . 41
2.4.2 Vector Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5 Excluding parameters from the analysis . . . . . . . . . . . . . . . . . . . . . 42
3 Reference List 43
3.1 Create a reliability analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Accessing the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.1 Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.2 FORM and SORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.3 Importance sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.4 Subset simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.5 AK-MCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.6 SSER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Printing/Visualizing of the results . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 Printing the results: uq.print . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.2 Graphically display the results: uq.display . . . . . . . . . . . . . . . . 59
Chapter 1
Theory
1.1 Introduction
A structural system is defined as a structure required to provide specific functionality under
well-defined safety constraints. Such constraints need to be taken into account during the
system design phase in view of the expected environmental/operating loads it will be subject
to.
In the presence of uncertainties in the physical properties of the system (e.g. due to tolerances
in the manufacturing), in the environmental loads (e.g. due to exceptional weather condi-
tions), or in the operating conditions (e.g. traffic), it can occur that the structure operates
outside of its nominal range. In such cases, the system encounters a failure.
Structural reliability analysis deals with the quantitative assessment of the probability of
occurrence of such failures (probability of failure), given a model of the uncertainty in the
structural, environmental and load parameters.
Following the formalism introduced in Sudret (2007), this chapter is intended as a brief
theoretical introduction and literature review of the available tools in the structural reliability
module of UQ[PY]LAB. Consistently with the overall design philosophy of UQ[PY]LAB, all
the algorithms presented follow a black-box approach, i.e. they rely on the point-by-point
evaluation of a computational model, without knowledge about its inner structure.
1.2 Problem statement
1.2.1 Limit-state function
A limit state can be defined as a state beyond which a system no longer satisfies some perfor-
mance measure (ISO Norm 2394). Regardless on the choice of the specific criterion, a state
beyond the limit state is classified as a failure of the system.
Consider a system whose state is represented by a random vector of variables X D
X
R
M
.
One can define two domains D
s
, D
f
D
X
that correspond to the safe and failure regions of
the state space D
X
, respectively. In other words, the system is failing if the current state
x D
f
and it is operating safely if x D
s
. This classification makes it possible to construct
a limit-state function g(X) (sometimes also referred to as performance function) that assumes
1
UQ[PY]LAB user manual
Figure 1: Schematic representation of the safe and failure domains D
s
and D
f
and the cor-
responding limit-state surface g(x) = 0.
positive values in the safe domain and negative values in the failure domain:
x D
s
g(x) > 0
x D
f
g(x) 0
(1.1)
The hypersurface in M dimensions defined by g(x) = 0 is known as the limit-state surface,
and it represents the boundary between safe and failure domains. A graphical representation
of D
s
, D
f
and the corresponding limit-state surface g(x) = 0 is given in Figure 1.
1.2.2 Failure Probability
If the random vector of state variables X is described by a joint probability density function
(PDF) X f
X
(x), then one can define the failure probability P
f
as:
P
f
= P (g(X) 0) . (1.2)
This is the probability that the system is in a failed state given the uncertainties of the state
parameters. The failure probability P
f
is then calculated as follows:
P
f
=
Z
D
f
f
X
(x)dx =
Z
{x: g(x)0}
f
X
(x)dx. (1.3)
Note that the integration domain in Eq. (1.3) is only implicitly defined by Eq. (1.1), hence
making its direct estimation practically impossible in the general case. This limitation can be
circumvented by introducing the indicator function of the failure domain, a simple classifier
given by:
1
D
f
(x) =
(
1 if g(x) 0
0 if g(x) > 0
, x D
X
.
In other words, 1
D
f
(x) = 1 when the input parameters x cause the system to fail and
UQ[PY]LAB-V1.0-107 - 2 -
Structural reliability (Rare event estimation)
1
D
f
(x) = 0 otherwise. This function allows one to cast Eq. (1.3) as follows:
P
f
=
Z
D
X
1
D
f
(x)f
X
(x)dx = E
1
D
f
(X)
, (1.4)
where E [·] is the expectation operator with respect to the PDF f
X
(x). This reduces the
calculation of P
f
to the estimation of the expectation value of 1
D
f
(X).
1.3 Strategies for the estimation of P
f
From the definition of 1
D
f
(x) in Section 1.2.2 it is clear that determining whether a certain
state vector x D
X
belongs to D
s
or D
f
requires the evaluation of the limit-state function
g(x). In the general case this operation can be computationally expensive, e.g. when it
entails the evaluation of a computational model on the vector x. For a detailed overview
of standard structural reliability methods and applications, see e.g. Ditlevsen and Madsen
(1996); Melchers (1999); Lemaire (2009).
In the following, three strategies are discussed for the evaluation of P
f
, namely approxima-
tion, simulation and adaptive surrogate-modelling-based methods.
Approximation methods
Approximation methods are based on approximating the limit-state function locally at a
reference point (e.g. with a linear or quadratic Taylor expansion). This class of methods
can be very efficient (in that only a relatively small number of model evaluations is needed
to calculate P
f
), but it tends to become unreliable in the presence of complex, non-linear
limit-state functions. Two approximation methods are currently available in UQ[PY]LAB:
FORM (First Order Reliability Method) it is based on the combination of an iterative
gradient-based search of the so-called design point and a local linear approximation of
the limit-state function in a suitably transformed probabilistic space.
SORM (Second Order Reliability Method) it is a second-order refinement of the solution
of FORM. The computational costs associated to this refinement increase rapidly with
the number of input random variables M.
Simulation methods
Simulation methods are based on sampling the joint distribution of the state variables X
and using sample-based estimates of the integral in Eq. (1.4). At the cost of being compu-
tationally very expensive, they generally have a well-characterized convergence behaviour
that can be exploited to calculate confidence bounds on the resulting P
f
estimates. Three
sampling-based algorithms are available in UQ[PY]LAB:
Monte Carlo simulation – it is based on the direct sample-based estimation of the expec-
tation value in Eq. (1.4). The total costs increase very rapidly with decreasing values
of the probability P
f
to be computed.
UQ[PY]LAB-V1.0-107 - 3 -
UQ[PY]LAB user manual
Importance Sampling it is based on improving the efficiency of Monte Carlo simulation
by changing the sampling density so as to favour points in the failure domain D
f
. The
choice of the importance sampling (a.k.a. instrumental) density generally uses FORM
results.
Subset Simulation it is based on iteratively solving and combining a sequence of condi-
tional reliability analyses by means of Markov Chain Monte Carlo (MCMC) simulation.
Metamodel-based adaptive methods
Metamodel-based adaptive methods are based on iteratively building surrogate models
that approximate the limit-state function in the direct vicinity of the limit-state surface.
The metamodels (see e.g. UQ[PY]LAB User Manual Polynomial Chaos Expansions and
UQ[PY]LAB User Manual Kriging (Gaussian process modelling)) are adaptively refined by
adding limit-state function evaluations to their experimental designs until a suitable conver-
gence criterion related to the accuracy of P
f
is satisfied. One algorithm is currently available
in UQ[PY]LAB, namely Adaptive Kriging Monte Carlo Simulation (AK-MCS). It is based on
building a Kriging (aka Gaussian process regression) surrogate model from a small initial
sampling of the input vector X. The surrogate is then iteratively refined close to the cur-
rently estimated limit-state surface so as to evaluate accurately the probability of failure.
In the following, a detailed description of each of the methods is given.
1.4 Approximation methods
1.4.1 First Order Reliability Method (FORM)
The first order reliability method aims at the approximation of the integral in Eq. (1.3) with
a three-step approach:
An isoprobabilistic transform of the input random vector X f
X
(x) into a standard
normal vector U N(0, I
M
)
A search for the most likely failure point in the standard normal space (SNS), known
as the design point U
A linearization of the limit-state surface at the design point U
and the analytical com-
putation of the resulting approximation of P
f
.
1.4.1.1 Isoprobabilistic transform
The first step of the FORM method is to transform the input random vector X f
X
into
a standard normal vector U N(0, I
M
). The corresponding isoprobabilistic transform T
reads:
X = T
1
(U ) (1.5)
UQ[PY]LAB-V1.0-107 - 4 -
Structural reliability (Rare event estimation)
Figure 2: Graphical representation of the isoprobabilistic transform from physical to standard
normal space in Eq. (1.5). From Sudret, 2015: Lectures on structural reliability and risk
analysis.
For details about the available isoprobabilistic transforms in UQ[PY]LAB, please refer to the
UQ[PY]LAB User Manual – the INPUT module .
This transform can be used to map the integral in Eq. (1.3) from the physical space of X to
the standard normal space of U :
P
f
=
Z
D
f
f
X
(x)dx =
Z
{uR
M
: G(u)0}
φ
M
(u)du (1.6)
where G(u) = g(T
1
(u)) is the limit-state function evaluated in the standard normal space
and φ
M
(u) is the standard multivariate normal PDF given by:
φ
M
(u) = (2π)
M/2
exp
1
2
(u
2
1
+ ··· + u
2
M
)
. (1.7)
A graphical illustration of the effects of this transform for a simple 2-dimensional case is
given in Figure 2. The advantage of casting the problem in the standard normal space is that
it is a probability space equipped with the Gaussian probability measure P
G
:
P
G
(U A) =
Z
A
φ
M
(u)du =
Z
A
(2π)
M/2
exp
u
2
1
+ ··· + u
2
M
du. (1.8)
This probability measure is spherically symmetric: φ
M
(u) only depends on u
2
and it de-
cays exponentially as φ
M
(u) exp
−∥u
2
/2
. Therefore, when evaluating the integral in
Eq. (1.6) in the standard normal space, most of the contributions are given by the region clos-
est to the origin. The FORM method capitalizes on this property by linearly approximating
the limit-state surface in the region closest to the origin of the standard normal space.
UQ[PY]LAB-V1.0-107 - 5 -
UQ[PY]LAB user manual
Figure 3: Graphical representation of the linearization of the limit-state function around the
design point at the basis of the FORM estimation of P
f
. From Sudret, 2015: Lectures on
structural reliability and risk analysis.
1.4.1.2 Search for the design point
The design point U
is defined as the point in the failure domain closest to the origin of the
standard normal space:
U
= argmin
uR
M
{∥u, G(u) 0)}. (1.9)
Due to the probability measure in Eq. (1.8), U
can be interpreted as the most likely failure
point in the standard normal space. The norm of the design point U
is an important
quantity in structural reliability known as the Hasofer-Lind reliability index (Hasofer and Lind,
1974):
β
HL
= U
. (1.10)
An important property of the β
HL
index is that it is directly related to the exact failure prob-
ability P
f
in the case of linear limit-state function in the standard normal space:
P
f
= Φ(β
HL
), (1.11)
where Φ is the standard normal cumulative density function. The estimation of P
f
in the
FORM algorithm is based on approximating the limit-state function as the hyperplane tan-
gent to the limit-state function at the design point. Figure 3 illustrates this approximation
graphically for the two-dimensional case.
In the general non-linear case, Eq. (1.9) may be cast as a constrained optimization problem
with Lagrangian:
L(u, λ) =
1
2
u
2
+ λG(u) (1.12)
UQ[PY]LAB-V1.0-107 - 6 -
Structural reliability (Rare event estimation)
where λ is the Lagrange multiplier. The related optimality conditions read:
u
L(U
, λ
) = 0,
L
λ
(U
, λ
) = 0,
(1.13)
which can be explicitly written as:
G(U
) = 0,
U
+ λ
G(U
) = 0.
(1.14)
The first condition in Eq. (1.14) guarantees that the design point belongs to the limit-state
surface. The second condition guarantees that the vector U
is colinear to the limit-state
surface normal vector at U
, i.e. G(U
). The standard iterative approach to solve this non-
linear constrained optimization problem is given by the Rackwitz-Fiessler algorithm (Rackwitz
and Fiessler, 1978).
Hasofer-Lind - Rackwitz-Fiessler algorithm (HL-RF)
The rationale behind the Rackwitz-Fiessler algorithm is to iteratively solve a linearized
problem around the current point. Normally, the algorithm is started with U
0
= 0.
At each iteration, the limit-state function is approximated as:
G(U ) G(U
k
) + G
|U
k
· (U U
k
) (1.15)
The two optimality conditions in Eq. (1.14) read for each iteration k:
G
|U
k
· (U
k+1
U
k
) + G(U
k
) = 0
U
k+1
= λG
|U
k
,
(1.16)
which after some basic algebra reduce to:
U
k+1
=
G
|U
k
· U
k
G(U
k
)
∥∇G
|U
k
2
G
|U
k
. (1.17)
By introducing the unit vector:
α
k
=
G
|U
k
∥∇G
|U
k
, (1.18)
one finally obtains:
U
k+1
=
α
k
· U
k
+
G(U
k
)
∥∇G
|U
k
α
k
. (1.19)
The associated estimate of the reliability index β
k
associated to the k-th iteration is then:
β
k
= α
k
· U
k
+
G(U
k
)
∥∇G
|U
k
. (1.20)
Perfect convergence of the algorithm is obtained when G(U
) = 0, yielding β
HL
= α
· U
.
However, in practice the algorithm is iterated until some stopping criteria are satisfied, i.e.,
UQ[PY]LAB-V1.0-107 - 7 -
UQ[PY]LAB user manual
Table 1: Common stopping criteria for the FORM algorithm and associated description.
Criterion Typical value Description
|β
k+1
β
k
| ϵ
β
10
3
Stability of β between iterations
U
k+1
U
k
ϵ
U
10
3
Stability of U between iterations
|G(U
k+1
)/G(U
0
)| ϵ
G
10
6
Closeness to the limit-state surface
until one or more convergence conditions are verified. The standard stopping criteria used
in FORM are reported in Table 1.
Note: In UQ[PY]LAB the gradients G(U
k
) in Eqs. (1.13) to (1.20) are calculated
numerically in the standard normal space and not in the physical space.
Improved HL-RF algorithm (iHL-RF)
The Rackwitz-Fiessler algorithm is a particular case of a wide class of iterative algorithms
generically denoted as descent direction algorithms, of the form:
U
k+1
= U
k
+ λ
k
d
k
, (1.21)
where λ
k
is the step size at the k-th iteration and d
k
is the corresponding descent direction
given by:
d
k
=
G
|U
k
· U
k
G(U
k
)
∥∇G
|U
k
2
G
|U
k
U
k
. (1.22)
In the original HL-RF algorithm, λ
k
= 1 k. Zhang and Der Kiureghian (1995) proposed
an “improved” version of the same algorithm that takes advantage of a more sophisticated
step-size calculation based on the assumption that G(U ) is differentiable everywhere. They
introduced the merit function m(U ):
m(U ) =
1
2
U + c|G(U )|, (1.23)
where c >
U
∥∇G(U )
is a real penalty parameter. This function has its global minimum in the
same location as the original Eq. (1.9), as well as the same descent direction d. In addition,
it allows one to use the Armijo rule (Zhang and Der Kiureghian, 1995) to determine the best
step length λ
k
at each iteration as:
λ
k
= max
s
{b
s
| m(U
k
+ b
s
d
k
) m(U
k
) ab
s
m(U
k
) · d
k
}, (1.24)
where a, b (0, 1) are pre-selected parameters, and s N.
1.4.1.3 FORM results
Once the design point U
is identified, it can be used to extract additional important infor-
mation. According to Eq. (1.20), after the convergence of FORM the Hasofer-Lind index β
HL
UQ[PY]LAB-V1.0-107 - 8 -
Structural reliability (Rare event estimation)
is given by:
β
HL
= α
· U
, (1.25)
with associated failure probability:
P
f,FORM
= Φ
1
(β
HL
) (1.26)
The local sensitivity indices S
i
are defined as the fraction of the variance of the safety margin
g(X) = G(U ) due to the component of the design vector U
i
. It can be demonstrated that
they are given by:
S
i
=
G
u
i
U
2
/∥∇G(U
)
2
. (1.27)
From Eq. (1.18) it follows that:
S
i
= α
2
i
. (1.28)
If the input variables are independent, then each coordinate in the SNS U
i
corresponds to a
single input variable in the physical space X
i
. Therefore, the importance factor of each X
i
is
identified with α
2
i
.
1.4.2 Second Order Reliability Method (SORM)
The second-order reliability method (SORM) is a second-order refinement of the FORM P
f
estimate. After the design point U
is identified by FORM, the failure probability is approxi-
mated by a tangent hyperparaboloid defined by the second order Taylor expansion of G(U
)
given by:
G(U ) G
T
|U
· (U U
) +
1
2
(U U
)
T
H(U U
), (1.29)
where H is the Hessian matrix of the second derivatives of G(U) evaluated at U
.
The failure probability in the SORM approximation can be written as a correction factor of
the FORM estimate that depends on the curvatures of the hyper-hyperboloid in Eq. (1.29).
To estimate the curvatures, the hyperparaboloid in Eq. (1.29) is first cast in canonical form
by rotating the coordinates system such that one of its axes is the α vector. Usually the last
coordinate is chosen arbitrarily for this purpose. A rotation matrix Q can be built by setting
α as its last row and by using the Gram-Schmidt procedure to orthogonalize the remaining
components of the basis. Q is a square matrix such that Q
T
Q = I. The resulting vector V
satisfies:
U = QV . (1.30)
In the new coordinates system and after some basic algebra (see e.g. Breitung (1989) and
Cai and Elishakoff (1994)), one can rewrite Eq. (1.29) as:
G(V ) ∥∇G(U
)(β V
M
) +
1
2
(V V
)QHQ
T
(V V
) (1.31)
where β is the Hasofer-Lind reliability index calculated by FORM, V
M
def
= α
T
(Q
T
V ) and
UQ[PY]LAB-V1.0-107 - 9 -
UQ[PY]LAB user manual
Figure 4: Comparison between FORM and SORM approximations of the failure domain for
a simple 2-dimensional case. From Sudret, 2015: Lectures on structural reliability and risk
analysis.
V
= {0, ··· , β}
T
is the design point in the new coordinates system. By dividing Eq. (1.31)
by the gradient norm ∥∇G(U
) and introducing the matrix A
def
= QHQ
T
/∥∇G(U
), one
obtains:
˜
G(V ) β V
M
+
1
2
(V V
)A(V V
), (1.32)
where
˜
G(V ) = G(V )/∥∇G(U
). After neglecting second-order terms in V
M
and diagonal-
izating the A matrix via eigenvalue decomposition one can rewrite Eq. (1.32) explicitly in
terms of the curvatures κ
i
of an hyper-paraboloid with axis α:
˜
G(V ) β V
M
+
1
2
M1
X
1
κ
i
V
i
. (1.33)
For small curvatures κ
i
< 1, the failure probability P
f
can be approximated by the Breitung
formula (Breitung, 1989):
P
B
f,SORM
= Φ(β
HL
)
M1
Y
i=1
(1 + β
HL
κ
i
)
1
2
κ
i
< 1 (1.34)
Note that for small curvatures the Breitung formula approaches the FORM linear limit. The
accuracy of Eq. (1.34) decreases for larger values of κ
i
, sometimes even if κ
i
< 1 (Cai and
Elishakoff, 1994). A more accurate formula is given by the Hohenbichler formula (Hohen-
bichler et al., 1987):
P
H
f,SORM
= Φ(β
HL
)
M1
Y
i=1
1 +
φ(β
HL
)
Φ(β
HL
)
κ
i
1
2
. (1.35)
Additional methods are available in the literature for the exact computation of the failure
probability, e.g.Tvedt (1990). They are, however, outside the scope of this manual.
UQ[PY]LAB-V1.0-107 - 10 -
Structural reliability (Rare event estimation)
1.5 Simulation methods
1.5.1 Monte Carlo Simulation
Monte Carlo (MC) simulation is used to directly compute the integral in Eq. (1.4) by sampling
the probabilistic input model. Given a sample of size N of the input random vector X,
X =
x
(1)
, . . . x
(N)
, the unbiased MCS estimator of the expectation value in Eq. (1.4) is
given by:
P
f,MC
def
=
b
P
f
=
1
N
N
X
k=1
1
D
f
(x
(k)
) =
N
fail
N
, (1.36)
where N
fail
is the number of samples such that g(x) 0. In other words, the Monte Carlo
estimate of the failure probability is the fraction of samples that belong to the failure domain
over the total number of samples. An advantage of Monte Carlo simulation is that it provides
an error estimate for Eq. (1.36). Indeed the indicator function 1
D
f
(x) follows by construction
a Bernoulli distribution with mean µ
1
D
f
= P
f
and variance σ
2
1
D
f
= P
f
(1 P
f
). For large
enough N it can be approximated by the normal distribution:
b
P
f
N
bµ
1
D
f
, bσ
1
D
f
, (1.37)
where bµ
1
D
f
=
b
P
f
and bσ
1
D
f
=
q
b
P
f
(1
b
P
f
). Hence, the estimator of P
f
has a normal
distribution with mean
b
P
f
and variance given by:
bσ
2
P
f
=
σ
2
1
D
f
N
=
b
P
f
(1
b
P
f
)
N
. (1.38)
Confidence intervals on
b
P
f
can therefore be given as follows (Rubinstein, 1981):
b
P
f
h
b
P
f
def
=
b
P
f
+ bσ
P
f
Φ
1
(α/2),
b
P
+
f
def
=
b
P
f
+ bσ
P
f
Φ
1
(1 α/2)
i
, (1.39)
where Φ(x) is the standard normal CDF and α [0, 1] is a scalar such that the calculated
bounds correspond to a confidence level of 1 α. An important measure for assessing the
convergence of a MCS estimator is given by the coefficient of variation CoV defined as:
CoV =
σ
b
P
f
b
P
f
=
v
u
u
t
1
b
P
f
N
b
P
f
. (1.40)
The coefficient of variation of the MCS estimate of a failure probability therefore decreases
with
N and increases with decreasing P
f
. To give an example, to estimate a P
f
= 10
3
with 10% accuracy N = 10
5
samples are needed. The CoV is often used as a convergence
criterion to adaptively increase the MC sample size until some desired CoV is reached.
An associated generalized reliability index β
MCS
can be defined as:
β
MCS
= Φ
1
(
b
P
f
). (1.41)
UQ[PY]LAB-V1.0-107 - 11 -
UQ[PY]LAB user manual
In analogy, upper and lower confidence bounds on β
MCS
can be directly inferred from the
confidence bounds on
b
P
f
in Eq. (1.39):
β
±
MCS
= Φ
1
(
b
P
±
f
). (1.42)
The MCS method is powerful, when applicable, due to its statistically sound formulation and
global convergence. However, its main drawback is the relatively slow converge rate that
depends strongly on the probability of failure.
1.5.2 Importance Sampling
Importance sampling (IS) is an extension of the FORM and MCS methods that combines the
fast convergence of FORM with the robustness of MC. The basic idea is to recast Eq. (1.4) as:
P
f
=
Z
D
X
1
D
f
(x)
f
X
(x)
Ψ(x)
Ψ(x)dx = E
Ψ
1
D
f
(X)
f
X
(X)
Ψ(X)
, (1.43)
where Ψ(X) is an Mdimensional sampling distribution (also referred to as importance dis-
tribution) and E
Ψ
denotes the expectation value with respect to the same distribution. The
estimate of P
f
given a sample X =
x
(1)
, . . . , x
(N)
drawn from Ψ is therefore given by:
P
f,IS
=
1
N
N
X
k=1
1
D
f
(x
(k)
)
f
X
(x
(k)
)
Ψ(x
(k)
)
. (1.44)
In the standard normal space, Eq. (1.43) can be rewritten as:
P
f
= E
Ψ
1
D
f
(T
1
(U ))
φ
M
(U )
Ψ(U )
. (1.45)
When the results from a previous FORM analysis are available, a particularly efficient sam-
pling distribution in the standard normal space is given by (Melchers, 1999):
Ψ(u) = φ
M
(u U
) (1.46)
where U
is the estimated design point. Given a sample U =
u
(1)
, . . . , u
(N)
of Ψ(u), the
estimate of P
f
becomes:
P
f,IS
=
1
N
exp
β
2
HL
/2
N
X
k=1
1
D
f
T
1
(u
(k)
)
exp
u
(k)
· U
(1.47)
with corresponding variance:
bσ
2
P
f,IS
=
1
N
1
N 1
N
X
k=1
1
D
f
T
1
(u
(k)
)
φ(u
(k)
)
Ψ(u
(k)
)
P
f,IS
!
2
. (1.48)
The coefficient of variation and the confidence bounds P
±
f,IS
can be calculated analogously to
Eqs. (1.40) and (1.39), respectively, and can be used as a convergence criterion to adaptively
UQ[PY]LAB-V1.0-107 - 12 -
Structural reliability (Rare event estimation)
improve the estimation of P
f,IS
. The corresponding generalized reliability index reads:
β
IS
= Φ
1
(
b
P
f,IS
), (1.49)
with upper and lower bounds:
β
±
IS
= Φ
1
(
b
P
±
f,IS
). (1.50)
Note that exact convergence of FORM is not necessary to obtain accurate results, even an
approximate sampling distribution can significantly improve the convergence rate compared
to standard MC sampling.
1.5.3 Subset Simulation
Monte Carlo simulation may require a large number of limit-state function evaluations to
converge with an acceptable level of accuracy when P
f
is small (see Eq. (1.40)). Subset sim-
ulation is a technique introduced by Au and Beck (2001) that aims at offsetting this limitation
by solving a series of simpler reliability problems with intermediate failure thresholds.
Consider a sequence of failure domains D
1
D
2
··· D
m
= D
f
such that D
f
=
T
m
k=1
D
k
.
With the conventional definition of limit-state function in Eq. (1.1), such sequence can be
built with a series of decreasing failure thresholds t
1
> ··· > t
m
= 0 and the corresponding
intermediate failure domains D
k
= {x : g(x) t
k
}. One can then combine the probability
mass of each intermediate failure region by means of conditional probability. By introducing
the notation P (D
X
) = P (x D
X
) one can write (Au and Beck, 2001):
P
f
= P (D
m
) = P
m
\
k=1
P (D
k
)
!
= P (D
1
)
m1
Y
i=1
P (D
i+1
|D
i
) . (1.51)
With an appropriate choice of the intermediate thresholds t
1
, . . . , t
m
, Eq. (1.51) can be eval-
uated as a series of structural reliability problems with relatively high probabilities of failure
that are then solved with MC simulation. In practice the intermediate probability thresholds
t
i
are chosen on-the-fly such that they correspond to intermediate values P (D
k
) 0.1. The
convergence of each intermediate estimation is therefore much faster than the direct search
for P
f
given in Eq. (1.36).
1.5.3.1 Sampling
To estimate P
f
from Eq. (1.51) one thus needs to estimate the intermediate probabilities
P (D
1
) and conditional probabilities {P (D
i+1
|D
i
) , i = 1, . . . , m 1}. Given an initial thresh-
old t
1
, P (D
1
) can be readily estimated from a sample of size N
S
of the input distribution
X =
x
(1)
, . . . , x
(N)
with Eq. (1.36):
P (D
1
)
b
P
1
=
1
N
S
N
S
X
k=1
1
D
1
(x
(k)
). (1.52)
The remaining conditional probabilities can be estimated similarly, but an efficient sampling
UQ[PY]LAB-V1.0-107 - 13 -
UQ[PY]LAB user manual
algorithm is needed for the underlying conditional distributions. The latter can be efficiently
accomplished by using the modified Metropolis-Hastings Markov Chain Monte Carlo (MCMC)
simulation introduced by Au and Beck (2001).
1.5.3.2 Intermediate failure thresholds
The efficiency of the subset-simulation method depends on the choice of the intermediate
failure thresholds t
k
. If the thresholds are too large the MCS convergence in each subset
would be very good, but the number of subsets needed would increase. Vice-versa, too small
intermediate thresholds would correspond to fewer subsets with inaccurate estimates of the
underying P (D
k
). A strategy to deal with this problem comes by sampling each subset D
k
and
determining each threshold t
k
as the empirical quantile that correspond to a predetermined
failure probability, typically P (D
k
) P
0
= 0.1. Note that for practical reasons, P
0
is normally
limited to 0 < P
0
0.5. For each subset, the samples falling below the calculated threshold
are used as MCS seeds for the next subset (Au and Beck, 2001).
1.5.3.3 Subset simulation algorithm
The subset simulation algorithm can be summarized in the following steps:
1. Sample the original space with standard MC sampling (see UQ[PY]LAB User Manual –
the INPUT module for efficient sampling strategies)
2. Calculate the empirical quantile t
k
in the current subset such that
b
P
k
P
0
3. Using the samples below the identified quantile as the seeds of parallel MCMC chains,
sample D
k+1
|D
k
until a predetermined number of samples is available
4. Repeat Steps 2 and 3 until the identified quantile t
m
< 0
5. Calculate the failure probability of the last subset
b
P
m
by setting t
m
= 0
6. Combine the intermediate calculated failure probabilities into the final estimate of
b
P
f
.
The last step of the algorithm consists simply in evaluating Eq. (1.51) with the current esti-
mates of the conditional probabilities P
i
:
b
P
f,SS
=
m
Y
i=1
b
P
i
= P
m1
0
b
P
m
. (1.53)
1.5.3.4 Error estimation
Due to the intrinsic correlation of the samples drawn from each subset resulting from the
MCMC sampling strategy, the estimation of a CoV for the P
f
estimate in Eq. (1.53) is non-
trivial. Au and Beck (2001) and Papaioannou et al. (2015) derived an estimate for the CoV
of
b
P
f
:
CoV
f
m
X
i=1
δ
2
i
, (1.54)
UQ[PY]LAB-V1.0-107 - 14 -
Structural reliability (Rare event estimation)
where m is the number of subsets and δ
i
is defined as:
δ
i
=
r
1 P
i
NP
i
(1 + γ
i
), (1.55)
with
γ
i
= 2
N/N
s
X
k=1
1
kN
s
N
ρ
i
(k), (1.56)
where N
S
is the number of seeds, P
i
is the conditional failure probability of the ith subset
and ρ
i
(k) is the average k-lag auto-correlation coefficient of the Markov Chain samples in
the ith subset. By assuming normally distributed errors, confidence bounds P
±
f,SS
can be
given on P
f,SS
based on the calculated CoV
f
in analogy with Eq. (1.39). The corresponding
generalized reliability index reads:
β
SS
= Φ
1
(
b
P
f,SS
), (1.57)
with upper and lower bounds:
β
±
SS
= Φ
1
(
b
P
±
f,SS
). (1.58)
1.6 Metamodel-based methods
1.6.1 Adaptive Kriging Monte Carlo Simulation
Adaptive Kriging Monte Carlo Simulation (AK-MCS) combines Monte Carlo simulation with
adaptively built Kriging (a.k.a. Gaussian process modelling) metamodels. In cases where
the evaluation of the limit-state function is costly, Monte Carlo simulation and its variants
may become intractable due to the large number of limit-state function evaluations they
require. In AK-MCS, a Kriging metamodel surrogates the limit-state function to reduce the
total computational costs of the Monte Carlo simulation.
Kriging metamodels (see UQ[PY]LAB User Manual Kriging (Gaussian process modelling))
predict the value of the limit-state function most accurately in the vicinity of the experi-
mental design samples X =
X
(1)
, . . . , X
(n)
. These samples, however, are generally not
optimal to estimate the failure probability. Thus, an adaptive experimental design algorithm
is introduced to increase the accuracy of the surrogate model in the vicinity the limit-state
function. This is achieved by adding carefully selected samples to the experimental design of
the Kriging metamodel based on the current estimate of the limit-state surface (g(x) = 0).
The adaptive experimental design algorithm is summarized as follows (Echard et al., 2011;
Sch
¨
obi et al., 2016):
1. Generate a small initial experimental design X =
x
(1)
, . . . , x
(N
0
)
and evaluate the
corresponding limit-state function responses Y =
y
(1)
, . . . , y
(N
0
)
=
g(x
(1)
), . . . , g(x
(N
0
)
)
2. Train a Kriging metamodel bg based on the experimental design {X, Y}
UQ[PY]LAB-V1.0-107 - 15 -
UQ[PY]LAB user manual
3. Generate a large set of N
MC
candidate samples S =
s
(1)
, . . . , s
(N
MC
)
and predict the
corresponding metamodel responses
bg(s
(1)
), . . . , bg(s
(N
MC
)
)
4. Choose the best next sample s
to be added to the experimental design X based on an
appropriate learning function
5. Check whether some convergence criterion is met. If it is, skip to Step 7, otherwise
continue with Step 6
6. Add s
and the corresponding limit-state function response y
= g(s
) to the experi-
mental design of the metamodel. Return to Step 2
7. Estimate the failure probability through Monte Carlo simulation with the final limit-
state function surrogate bg(x).
1.6.1.1 Selection of the best next candidate sample
A learning function is a measure of the attractiveness of a candidate sample X with respect to
improving the estimate of the failure probability when it is added to the experimental design
X. A variety of learning functions are available in the literature (Bichon et al., 2008; Dani
et al., 2008; Echard et al., 2011; Srinivas et al., 2012; Ginsbourger et al., 2013; Dubourg,
2011), amongst which the U-function (Echard et al., 2011). The U-function is based on the
concept of misclassification and is defined for a Gaussian process as follows:
U(X) =
µ
bg
(X)
σ
bg
(X)
, (1.59)
where µ
bg
(X) and σ
bg
(X) are the prediction mean and standard deviation of bg. A misclassifica-
tion happens when the sign of the surrogate model and the sign of the underlying limit-state
function do not match. The corresponding probability of misclassification is then:
P
m
(X) = Φ (U (X)) ,
where Φ is the CDF of a standard Gaussian variable.
The next candidate sample from the set S =
s
(1)
, . . . , s
(N
MC
)
is chosen as the one that
maximizes the probability of misclassification or, in other words, as the one most likely to
have been misclassified as safe/failed by the surrogate limit-state function bg(x):
s
= arg min
s∈S
U(s) arg max
s∈S
P
m
(s). (1.60)
Another popular learning function is the expected feasibility function (EFF) (Bichon et al.,
UQ[PY]LAB-V1.0-107 - 16 -
Structural reliability (Rare event estimation)
2008):
EF F (x) = µ
bg
(x)
µ
bg
(x)
σ
bg
(x)
Φ
ϵ µ
bg
(x)
σ
bg
(x)
Φ
ϵ µ
bg
(x)
σ
bg
(x)

σ
bg
(x)
2φ
µ
bg
(x)
σ
bg
(x)
φ
ϵ µ
bg
(x)
σ
bg
(x)
φ
ϵ µ
bg
(x)
σ
bg
(x)

+ ϵ
Φ
ϵ µ
bg
(x)
σ
bg
(x)
Φ
ϵ µ
bg
(x)
σ
bg
(x)

, (1.61)
where ϵ = 2σ
bg
(x) and φ is the PDF value of a standard normal Gaussian variable. The next
candidate sample is then chosen by:
s
= arg max
s∈S
EF F (s). (1.62)
1.6.1.2 Convergence criteria
The convergence criterion terminates the addition of samples to the experimental design of
the Kriging metamodel and thus terminates the improvement in the accuracy of the fail-
ure probability estimate. The standard convergence criterion related to the U-function is
defined as follows (Echard et al., 2011): the iterations stop when min
i
U(s
(i)
) > 2 where
i = 1, . . . , N
MC
. Sch
¨
obi et al. (2016) demonstrated that this criterion is very conservative
and that an alternative stopping criterion, related to the uncertainty in the estimate of the
failure probability itself, is often more efficient in the context of structural reliability. It is
given by the following condition:
b
P
+
f
b
P
f
b
P
0
f
ϵ
b
P
f
, (1.63)
where ϵ
b
P
f
= 10% and the three failure probabilities are defined as:
b
P
0
f
= P
µ
bg
(X) 0
, (1.64)
b
P
±
f
= P
µ
bg
(X) kσ
bg
(X) 0
, (1.65)
where k = Φ
1
(1 α/2) sets the confidence level (1 α), typically k = Φ
1
(97.5%) = 1.96.
A similar convergence criterion can be defined for the reliability index:
b
β
+
b
β
b
β
0
ϵ
b
β
, (1.66)
where the threshold ϵ
b
β
f
= 5% and the three reliability indices correspond to the aforemen-
tioned failure probabilities:
b
β
0
= Φ
1
(
b
P
0
f
), (1.67)
b
β
±
= Φ
1
(
b
P
f
). (1.68)
UQ[PY]LAB-V1.0-107 - 17 -
UQ[PY]LAB user manual
(a) Quantile space (b) Physical space
Figure 5: Stochastic spectral embedding: Illustration of SSE representation in Eq. (1.69) in
the quantile and physical space. Red points denote the experimental design and orange
areas denote terminal or unsplit domains, that partition the input space into a set of disjoint
subdomains such that D
X
=
S
k∈T
D
k
X
.
1.6.1.3 AK-MCS with a PC-Kriging metamodel
As originally proposed by Echard et al. (2011), AK-MCS uses an ordinary Kriging model for
approximating the limit-state function. As demonstrated by Sch
¨
obi et al. (2016) replacing
the ordinary Kriging metamodel with a Polynomial-Chaos-Kriging (PC-Kriging) one (see also
UQ[PY]LAB User Manual PC-Kriging) can significantly improve the convergence of the
algorithm. The corresponding reliability methods is called Adaptive PC-Kriging Monte Carlo
Simulation (APCK-MCS) and is available in UQ[PY]LAB as an advanced option of AK-MCS
(see Section 2.3.6.2).
1.6.2 Stochastic spectral embedding-based reliability
Stochastic spectral embedding-based reliability (SSER, see Wagner et al. (2021)) is an active-
learning reliability method that uses the stochastic spectral embedding (SSE, see Marelli et al.
(2021)) metamodelling technique to approximate the limit-state function with
g(X) g
SSE
(X) =
X
k∈K\T
1
D
k
X
(X)
b
R
k
S
(X) +
X
k∈T
1
D
k
X
(X)
b
R
k
S
(X), (1.69)
where T is the set of indices denoting the terminal domains, i.e.the unsplit domains among
all the the card(K) domains used in the SSE representation (see Figure 5a).
Because the set of terminal domains T constitutes a complete partition of the input domain,
i.e.D
X
=
S
k∈T
D
k
X
, the failure probability from Eq. (1.2) can be rewritten as a weighted
sum
P
f
=
X
k∈T
V
k
P
k
f
, with V
k
=
Z
D
k
X
f
X
(x) dx, (1.70)
where V
k
is the domain-wise probability mass, and P
k
f
is a conditional failure probability given
by
P
k
f
def
= P
h
g(X) 0|X D
k
X
i
P
h
g
SSE
(X) 0|X D
k
X
i
. (1.71)
These conditional failure probabilities can then be estimated with suitable probabilistic sim-
UQ[PY]LAB-V1.0-107 - 18 -
Structural reliability (Rare event estimation)
ulation methods utilizing the SSE representation of the limit-state function.
SSER shares many similarities with other active learning reliability methods (see UQ[PY]LAB
User Manual Active learning reliability). However, SSER does not strictly fit in the gen-
eral active-learning reliability framework because its construction relies on the SSE-specific
sequential partitioning algorithm.
1.6.2.1 Sequential partitioning algorithm
The algorithm to construct SSEs implemented in UQ[PY]LAB is called sequential partitioning
algorithm. It sequentially partitions selected refinement domains and constructs local expan-
sions of the residual to ultimately produce a limit-state approximation of the form shown
in Eq. (1.69). In Wagner et al. (2021), modifications to this algorithm were proposed that
turned the SSE construction into an efficient active-learning reliability algorithm. These mod-
ifications pertain to the introduction of bootstrap SSE, reliability-specific refinement domain
selection and sample enrichment strategies as well as a reliability-specific stopping criterion,
and a way to estimate the conditional failure probabilities.
Bootstrap SSE To take into account the point-wise prediction accuracy of SSE, we use the
local error estimation capabilities of bootstrap SSE (Efron, 1979; Marelli and Sudret, 2018;
Wagner et al., 2021). Using B resampled experimental designs, we construct B residual
expansions in every terminal domain to obtain B bootstrap predictions
g
(b)
SSE
(X) =
X
k∈K\T
1
D
k
X
(X)
b
R
k
S
(X) +
X
k∈T
1
D
k
X
(X)
b
R
k,(b)
S
(X), for b {1, ··· , B}. (1.72)
By analogy with Marelli and Sudret (2018), we can then define an estimate of the point-wise
misclassification probability as:
ˆ
P
m
(x)
def
=
1
B
B
X
b=1
1
D
f,SSE
(x) 1
(b)
D
f,SSE
(x)
, (1.73)
where 1
D
f,SSE
and 1
(b)
D
f,SSE
are evaluated with the mean and bootstrap predictors of SSE re-
spectively.
The bootstrap replications can also be used to obtain statistics of the conditional failure
probability estimates, such as variance or confidence bounds. As an example, the conditional
failure probability variance is given by
Var
h
ˆ
P
k
f
i
= Var
hn
ˆ
P
k,(1)
f
, ··· ,
ˆ
P
k,(B)
f
oi
, (1.74)
with the failure probability of the b-th replication given by
ˆ
P
k,(b)
f
def
= P
h
g
(b)
SSE
(X) 0|X D
k
X
i
. (1.75)
By means of Eq. (1.70) this conditional failure probability variance can be used to write an
UQ[PY]LAB-V1.0-107 - 19 -
UQ[PY]LAB user manual
expression for the total failure probability variance as
Var
h
ˆ
P
f
i
=
X
k∈T
V
k
2
Var
h
ˆ
P
k
f
i
. (1.76)
Similarly, the bootstrap replications can be used to define confidence bounds on the total
failure probability. Let
ˆ
P
(b)
f
def
=
P
k∈T
V
k
ˆ
P
k,(b)
f
be the total failure probability estimated with
the b-th replication from all terminal domains. The equal tail confidence bounds
n
ˆ
P
k
f
,
ˆ
P
k
f
o
are then defined by
P
h
ˆ
P
k
f
n
ˆ
P
(1)
f
, ··· ,
ˆ
P
(B)
f
oi
α,
P
hn
ˆ
P
(1)
f
, ··· ,
ˆ
P
(B)
f
o
ˆ
P
k
f
i
1 α
(1.77)
with α [0, 0.5] and γ
def
= 1 2α is called the symmetrical confidence level.
Refinement domain selection At every refinement step, the sequential partitioning algo-
rithm chooses a refinement domain based on a refinement score. For SSER, this refinement
score is given by:
E
k
=
(
V
k
, if Eq. (1.79) is met,
V
k
2
Var
h
ˆ
P
k
f
i
, otherwise,
(1.78)
which depends on the following intermediate re-prioritization criterion
Var
h
ˆ
P
(i2)
f
,
ˆ
P
(i1)
f
,
ˆ
P
(i)
f
i
ˆ
P
(i)
f
2
< ε
ˆ
P
f
, (1.79)
where
ˆ
P
(i)
f
is the total failure probability estimator at the i-th iteration of the algorithm and
the threshold is heuristically chosen to ε
ˆ
P
f
= 0.1%. This criterion is triggered when the
failure probability estimator does not change significantly in three successive iterations.
Partitioning strategy The partitioning strategy determines how a selected refinement do-
main is split. SSER separates regions that predict failure/safety correctly from those that do
so incorrectly (see Figure 6). A measure of prediction accuracy in this respect is given by the
misclassification probability P
m
(Echard et al., 2011) defined for bootstrap SSE in Eq. (1.73).
To this end, we define two auxiliary conditional random vectors in the quantile space D
U
as
Z
0
def
= U|
ˆ
P
m
= 0, and Z
+
def
= U|
ˆ
P
m
> 0. (1.80)
These vectors identify regions of zero (Z
0
) and non-zero (Z
+
) misclassification probability
in a given refinement domain.
Based on these random vectors, we choose a set of splitting locations in each dimension
υ
i
D
U
i
, i = 1, ··· , M that confine a maximum of Z
+
’s probability mass to one side of
the split, while confining a maximum of Z
0
’s probability mass to the other side of the split.
UQ[PY]LAB-V1.0-107 - 20 -
Structural reliability (Rare event estimation)
Denoting by Z
+
i
and Z
0
i
the marginals of the auxiliary random vectors in the i-th dimension,
we pick the splitting location
bυ
i
= arg max
υ
i
∈D
X
i
L
i
(υ
i
), with L
i
(υ
i
)
def
= 1 + max
(
P
Z
+
i
υ
i
+ P
Z
0
i
> υ
i
,
P
Z
+
i
> υ
i
+ P
Z
0
i
υ
i
.
(1.81)
To ultimately choose a splitting direction d {1, ··· , M }, we compare the values of the
objective functions L
i
(bυ
i
) and split along the dimension that achieves the best split, i.e.
d = arg max
i∈{1,··· ,M }
L
i
(bυ
i
). (1.82)
In practice, a sufficiently large sample of the auxiliary random vectors Z
0
and Z
+
is used to
conduct the computations of this section.
It might occur, at the first step of the algorithm or after the intermediate re-prioritization
criterion Eq. (1.79) has been triggered, that the algorithm does not detect misclassified sam-
ple points. When this happens, the auxiliary random vector Z
+
is not defined. To let the
algorithm proceed in this case, the definition of the auxiliary random vectors is updated in
Eq. (1.80) where P
m
is replaced with
P
t
(x)
def
=
1
B
B
X
b=1
1
(b)
D
t
(x), (1.83)
where 1
(b)
D
t
is defined with an empirical quantile t such that P [|g
SSE
(X)| t] = ε
t
as
1
(b)
D
t
(x)
def
=
(
1, if |g
(b)
SSE
(x)| t,
0, if |g
(b)
SSE
(x)| > t.
(1.84)
The value ε
t
= 0.01 has proven to be a good choice in practice.
Sample enrichment SSER uses a sequentially sampled experimental design. To exploit
the fact that the SSE for reliability applications needs to be more accurate near the limit-state
surface, we split the sample budget and randomly place
N
uni
= max
(
N
enr
2
N
curr
2
0
(1.85)
points uniformly in the refinement domain quantile space, where N
curr
is the number of
existing points in the refinement domain. The remainder of the sample budget is used to
randomly place sample points in the subset of the refinement domain with non-zero mis-
classification probability P
m
. This corresponds to sampling the auxiliary random vector Z
+
defined in Eq. (1.80). We do this to ensure stability of the residual expansions that are known
to deteriorate in accuracy when the experimental design clusters in a small subspace.
UQ[PY]LAB-V1.0-107 - 21 -
UQ[PY]LAB user manual
Figure 6: Partitioning strategy exemplified on a one dimensional function showing the boot-
strap replications and the resulting support of Z
+
and Z
0
as well as the objective function L.
The splitting location υ is highlighted as a vertical, dashed red line. The plots are shown in
the quantile space D
U
.
Conditional failure probability estimation To estimate the conditional failure probabili-
ties in Eq. (1.70), simulation methods can be used at a low computational cost. We therefore
use the subset simulation method (see Section 1.5.3.3) that is known to effectively estimate
even extremely small failure probabilities (Moustapha et al., 2021).
The process of estimating the conditional failure probabilities is implemented as a post-
expansion operation.
Stopping criterion The algorithm is terminated when the reliability index bounds, also
known as beta bounds, do not change significantly over a set of iterations. The generalized
reliability index can be computed from the failure probability as β = Φ
1
(P
f
), where Φ
1
is the inverse normal CDF (Ditlevsen, 1979). Using the 95% confidence intervals on
ˆ
β from
the bootstrap replications as defined for the failure probability in Eq. (1.77), the stopping
criterion is given by
ˆ
β
ˆ
β
ˆ
β
< ε
ˆ
β
, (1.86)
where the failure threshold is heuristically set to ε
ˆ
β
= 3%. For stability, we abort the algo-
rithm only if this criterion is fulfilled in three consecutive iterations.
UQ[PY]LAB-V1.0-107 - 22 -
Chapter 2
Usage
In this section, a reference problem will be set up to showcase how each of the techniques in
Chapter 1 can be deployed in UQ[PY]LAB.
2.1 Reference problem: R-S
The benchmark of choice to showcase the methods described in Section 1.3 is a basic problem
in structural reliability, namely the R-S case. It is one of the simplest possible abstract setting
consisting of only two input state variables: a resistance R and a stress S. The system fails
when the stress is higher than the resistance, leading to the following limit-state function:
X = {R, S} g(X) = R S; (2.1)
The two-dimensional probabilistic input model consists of independent variables distributed
according to Table 2.
Table 2: Distributions of the input parameters of the R S model in Eq. (2.1).
Name Distributions Parameters Description
R Gaussian [5, 0.8] Resistance of the system
S Gaussian [2, 0.6] Stress applied to the system
An example UQ[PY]LAB script that showcases how to deploy all of the algorithms available
in the structural reliability module can be found in the example file:
1-RS.py
2.2 Problem set-up
Solving a structural reliability problem in UQ[PY]LAB requires the definition of three basic
components:
a MODEL object that describes the limit-state function
an INPUT object that describes the probabilistic model of the random vector X
23
UQ[PY]LAB user manual
a reliability ANALYSIS object.
The UQ[PY]LAB framework is first initialized with the following command:
from uqpylab import sessions
# Start the session
mySession = sessions.cloud()
# (Optional) Get a convenient handle to the command line interface
uq = mySession.cli
# Reset the session
mySession.reset()
The model in Eq. (2.1) can be added as a MODEL object directly with a Python vectorized
string as follows:
MOpts = {
'Type': 'Model',
'mString': 'X(:,1) - X(:,2)',
'isVectorized': 1
}
myModel = uq.createModel(MOpts)
For more details on the available options to create a model object in UQ[PY]LAB, please
refer to the UQ[PY]LAB User Manual – the MODEL module.
Correspondingly, an INPUT object with independent Gaussian variables as specified in Table 2
can be created as:
IOpts = {
'Marginals': [
{'Name': 'R', # Resistance
'Type': 'Gaussian',
'Moments': [5.0 , 0.8]
},
{'Name': 'S', # Stress
'Type': 'Gaussian',
'Moments': [2.0 , 0.6]
}
]
}
myInput = uq.createInput(IOpts)
For more details about the configuration options available for an INPUT object, please refer
to the UQ[PY]LAB User Manual – the INPUT module.
2.3 Reliability analysis with different methods
This section showcases how all the methods introduced in Section 1.3, can be deployed in
UQ[PY]LAB. In addition, visualization and advanced options are also described in detail.
The following methods are showcased in this section:
FORM: Section 2.3.1
SORM: Section 2.3.2
UQ[PY]LAB-V1.0-107 - 24 -
Structural reliability (Rare event estimation)
Monte Carlo Simulation: Section 2.3.3
Importance Sampling: Section 2.3.4
Subset Simulation: Section 2.3.5
AK-MCS: Section 2.3.6
2.3.1 First Order Reliability Method (FORM)
Running a FORM analysis on the specified UQ[PY]LAB MODEL and INPUT objects does not
require any specific configuration. The following minimum syntax is required:
FORMOpts = {
'Type': 'Reliability',
'Method':'FORM'
}
FORMAnalysis = uq.createAnalysis(FORMOpts)
Once the analysis is performed, a report with the FORM results can be printed on screen by:
uq.print(FORMAnalysis)
which produces the following:
---------------------------------------------------
FORM
---------------------------------------------------
Pf 1.3499e-03
BetaHL 3.0000
ModelEvaluations 8
---------------------------------------------------
Variables R S
Ustar -2.400000 1.800000
Xstar 3.08e+00 3.08e+00
Importance 0.640000 0.360000
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(FORMAnalysis)
which produces the images in Figure 7. Note that the graphical representation of the FORM
iterations (right panel of Figure 7) is only produced for the 2-dimensional case.
UQ[PY]LAB-V1.0-107 - 25 -
UQ[PY]LAB user manual
Figure 7: Graphical visualization of the results of the FORM analysis in Section 2.3.1.
Note: In the preceding example no specifications are provided. If not further specified
the FORMruns with the following defaults:
Algorithm to find the design point: 'iHLRF';
Starting point for the Rackwitz-Fiessler (RW) algorithm: (0, . . . , 0);
Tolerance value for the RW algorithm on the design point: 10
4
;
Tolerance value for the RW algorithm on the limit-state function: 10
4
;
Maximum number of iterations for the RW algorithm: 100;
Failure is defined for: limit-state g(x) 0.
Since FORM is a gradient-based method, the gradient of the limit-state function
needs to be computed. This is done using finite differences with the following
defaults:
Type of finite difference scheme: 'forward';
Value of the difference scheme: 10
3
.
2.3.1.1 Accessing the results
The analysis results can be accessed in the FORMAnalysis['Results'] dictionary:
{
'BetaHL': 3,
'Pf': 0.0013,
'Ustar': [-2.4000 1.8000],
'Xstar': [3.0800 3.0800],
'Importance': [0.6400 0.3600],
'ModelEvaluations': 8,
'Iterations': 2,
'History': {...}
}
UQ[PY]LAB-V1.0-107 - 26 -
Structural reliability (Rare event estimation)
In the Results dictionary , Pf is the estimate of P
f
according to Eq. (1.26), BetaHL the
corresponding Hasofer-Lindt reliability index, Ustar the design point U
in the standard
normal space, Xstar the correspondingly transformed design point in the original space
X
= T
1
(U
), Importance the importance factors S
i
in Eq. (1.28), Iterations the num-
ber of FORM iterations needed to converge, ModelEvaluations the total number of eval-
uations of the limit-state function, and History a set of additional information about the
convergence behaviour of the algorithm.
2.3.1.2 Advanced options
Several advanced options are available for the FORM method to tweak which algorithm is
used to calculate the solution. They can be specified by adding a FORM key to the FORM
options dictionary FORMOpts. In the following, the most common advanced options for
FORM are specified:
Specify the FORM algorihm: by default, the iHL-RF algorithm is used (see page 8).
The original HL-RF algorithm (see page 7) can be enforced by adding:
FORMOpts['FORM'] = {'Algorithm': 'HLRF'}
Specify a starting point: by default the search of the design point is started in the
SNS at U
0
= 0. It is possible to specify an alternative starting point (useful, e.g., when
multiple design points are expected) as:
FORMOpts['FORM'] = {'StartingPoint': [u1,...,uM]}
where [u1,...,uM] are the desired coordinates of the starting point in the SNS.
Numerical calculation of the gradient: advanced options related to the numerical
calculation of the gradient can be specified by using the FORMOpts['Gradient'] dic-
tionary. As an example, to specify a gradient relative step-size h = 0.001 one can write:
FORMOpts['Gradient'] = {'h': 0.001}
Details on the gradient computation options are given in Table 7, page 49.
For a comprehensive list of the advanced options available to the FORM method, please see
Table 6, page 48.
2.3.2 Second Order Reliability Method (SORM)
A SORM analysis is set up very similarly to its FORM counterpart:
SORMOpts = {
'Type': 'Reliability',
'Method': 'SORM'
}
SORMAnalysis = uq.createAnalysis(SORMOpts)
UQ[PY]LAB-V1.0-107 - 27 -
UQ[PY]LAB user manual
Once the analysis is performed, a report with the FORM+SORM results can be printed by:
uq.print(SORMAnalysis)
which produces the following:
---------------------------------------------------
FORM/SORM
---------------------------------------------------
Pf 1.3499e-03
BetaHL 3.0000
PfFORM 1.3499e-03
PfSORM 1.3499e-03
PfSORMBreitung 1.3499e-03
ModelEvaluations 20
---------------------------------------------------
Variables R S
Ustar -2.400000 1.800000
Xstar 3.08e+00 3.08e+00
Importance 0.640000 0.360000
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(SORMAnalysis)
which produces the same images as in FORM (Figure 7), as SORM is only a refinement of
the final FORM P
f
estimate.
Note: In the preceding example no specifications are provided. If not further specified
the SORM runs with the same defaults as FORM.
2.3.2.1 Accessing the results
The analysis results can be accessed in the SORMAnalysis['Results'] dictionary:
{
'BetaHL': 3,
'Pf': 0.0013,
'Ustar': [-2.4000, 1.8000],
'Xstar': [3.0800, 3.0800],
'Importance': [0.6400, 0.3600],
'ModelEvaluations': 20,
'Iterations': 2,
'History': {...},
'PfSORM': 0.0013,
'PfSORMBreitung': 0.0013,
'BetaSORM': 3.0000,
'BetaSORMBreitung': 3.0000,
'Curvatures': [-2.8422e-10, 0],
'PfFORM': 0.0013
}
The Results dictionary contains the same keys as FORM (see Section 2.3.1) (when nec-
essary with a FORM or SORM suffix for clarity). In addition, the two PfSORMBreitung and
PfSORM keys provide the P
f,SORM
and P
H
f,SORM
given in Eqs. (1.34) and (1.35), respectively.
UQ[PY]LAB-V1.0-107 - 28 -
Structural reliability (Rare event estimation)
2.3.2.2 Advanced options
The SORM method shares the same advanced options as the FORM method, described in
Section 2.3.1.2.
2.3.3 Monte Carlo Simulation (MCS)
The Monte Carlo simulation (MCS) algorithm only requires the user to specify the maximum
number of limit-state function evaluations, corresponding to N in Eq. (1.36), if different from
the default value N = 10
5
. As an example, to run a reliability analysis with N = 10
6
samples
one can write:
MCOpts = {
'Type': 'Reliability',
'Method': 'MCS'
'Simulation': {
'MaxSampleSize': 1e6
}
}
MCAnalysis = uq.createAnalysis(MCOpts)
Once the analysis is performed, a report with the Monte Carlo simulation results can be
printed on screen by:
uq.print(MCAnalysis)
which produces the following:
---------------------------------------------------
Monte Carlo simulation
---------------------------------------------------
Pf 1.4000e-03
Beta 2.9889
CoV 0.0267
ModelEvaluations 1000000
PfCI [1.3267e-03 1.4733e-03]
BetaCI [2.9733e+00 3.0053e+00]
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(MCAnalysis)
which produces the convergence plots in Figure 8 and the plot of Monte Carlo sample points
in Figure 9. Note that in uq.display, the maximum number of samples plotted is n = 10
5
to limit the size of the figure.
Note: In the preceding example only the maximum sample size for the analysis is pro-
vided. If not further specified the Monte Carlo simulation runs with the following
defaults:
Confidence level: 0.05;
Number of samples evaluated per batch: 10
4
;
Failure is defined for: limit-state g(x) 0.
UQ[PY]LAB-V1.0-107 - 29 -
UQ[PY]LAB user manual
Figure 8: Graphical visualization of the convergence of the Monte Carlo simulation analysis
in Section 2.3.3.
2.3.3.1 Accessing the results
The analysis results can be accessed in the MCAnalysis['Results'] dictionary:
{
'Pf': 0.0014,
'Beta': 2.9889,
'CoV': 0.0267,
'ModelEvaluations': 1000000,
'PfCI': [0.0013, 0.0015],
'BetaCI': [2.9733, 3.0053],
'History': {...},
}
The Results dictionary contains the following keys : Pf, the estimated
b
P
f,MC
as in Eq. (1.36);
Beta, the corresponding generalized reliability index in Eq. (1.41); CoV, the coefficient of
variation calculated with Eq. (1.40); ModelEvaluations, the total number of limit-state
function evaluations; PfCI, the confidence intervals calculated with Eq. (1.39); BetaCI, the
corresponding confidence intervals on β
HL
calculated with Eq. (1.42); History, a dictio-
nary containing the convergence of P
f
, CoV and the corresponding confidence intervals
calculated at preset sample batches (by default once every 10
4
samples). The content of the
History dictionary is used to produce the convergence plot shown in Figure 8.
2.3.3.2 Advanced options
The advanced options available in Monte Carlo simulation are related to the convergence
criterion of the algorithm and to the definition of the confidence bounds reported in the
MCAnalysis['Results'] dictionary. In the following, a list of the most commonly used
parameters for a MC analysis are given:
Specify a target CoV and a corresponding batch size: in addition to specifying the
UQ[PY]LAB-V1.0-107 - 30 -
Structural reliability (Rare event estimation)
Figure 9: Graphical visualization of the samples of the Monte Carlo simulation analysis in
Section 2.3.3.
MaxSampleSize option, one can specify a target CoV . The algorithm will sequentially
add batches of points to the current sample and stop as soon as the current CoV is be-
low the specify threshold. To specify a target CoV = 0.01 and batches of size N
B
= 10
4
,
one can write:
MCOpts['Simulation'] = {
'TargetCoV': 0.01,
'BatchSize': 1e4
}
Note that the two options are independent from each other. The BatchSize option is
also used to set the breakpoints for the MCAnalysis['Results']['History'] dictio-
nary.
Specify α for the confidence intervals: the α in Eq. (1.39) can also be specified. To
set α = 0.1, one can write:
MCOpts['Simulation'] = {'Alpha': 0.1}
For a comprehensive list of the advanced options available for Monte Carlo simulation, please
refer to Table 5, page 47.
2.3.4 Importance Sampling
Importance sampling shares configuration options from both the FORM and the Monte Carlo
simulation methods. A basic IS analysis can be setup with the following code:
ISOpts = {
'Type': 'Reliability',
'Method': 'IS'
}
ISAnalysis = uq.createAnalysis(ISOpts)
UQ[PY]LAB-V1.0-107 - 31 -
UQ[PY]LAB user manual
Using this minimal setup the analysis will run FORM first with the default options as in Sec-
tion 2.3.1 to determine the design point U
. Then the standard normal importance density
centred at the obtained design point is used. Sampling is carried out with the following
default options: N = 1000, batch size N
B
= 100.
Once the analysis is performed, a report with the importance sampling results can be printed
on screen by:
uq.print(ISAnalysis)
which produces the following:
---------------------------------------------------
Importance Sampling
---------------------------------------------------
Pf 1.3549e-03
Beta 2.9989
CoV 0.0590
ModelEvaluations 1008
PfCI [1.1983e-03 1.5114e-03]
BetaCI [2.9654e+00 3.0361e+00]
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(ISAnalysis)
which produces the convergence image in Figure 10. As with FORM, the second panel in
Figure 10 is produced only in the 2D case.
Figure 10: Graphical visualization of the convergence of the importance sampling analysis in
Section 2.3.4.
UQ[PY]LAB-V1.0-107 - 32 -
Structural reliability (Rare event estimation)
Note: In the preceding example no specifications are provided. The Importance Sam-
pling shares the same defaults values as FORM and MCS. The exceptions are:
Maximum number of evaluated samples: 10
3
;
Number of samples evaluated per batch: 10
2
.
2.3.4.1 Accessing the results
The results of the importance sampling analysis can be accessed with the ISAnalysis['Results']
dictionary:
{
'Pf': 0.0014,
'Beta': 2.9989,
'CoV': 0.0590,
'PfCI': [0.0012, 0.0015],
'BetaCI': [2.9654, 3.0361],
'ModelEvaluations': 1008,
'History': {...},
'FORM': {...}
}
The basic dictionary of Results closely resembles that of Monte Carlo simulation (see Sec-
tion 2.3.3.1). However, an additional dictionary Results['FORM'] is available:
{
'BetaHL': 3,
'Pf': 0.0013,
'ModelEvaluations': 8,
'Ustar': [-2.4000, 1.8000],
'Xstar': [3.0800, 3.0800],
'Importance': [0.6400, 0.3600],
'ModelEvaluations': 8,
'Iterations': 2,
'History': {...}
}
This dictionary is identical to the FORM results given in Section 2.3.1.1.
2.3.4.2 Advanced options
The importance sampling algorithm accepts all of the options specific to both FORM and
Monte Carlo simulation, described in Section 2.3.1.2 and Section 2.3.3.2. In addition, two
additional options can be specified for importance sampling:
Specify existing FORM results: by default, importance sampling first runs FORM to
determine the design point, followed by sampling around this design point to calculate
P
f,IS
. If the results of a previous FORM analysis are already available, they can be
specified so as to avoid running FORM again. If the results are stored in a pre-existing
UQ[PY]LAB FORM or SORM analysis, say FORMAnalysis, one can write:
ISOpts['IS'] = {'FORM': FORMAnalysis}
UQ[PY]LAB-V1.0-107 - 33 -
UQ[PY]LAB user manual
Specify a custom sampling distribution: alternatively, one can directly specify a cus-
tom sampling distribution. This can be achieved by providing the marginals and copula
structure of the desired distribution, e.g.IOpts in Section 2.2, as follows:
ISOpts['IS'] = {'Instrumental': IOpts}
Alternatively, a pre-existent UQ[PY]LAB INPUT object, say myISInput, can also be
specified:
ISOpts['IS'] = {'Instrumental': myISInput}
In case the model has multiple outputs N
out
, it might be desirable to specify a custom
sampling distribution for each one of them. This can be done by either providing the
IOpts as a 1 × N
out
dictionary or the pre-existing inputs myISInputs as a 1 × N
out
uq_input object. Please note, that custom distributions should be specified either for
all outputs or for none.
For a complete overview of the available options specific to the importance sampling algo-
rithm, see Table 8.
2.3.5 Subset Simulation
The subset simulation algorithm can be used with the default options P
0
= 0.1 and N
S
= 10
3
by specifying:
SSOpts = {
'Type': 'Reliability',
'Method': 'Subset'
}
SSimAnalysis = uq.createAnalysis(SSOpts);
Once the analysis is performed, a report with the subset-simulation results can be printed on
screen by:
uq.print(SSimAnalysis)
which produces the following:
---------------------------------------------------
Subset simulation
---------------------------------------------------
Pf 1.3300e-03
Beta 3.0045
CoV 0.2520
ModelEvaluations 2689
PfCI [6.7300e-04 1.9870e-03]
BetaCI [2.8802e+00 3.2060e+00]
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(SSimAnalysis)
UQ[PY]LAB-V1.0-107 - 34 -
Structural reliability (Rare event estimation)
which illustrates the samples of each subset in Figure 11 (applicable only for one and two-
dimensional problems).
Figure 11: Graphical visualization of the convergence of the subset simulation analysis in
Section 2.3.5.
Note: In the preceding example no specifications are provided. Additionally, there are
the following default values:
Target conditional failure probability of auxiliary limit-states: 0.1;
Maximum number of subsets: 20;
Type of the proposal distribution in the Markov Chain: 'uniform';
Parameter (standard deviation / halfwidth) of the proposal distribution: 1.
2.3.5.1 Accessing the results
The results of subset simulation are stored in the SSimAnalysis['Results'] dictionary:
{
'Pf': 0.00133,
'Beta': 3.0045,
'History': {...},
'CoV': 0.2520,
'ModelEvaluations': 2689,
'NumberSubsets': 3,
'PfCI': [0.0006730, 0.001987],
'BetaCI': [2.8802, 3.2060]
}
The keys in the Results dictionary have the same meaning as their counterparts in im-
portance sampling and Monte Carlo simulation. Further, the key NumberSubsets denotes
the number of subsets. Note that the ModelEvaluations key does not contain exactly the
expected N = N
S
m (1 P
0
) = 2700 limit-state function evaluations, but a slightly smaller
N = 2689. This discrepancy is due to the modified Metropolis-Hastings MCMC acceptance
UQ[PY]LAB-V1.0-107 - 35 -
UQ[PY]LAB user manual
criterion described in Au and Beck (2001), which in some uncommon cases can reject sam-
ples without the need of evaluating the limit-state function.
2.3.5.2 Advanced options
Subset simulation uses the same advanced options as Monte Carlo simulation described in
Section 2.3.3.2, as well as some additional options. The most important are summarized in
the following:
Specify P
0
: the value of P
0
in Eq. (1.53) can be specified in 0 < P
0
0.5. One can set
e.g. P
0
= 0.2 as follows:
SSOpts['SubsetSim'] = {'p0': 0.2}
Specify the number of samples in each subset: the number of samples in each subset
N
S
can be specified by using the ['Simulation']['BatchSize'] key . To set it to
N
S
= 1000 one can write:
SSOpts['Simulation'] = {'BatchSize': 1000}
For a comprehensive overview of the available options specific to subset simulation see Ta-
ble 9, page 49.
2.3.6 Adaptive Kriging Monte Carlo Simulation (AK-MCS)
Adaptive Kriging Monte Carlo simulation method with default values (see Table 11 and the
related linked tables for details on the defaults) can be deployed in UQ[PY]LAB with the
following code:
AKOpts = {
"Type": "Reliability",
"Method":"AKMCS"
}
AKAnalysis = uq.createAnalysis(AKOpts)
Once the analysis is complete, a report with the AK-MCS results can be printed on screen by:
uq.print(AKAnalysis)
which produces the following:
---------------------------------------------------
AK-MCS
---------------------------------------------------
Pf 1.4200e-03
Beta 2.9845
CoV 0.0839
ModelEvaluations 17
PfCI [1.1866e-03 1.6534e-03]
BetaCI [2.9377e+00 3.0391e+00]
PfMinus/Plus [1.4200e-03 1.4200e-03]
---------------------------------------------------
-------------------------------------------
UQ[PY]LAB-V1.0-107 - 36 -
Structural reliability (Rare event estimation)
The results can be visualized graphically as follows:
uq.display(AKAnalysis)
which produces the images in Figure 12. Note that the plot on the right of Figure 12 is only
available when the input is two-dimensional.
Figure 12: Graphical visualization of the convergence of the AK-MCS analysis in Sec-
tion 2.3.6.
Note: In the preceding example no specifications are provided. If not further specified
the Monte Carlo simulation runs with the following defaults:
Confidence level: 0.05;
Maximum number of evaluated samples: 10
5
;
Number of samples evaluated per batch: 10
4
;
Failure is defined for: limit-state g(x) 0;
Type of metamodel: 'Kriging';
Learning function to determine the best next sample(s): 'U';
Convergence criterion for the adaptive ED algorithm: 'stopU';
Number of samples added to the ED for the metamodel: 10
3
;
Number of samples in the initial ED: N
ini
= max(10, 2M)
Initial ED sampling strategy: 'LHS'.
2.3.6.1 Accessing the results
The results from the AK-MCS algorithm are stored in the AKAnalysis['Results'] dictio-
nary:
{
'Pf': 0.00142,
'Beta': 2.984545456825952,
'CoV': 0.08385853278663276,
UQ[PY]LAB-V1.0-107 - 37 -
UQ[PY]LAB user manual
'ModelEvaluations': 17,
'PfCI': [0.0011866092202373964, 0.0016533907797626035],
'BetaCI': [2.9376799928499784, 3.0390545929919957],
'Kriging': 'Model 2',
'History': {...}
}
The keys in the Results dictionary have the same meaning as their counterparts in Monte
Carlo simulation. Further, the key Kriging contains a string with a UQ[PY]LAB name of
the Kriging metamodel. To retrieve the metamodel, one can write:
parentName = AKMCSAnalysis['Name']
objPath = 'Results.Kriging'
myKriging = uq.extractFromAnalysis(parentName=parentName,objPath=objPath)
This metamodel can be reused within UQ[PY]LAB for any other purpose, see UQ[PY]LAB
User Manual – Kriging (Gaussian process modelling) for details.
2.3.6.2 Advanced options
AK-MCS uses the same advanced options as Monte Carlo simulation described in Section 2.3.3.2,
as well as some additional options. The most important are summarized in the following:
Convergence criterion: There are three different convergence criteria mentioned in
Section 1.6.1.2. They are all available and can be specified e.g.criterion on failure
probability:
AKMCSOpts['AKMCS'] = {'Convergence': 'stopPf'}
Specify the Kriging metamodel: The specifications for the Kriging metamodel (see
also UQ[PY]LAB User Manual Kriging (Gaussian process modelling)) can be set in
the key ['AKMCS']['Kriging'] e.g.for an ordinary Kriging model:
AKMCSOpts['AKMCS'] = {
'Kriging': {
'Trend': {
'Type': 'ordinary'
}
}
}
Specify the initial experimental design: Apart from specifying a number of points
and a sampling strategy, the initial experimental design can be specified by providing
X =
x
(1)
, . . . , x
(N
0
)
in the matrix X and the corresponding limit-state function values
g(x
(1)
, . . . , x
(N
0
)
in G:
AKOpts['AKMCS'] = {
'IExpDesign': {
'X': X.tolist(),
'G': G.tolist()
}
}
UQ[PY]LAB-V1.0-107 - 38 -
Structural reliability (Rare event estimation)
Specify the number of added experimental design points: The maximum number of
samples added to the experimental design of the Kriging metamodel can be specified
to e.g.100:
AKOpts['AKMCS'] = {'MaxAddedED': 100}
Note that the total number of runs of the limit-state function then is at most the initial
ED size plus the above number.
Use a PC-Kriging metamodel: Instead of Kriging, a PC-Kriging model (see also UQ[PY]LAB
User Manual – PC-Kriging) can be used as a surrogate model in AK-MCS.
AKOpts['AKMCS'] = {'MetaModel': 'PCK'}
Specific options of the PCK model can be added in the key ['AKMCS']['PCK']. As an
example, a Gaussian correlation function in PC-Kriging is set as:
AKMCSOpts['AKMCS'] = {
'PCK': {
'Kriging': {
'Corr': {
'Family': 'Gaussian'
}
}
}
}
For an overview of the advanced options available for the AK-MCS method, refer to Table 11,
page 50.
2.3.7 Stochastic spectral embedding-based reliability (SSER)
The stochastic spectral embedding-based reliability method with default values (see Table 13
and the related linked tables for details on the defaults) can be deployed in UQ[PY]LAB with
the following code:
SSEROpts.Type = 'Reliability';
SSEROpts.Method = 'SSER';
SSERAnalysis = uq_createAnalysis(SSEROpts);
Once the analysis is complete, a report with the AK-MCS results can be printed on screen by:
uq.print(SSERAnalysis)
which produces the following:
---------------------------------------------------
Stochastic spectral embedding-based reliability
---------------------------------------------------
Pf 1.5253e-03
Beta 2.9626
CoV 0.0000
ModelEvaluations 80
PfCI [1.5253e-03 1.5254e-03]
BetaCI [2.9626e+00 2.9626e+00]
UQ[PY]LAB-V1.0-107 - 39 -
UQ[PY]LAB user manual
---------------------------------------------------
The results can be visualized graphically as follows:
uq.display(SSERAnalysis)
which produces the images in Figure 13. Note that the plot on the right of Figure 13 is only
available when the input is two-dimensional.
Figure 13: Graphical visualization of the convergence of the SSER analysis in Section 2.3.7.
Note: In the preceding example no specifications are provided. If not further specified
the SSER analysis runs with the following defaults:
Number of enrichment samples N
enr
: 10;
Maximum number of evaluated samples: 10
5
;
Failure is defined for: limit-state g(x) 0;
2.3.7.1 Accessing the results
The results from the SSER algorithm are stored in the SSERAnalysis['Results'] dictio-
nary:
{
'SSER': 'SSER',
'History': {...},
'Pf': 0.00152533,
'PfCI': [0.00152533, 0.00152538],
'CoV': 1.60235072e-05,
'Beta': 2.96258640,
'BetaCI': [2.96257634, 2.96258640],
'ModelEvaluations': 80
}
The keys in the Results dictionary have the same meaning as their counterparts in Monte
Carlo simulation.
UQ[PY]LAB-V1.0-107 - 40 -
Structural reliability (Rare event estimation)
Further, the key SSER contains a string with a UQ[PY]LAB name of the SSE metamodel. To
retrieve the metamodel, one can write:
mySSE = uq.getModel('SSER')
This metamodel can be reused within UQ[PY]LAB for any other purpose, see UQ[PY]LAB
User Manual – Stochastic spectral embedding for details.
For an overview of the advanced options available for the SSER method, refer to Table 13,
page 51.
2.4 Advanced limit-state function options
2.4.1 Specify failure threshold and failure criterion
While it is normally good practice to define the limit-state function directly as a UQ[PY]LAB
MODEL object as in Section 2.2, in some cases it can be useful to be able to create one from
small modifications of existing MODEL objects. A typical scenario where this is apparent is
when the same objective function needs to be tested against a set of different failure thresh-
olds, e.g. for a parametric study. In this case, the limit-state specifications can be modified.
As an example, when g(x) T = 5 defines the failure criterion, one can use the following
syntax:
MCOpts['LimitState'] = {
'Threshold': 5,
'CompOp': '<='
}
UQ[PY]LAB offers several possibilities to create simple (or arbitrarily complex) objective
functions from existing MODEL objects (see also UQ[PY]LAB User Manual the INPUT mod-
ule).
For an overview of the advanced options for the limit-state function, refer to Table 4, page
47.
2.4.2 Vector Output
In case the limit-state function g(X) results in a vector rather than a scalar value, the struc-
tural reliability module estimates the failure probability for each component independently.
Note: There is no system-type reasoning implemented to combine the failure probabil-
ities of each component.
However, the implemented methods make use of evaluations of the limit-state function if
available, as follows:
Monte Carlo simulation: The enrichment of the sample size is increased until the
convergence criteria are fulfilled for all components.
UQ[PY]LAB-V1.0-107 - 41 -
UQ[PY]LAB user manual
Subset Simulation: The first batch of samples (MCS) is reused for every output com-
ponent limit-state.
AK-MCS: The initial experimental design for the Kriging model of output component i
consists of the final experimental design of component i 1.
2.5 Excluding parameters from the analysis
In various usage scenarios (e.g. parametric studies) one or more input variables may be set
to fixed constant values. This can have important consequences for many of the methods
available in UQ[PY]LAB e.g. FORM/SORM and AK-MCS, whose costs increase significantly
with the number of input variables. Whenever applicable, UQ[PY]LAB will appropriately
account for the set of constant input parameters and exclude them from the analysis so as to
avoid unnecessary costs. This process is transparent to the user as the analysis results will
still show the excluded variables, but they will not be included in the calculations.
To set a parameter to constant, the following command can be used when the probabilistic
input is defined (See UQ[PY]LAB User Manual – the INPUT module):
InputOpts['Marginals']['Type'] = 'Constant'
InputOpts['Marginals']['Parameters'] = [value]
Furthermore, when the standard deviation of a parameter equals zero, UQ[PY]LAB treats it
as a Constant. For example, the following uniformly distributed variable whose upper and
lower bounds are identical is automatically set to a constant with value 1:
InputOpts['Marginals']['Type'] = 'Uniform'
InputOpts['Marginals']['Parameters'] = [1, 1]
UQ[PY]LAB-V1.0-107 - 42 -
Chapter 3
Reference List
How to read the reference list
Python dictionaries play an important role throughout the UQ[PY]LAB syntax. They offer
a natural way to semantically group configuration options and output quantities. Due to
the complexity of the algorithms implemented, it is not uncommon to employ nested dictio-
naries to fine-tune the inputs and outputs. Throughout this reference guide, a table-based
description of the configuration dictionaries is adopted.
The simplest case is given when a value of a dictionary key is a simple value or a list:
Table X: Input
Name String A description of the field is put here
which corresponds to the following syntax:
Input = {
'Name' : 'My Input'
}
The columns, from left to right, correspond to the name, the data type and a brief description
of each key-value pair. At the beginning of each row a symbol is given to inform as to whether
the corresponding key is mandatory, optional, mutually exclusive, etc. The comprehensive
list of symbols is given in the following table:
Mandatory
Optional
Mandatory, mutually exclusive (only one of
the keys can be set)
Optional, mutually exclusive (one of them
can be set, if at least one of the group is set,
otherwise none is necessary)
43
UQ[PY]LAB user manual
When the value of one of the keys of a dictionary is a dictionary itself, a link to a table that
describes the structure of that nested dictionary is provided, as in the case of the Options
key in the following example:
Table X: Input
Name String Description
Options Table Y Description of the Options
dictionary
Table Y: Input['Options']
Key1 String Description of Key1
Key2 Double Description of Key2
In some cases, an option value gives the possibility to define further options related to that
value. The general syntax would be:
Input = {
'Option1' : 'VALUE1',
'VALUE1' : {
'Val1Opt1' : ... ,
'Val1Opt2' : ...
}
}
This is illustrated as follows:
Table X: Input
Option1 String Short description
'VALUE1' Description of 'VALUE1'
'VALUE2' Description of 'VALUE2'
VALUE1 Table Y Options for 'VALUE1'
VALUE2 Table Z Options for 'VALUE2'
Table Y: Input['VALUE1']
Val1Opt1 String Description
Val1Opt2 Float Description
Table Z: Input['VALUE2']
Val2Opt1 String Description
Val2Opt2 Float Description
UQ[PY]LAB-V1.0-107 - 44 -
Structural reliability (Rare event estimation)
3.1 Create a reliability analysis
Syntax
myAnalysis = uq.createAnalysis(ROpts)
Input
All the parameters required to determine the analysis are to be given as keys of the struc-
ture ROpts. Each method has its own options, that will be reviewed in different tables. The
options described in Table 3 are common to all methods.
Table 3: ROpts
Type 'uq_reliability' Identifier of the module. The options
corresponding to other types are in
the corresponding guides.
Method String Type of structural reliability method.
The available options are listed
below:
'MCS' Monte Carlo simulation.
'FORM', First order reliability method.
'SORM', Second order reliability method.
'IS' Importance sampling.
'Subset' Subset simulation.
'AKMCS' Adaptive Kriging Monte Carlo
Simulation (AK-MCS).
'SSER' Stochastic spectral embedding-based
reliability (SSER).
Name String Name of the module. If not set by
the user, a unique string is
automatically assigned to it.
Input INPUT object INPUT object used in the analysis. If
not specified, the currently selected
one is used.
Model MODEL object MODEL object used in the analysis. If
not specified, the currently selected
one is used.
LimitState See Table 4 Specification of the limit-state
function.
Display String
default: 'standard'
Level of information displayed by the
methods.
UQ[PY]LAB-V1.0-107 - 45 -
UQ[PY]LAB user manual
'quiet' Minimum display level, displays
nothing or very few information.
'standard' Default display level, shows the most
important information.
'verbose' Maximum display level, shows all the
information on runtime, like updates
on iterations, etc.
Simulation See Table 5 Options key for the simulation
methods. Only applies when
ROpts['Method'] is 'MCS',
'IS', 'SS', or 'AKMCS'.
FORM See Table 6 Options key for the FORM algorithm
methods. Only applies when
ROpts['Method'] is 'FORM',
'SORM', or 'IS'.
Gradient See Table 7 Options key for computing the
gradient. It applies to the methods
that use FORM, namely, when
ROpts['Method'] is 'FORM',
'SORM', or 'IS'.
IS See Table 8 Options key for importance
sampling. It applies only when
ROpts['Method'] is 'IS'.
Subset See Table 9 Options key for subset simulation. It
applies only when
ROpts['Method'] is 'Subset'.
AKMCS See Table 11 Options key for the adaptive
experimental design algorithm in
AK-MCS. This applies when
ROpts['Method'] is 'AKMCS'.
SSER See Table 13 Options key for the SSER algorithm.
This applies when
ROpts['Method'] is 'SSER'.
SaveEvaluations Logical
default: True
Storage or not of performed
evaluations of the limit-state
function.
True Store the evaluations.
False Do not store the evaluations.
In order to perform a structural reliability analysis, the limit-state function g(x) is compared
to a threshold value T (by default T = 0). In analogy with Eq. (1.1), failure is defined as
g(x) T . Alternatively, failure can be specified as g(x) T by adjustment of the key
ROpts['LimitState']['CompOp'] to '>='. The relevant options are summarized in Ta-
ble 4:
UQ[PY]LAB-V1.0-107 - 46 -
Structural reliability (Rare event estimation)
Table 4: ROpts['LimitState']
Threshold Float
default: 0
Threshold T , compared to the
limit-state function g(x).
CompOp String
default: '<='
Comparison operator for the
limit-state function.
'<', '<=' Failure is defined by g(x) < T .
'>', '>=' Failure is defined by g(x) > T .
The available methods to perform structural reliability analysis are Monte Carlo simulation,
importance sampling, subset simulation, AK-MCS, FORM, and SORM. The first four methods
share the simulation options. FORM and SORM are gradient-based, so they allow the user to
specify the finite difference options as well as the algorithm options.
In Table 5, the options for the simulation methods (Monte Carlo, importance sampling, subset
simulation and AK-MCS) are shown:
Table 5: ROpts['Simulation']
Alpha Float
default: 0.05
Confidence level α. For the Monte
Carlo estimators, a confidence
interval is constructed with
confidence level 1 α.
MaxSampleSize Integer
default: 10
3
for 'IS';
10
5
otherwise
Maximum number of samples to be
evaluated. If there is no target
coefficient of variation (CoV), this is
the total number of samples to be
evaluated. If the target CoV is
present, the method will run until
TargetCoV or MaxSampleSize is
reached. In this case, the default
value of MaxSampleSize, if not
specified in the options, is Inf,
i.e.the method will run until the
target CoV is achieved.
TargetCoV Float Target coefficient of variation. If
present, the method will run until
the estimate of the CoV (Eq. (1.40))
is below TargetCoV or until
MaxSampleSize function
evaluations are performed. The
value of the coefficient of variation of
the estimator is checked after each
BatchSize evaluations. By default
this option is disabled. Note: this
option has no effect in
Method = 'Subset' and
'AKMCS'.
UQ[PY]LAB-V1.0-107 - 47 -
UQ[PY]LAB user manual
BatchSize Integer
default: 10
4
for 'MCS'
and 'AKMCS';
10
3
for 'Subset';
10
2
for 'IS'
Number of samples that will be
evaluated at once. Note that this
option has no effect in
Method = 'AKMCS'.
Note: In order to use importance sampling after an already computed FORM analysis,
one can provide these results to the analysis options in order to avoid repeating
FORM. If FORMAnalysis is pre-existing UQ[PY]LAB FORM or SORM analysis,
the syntax reads:
ISOpts = {
'Type': 'Reliability',
'Method': 'IS',
'FORM': FORMAnalysis
}
ISAnalysis = uq.createAnalysis(ISOpts)
The FORM algorithm has special parameters that can be tuned in the key FORM of the op-
tions. These parameters also affect the methods that depend on FORM, namely importance
sampling and SORM. These are listed in Table 6.
Table 6: ROpts['FORM']
Algorithm String
default: 'iHLRF'
Algorithm used to find the design
point.
'iHLRF' Improved HLRF.
'HLRF' HLRF.
StartingPoint 1 × M List with Float
entries
default:
np.zeros(M).tolist()
Starting point for the
Rackwitz-Fiessler algorithm.
StopU Float
default: 10
4
Tolerance value for the
Rackwitz-Fiessler algorithm on the
design point. The algorithm will stop
when |U
k+1
U
k
| < StopU.
StopG Float
default: 10
6
Tolerance value for the
Rackwitz-Fiessler algorithm on the
limit-state function value. The
algorithm will stop when
|
G(U
k
)
G(U
0
)
| < StopG.
MaxIterations Integer
default: 100
Maximum number of iterations
allowed in the Rackwitz-Fiessler
algorithm. If this property should be
ignored, it can be set to Inf.
Since FORM is a gradient-based method, the gradient of the limit-state function needs to be
UQ[PY]LAB-V1.0-107 - 48 -
Structural reliability (Rare event estimation)
computed. This is done using finite differences. The options for the differentiation are listed
in Table 7.
Table 7: ROpts['Gradient']
h Float
default: 10
3
Value of the difference for the
scheme.
Method String
default: 'forward'
Specifies the type of finite differences
scheme to be used.
'forward' Forward finite differences.
g
x
i
is
approximated using g(x) and
g(x + he
i
).
'backward'
g
x
i
is approximated using g(x) and
g(x he
i
).
'centered'
g
x
i
is approximated using g(x + he
i
)
and g(x he
i
). (More accurate and
more costly.)
The options specifically set for the importance sampling are presented in Table 8. Note that
the options of Simulation and FORM are also processed in the case of importance sampling
due to the nature of the MCS, FORM and IS.
Table 8: ROpts['IS']
Instrumental 1 ×N
out
INPUT object or
Dictionary
Instrumental distribution defined as
either a dictionary of input
marginals and copula or an INPUT
object (refer to UQ[PY]LAB User
Manual – the INPUT module for
details).
FORM FORM ANALYSIS object
Dictionary
FORM results computed previously.
See Section 2.3.4.2 for details.
The options specifically set for subset simulation are presented in Table 9. Note that the
options of Simulation are also processed in the case of subset simulation due to the similar
nature of Monte Carlo simulation and subset simulation.
Table 9: ROpts['Subset']
p0 Float
default: 0.1
Target conditional failure probability
of auxiliary limit-states
(0 <p0 0.5).
Proposal See Table 10 Description of the proposal
distribution in the Markov Chain.
MaxSubsets Integer
default:
MaxSampleSize
BatchSize·(1p0)
Maximum number of subsets. In the
subset simulation algorithm, the
maximum number of subsets is set to
the minimum of MaxSubsets and
MaxSampleSize
BatchSize·(1p0)
.
UQ[PY]LAB-V1.0-107 - 49 -
UQ[PY]LAB user manual
The settings of the Markov Chain Monte Carlo simulation in subset simulation are summa-
rized in Table 10. Note that the default values are taken from Au and Beck (2001).
Table 10: ROpts['Subset']['Proposal'] (Proposal distributions)
Type String
default: 'Uniform'
Type of proposal distribution (in the
standard normal space).
'Gaussian' Gaussian distribution.
'Uniform' Uniform distribution.
Parameters Float
default: 1
Parameter of the proposal
distribution. Corresponds to the
standard deviation for a Gaussian
distribution and the half-width for
the uniform distribution.
AK-MCS is a combination of Kriging metamodels and Monte Carlo simulation. The options
for the Kriging metamodel and the adaptive experimental design algorithm are listed here.
Table 11: ROpts['AKMCS']
MetaModel String
default: 'Kriging'
Choice of metamodel in AK-MCS.
Kriging Dictionary Kriging options when key
MetaModel = 'Kriging'. If
none is set, then the default Kriging
options are used (refer to
UQ[PY]LAB User Manual – Kriging
(Gaussian process modelling)). Note
that a small nugget of 10
10
is added
by default to the correlation options
to improve numerical stability.
PCK Dictionary PC-Kriging options when key
MetaModel = 'PCK'. If none is
set, then the default PC-Kriging
options are used (refer to
UQ[PY]LAB User Manual –
PC-Kriging). Note that a small
nugget of 10
10
is added by default
to the correlation options to improve
numerical stability.
LearningFunction String
default: 'U'
Learning function to determine the
best next sample(s) to be added to
the experimental design.
'U' U-function (see Eq. (1.59)).
'EFF' Expected feasibility function (see
Eq. (1.61)).
UQ[PY]LAB-V1.0-107 - 50 -
Structural reliability (Rare event estimation)
Convergence String
default: 'stopU'
Convergence criterion for the
adaptive experimental design
algorithm.
'stopU' Convergence when min U(x) 2
(see Echard et al. (2011)) on the
candidate set.
'stopPf' Convergence criterion based on the
convergence of the failure
probability estimate (see Eq. (1.63)).
'stopBeta' Convergence criterion based on the
convergence of the reliability index
estimate (see Eq. (1.66)).
MaxAddedED Integer
default: 1000
Number of samples added to the
experimental design of the Kriging
metamodel.
IExpDesign See Table 12 Specification of the initial
experimental design of the
metamodel.
The initial experimental design of AK-MCS can either be given by a number of samples and
a sampling method or by a matrix containing the set of input samples and the corresponding
values of the limit-state function.
Table 12: ROpts['AKMCS']['IExpDesign']
N Integer
default: 10
Number of samples in the initial
experimental design.
Sampling String
default: 'LHS'
Sampling techniques of the initial
experimental design. See
UQ[PY]LAB User Manual – the INPUT
module for more sampling
techniques.
X N × M List of lists with
Float entries
Matrix containing the initial
experimental design.
G N × N
out
List of lists
with Float entries
Vector containing the responses of
the limit-state function
corresponding to the initial
experimental design, corrected by
the threshold k (see also Table 4):
(g(x) T ) for Criterion = '<=',
(T g(x)) for Criterion = '>='.
SSER is an active-learning reliability method that uses a highly customized sequential parti-
tioning algorithm to construct an SSE of the limit state function. The options for the SSE and
the sequential partitioning algorithm are listed here.
Table 13: ROpts['SSER']
UQ[PY]LAB-V1.0-107 - 51 -
UQ[PY]LAB user manual
ExpDesign Dictionary
default:
Properties of the experimental
design.
Type='Sequential'
NEnrich=10
NSamples=2e6
ExpOptions Dictionary
default:
Boots['Repl'] = 200
Properties of the residual expansions
according to UQ[PY]LAB User
Manual – Polynomial Chaos
Expansions.
3.2 Accessing the results
Syntax
myAnalysis = uq.createAnalysis(ROpts)
Output
The information stored in the myAnalysis['Results'] dictionary depends on which kind
of analysis is performed. In the sequel, the results for each of the methods are reviewed.
Monte Carlo - Table 14
FORM - Table 16
SORM - Table 18
Importance sampling - Table 19
Subset simulation - Table 20
AK-MCS - Table 22
SSER - Table 24
3.2.1 Monte Carlo
The results are summarized in Table 14.
Table 14: myAnalysis['Results']
Pf Float Estimator of the failure probability, P
f,MCS
.
Beta Float Associated reliability index,
β
MCS
= Φ
1
(P
f,MCS
).
CoV Float Coefficient of variation.
ModelEvaluations Integer Total number of model evaluations performed
during the analysis.
UQ[PY]LAB-V1.0-107 - 52 -
Structural reliability (Rare event estimation)
PfCI 1 ×2 List with
Float entries
Confidence interval of the failure probability.
BetaCI 1 ×2 List with
Float entries
Confidence interval of the associated reliability
index.
History See Table 15 If the simulation is carried out using batches of
points, History[i-1] contains results
obtained after the i-th batch.
If the simulation has been carried out by using various batches of points, the information on
the convergence in each step is stored in the structure History. Its contents are described in
Table 15.
Table 15: myAnalysis['Results']['History']
Pf Float Failure probability estimate after each batch.
CoV Float Coefficient of variation after each batch.
Conf Float Confidence interval after each batch.
X N × M List of
lists with Float
entries
Matrix containing the input vectors in the
original space evaluated by the limit-state
function.
U N × M List of
lists with Float
entries
Matrix containing the input vectors in the
standard normal space evaluated by the
limit-state function.
G N × N
out
List
of lists with
Float entries
Values of the limit-state function along the
FORM iterations i.e.
g(x
k
) T for Criterion = '<=',
T g(x
k
) for Criterion = '>='.
3.2.2 FORM and SORM
FORM and SORM methods are very close in terms of calculations. Indeed, SORM can be
understood as a correction of the FORM estimation of the probability. Therefore, the results
dictionaries are very similar. The results of FORM are shown in Table 16. When executing
SORM, some keys will be added to the FORM Results dictionary, shown in Table 18.
Table 16: myAnalysis['Results']
BetaHL Float Hasofer-Lind reliability index, β
HL
.
Pf Float Estimator of the failure probability,
P
f,FORM
= Φ(β
HL
).
ModelEvaluations Integer Total number of model evaluations performed
to solve the analysis.
Ustar 1 ×M List with
Float entries
Design point U
in the standard normal space.
UQ[PY]LAB-V1.0-107 - 53 -
UQ[PY]LAB user manual
Xstar 1 ×M List with
Float entries
Design point X
the original space.
Importance 1 ×M List with
Float entries
Importance factors S
i
.
Iterations Integer Number of iterations carried out by the
optimization algorithm.
Method String Method used to solve the analysis.
History See Table 17 Dictionary with information about the
algorithm steps and runtime information.
The key History of the results contains more detailed information extracted from the algo-
rithm steps.
Table 17: myAnalysis['Results']['History']
ExitFlag String Reason why the algorithm stopped.
BetaHL Float Values of the reliability index along the FORM
iterations.
OriginValue Float Value of the limit-state function G(u = 0).
G N × N
out
List
of lists with
Float entries
Values of the limit-state function along the
FORM iterations i.e.
g(x
k
) T for Criterion = '<=',
T g(x
k
) for Criterion = '>='.
Gradient Float Values of the gradient of the limit-state
function along the FORM iterations.
StopU Float Values of the stopping criterion on the design
point convergence, |U
k+1
U
k
|, along the
FORM iterations.
StopG Float Values of the stopping criteria on the limit-state
function, |
G(U
k
)
G(U
0
)
|, along the FORM iterations.
U N × M List of
lists with Float
entries
Coordinates of the points U
k
in the standard
normal space.
X N × M List of
lists with Float
entries
Coordinates of the points X
k
in the original
space.
If SORM is also performed, two keys are added to the Results, and two keys are added to
Results['History'], as shown in Table 18.
Table 18: myAnalysis['Results']
PfSORM Float SORM estimator of the failure probability,
P
f,SORM
, using Hohenbichler’s formula.
UQ[PY]LAB-V1.0-107 - 54 -
Structural reliability (Rare event estimation)
PfSORMBreitung Float SORM estimator of the failure probability,
P
f,SORM
, using Breitung’s formula.
BetaSORM Float Associated reliability index
β
SORM
= Φ
1
(P
f,SORM
), using Hohenbichler’s
formula.
BetaSORMBreitung Float Associated reliability index
β
SORM
= Φ
1
(P
f,SORM
), using Breitung’s
formula.
History['FORMEvals']
Integer Number of model evaluations carried out to
perform the FORM analysis.
History['Hessian'] M × M List of
lists with Float
entries
Hessian matrix of the limit-state function at the
design point, U
.
3.2.3 Importance sampling
Since importance sampling is a simulation method, the dictionary of the results is similar to
the one of Monte Carlo simulation. The results are listed in Table 19.
Table 19: myAnalysis['Results']
Pf Float Estimator of the failure probability, P
f,IS
.
Beta Float Associated reliability index, β
IS
= Φ
1
(P
f,IS
).
CoV Float Coefficient of variation.
ModelEvaluations Integer Total number of model evaluations performed
during the analysis.
PfCI 1 ×2 List with
Float entries
Confidence interval of the failure probability.
BetaCI 1 ×2 List with
Float entries
Confidence interval of the associated reliability
index.
FORM See Table 16 Results of the FORM analysis used to find the
design point.
History See Table 15 If importance sampling is carried out using
batches of points, History[i-1] contains
results obtained after the i-th batch.
3.2.4 Subset simulation
Since subset simulation is a simulation method, the dictionary of the results is similar to the
one of Monte Carlo simulation. The results are listed in Table 20 and Table 21.
Table 20: myAnalysis['Results']
Pf Float Estimator of the failure probability, P
f,SS
.
UQ[PY]LAB-V1.0-107 - 55 -
UQ[PY]LAB user manual
Beta Float Associated reliability index, β
SS
= Φ
1
(P
f,SS
).
CoV Float Coefficient of variation.
ModelEvaluations Integer Number of model evaluations during the
analysis.
PfCI 1 ×2 List with
Float entries
Confidence interval of the failure probability.
BetaCI 1 ×2 List with
Float entries
Confidence interval of the associated reliability
index.
NumberSubsets Integer Number of auxiliary subsets during the
analysis.
History See Table 21 Data related to each subset.
The key History of the results contains more detailed information extracted from the algo-
rithm steps.
Table 21: myAnalysis['Results']['History']
delta2 Float δ
2
j
for estimating the coefficient of variation
(see Eq. (1.55)).
q Float Intermediate limit-state thresholds.
X List Samples in the input space of each subset.
U List Samples in the standard normal space of each
subset.
G List Values of the limit-state function of each
sample in each subset corrected by the
threshold T (see also Table 4):
(g(x) T ) for Criterion = '<=',
(T g(x)) for Criterion = '>='.
Pfcond Float Conditional failure probability estimates
P (D
i+1
|D
i
).
gamma Float γ
j
for computing the coefficient of variation
(see Eq. (1.56)).
3.2.5 AK-MCS
Since AK-MCS relies upon Monte Carlo simulation, the dictionary of the results is similar to
the one of Monte Carlo simulation. The results are listed in Table 22 and Table 23.
Table 22: myAnalysis['Results']
Pf Float Estimator of the failure probability, P
f,AK-MCS
.
Beta Float Associated reliability index,
β
AK-MCS
= Φ
1
(P
f,AK-MCS
).
CoV Float Coefficient of variation.
UQ[PY]LAB-V1.0-107 - 56 -
Structural reliability (Rare event estimation)
ModelEvaluations Integer Total number of model evaluations performed
during the analysis.
PfCI 1 ×2 List with
Float entries
Confidence interval of the failure probability.
BetaCI 1 ×2 List with
Float entries
Confidence interval of the associated reliability
index.
Kriging String Name of the final Kriging metamodel.
PCK String Name of the final PC-Kriging metamodel.
History See Table 23 Contains intermediate results along the
AK-MCS iterations.
Table 23: myAnalysis['Results']['History']
Pf Float History of the estimate failure probability.
PfLower Float History of the estimated lower bound of the
failure probability P
f
.
PfUpper Float History of the estimated upper bound of the
failure probability P
+
f
.
NSamples Integer Number of samples added to the experimental
design at each iteration.
NInit Integer Number of samples in the initial experimental
design.
X List Samples in the input space of each subset.
G List Values of the limit-state function of each
sample in each subset corrected by the
threshold T (see also Table 4):
(g(x) T ) for Criterion = '<=',
(T g(x)) for Criterion = '>='.
3.2.6 SSER
The results of an SSER are the constructed SSE and the failure probability estimate. The
results are listed in Table 24 and Table 25.
Table 24: myAnalysis['Results']
Pf Float Estimator of the failure probability, P
f,SSER
.
Beta Float Associated reliability index,
β
SSER
= Φ
1
(P
f,SSER
).
CoV Float Coefficient of variation.
ModelEvaluations Integer Total number of model evaluations performed
during the analysis.
PfCI 1 ×2 List with
Float entries
Confidence interval of the failure probability.
UQ[PY]LAB-V1.0-107 - 57 -
UQ[PY]LAB user manual
BetaCI 1 ×2 List with
Float entries
Confidence interval of the associated reliability
index.
SSER String Name of the final SSE metamodel of the
limit-state function.
History See Table 25 Contains intermediate results along the SSER
iterations.
Table 25: myAnalysis['Results']['History']
Pf Float History of the estimate failure probability and
upper and lower bounds.
Beta Float History of the associated reliability index and
upper and lower bounds.
CoV Float History of the coefficient of variation.
X List Samples in the input space that were added at
a certain iteration.
G List Associated values of the limit-state function.
3.3 Printing/Visualizing of the results
UQ[PY]LAB offers two commands to conveniently print reports containing contextually rele-
vant information for a given result object:
3.3.1 Printing the results: uq.print
Syntax
uq.print(myAnalysis[, outidx])
Description
uq.print(myAnalysis) prints a report on the results of the reliability analysis stored in
the object myAnalysis. If the model has multiple outputs, only the results for the first
output variable are printed.
uq.print(myAnalysis, outidx) prints a report on the results of the reliability analysis
stored in the object myAnalysis for the output variables specified in the array outidx.
Examples:
uq.print(myAnalysis, [1, 3]) prints the reliability analysis results for output variables
1 and 3.
UQ[PY]LAB-V1.0-107 - 58 -
Structural reliability (Rare event estimation)
3.3.2 Graphically display the results: uq.display
Syntax
uq.display(myAnalysis[, outidx])
Description
uq.display(myAnalysis) creates a visualization of the results of the reliability analysis
stored in the object myAnalysis, if possible. If the model has multiple outputs, only
the results for the first output variable are visualized.
uq.display(myAnalysis, outidx) creates a visualization of the results of the reliability
analysis stored in the object myAnalysis for the output variables specified in the array
outidx.
Examples:
uq.display(myAnalysis, [1, 3]) will display the reliability analysis results for output
variables 1 and 3.
UQ[PY]LAB-V1.0-107 - 59 -
References
Au, S. K. and Beck, J. L. (2001). Estimation of small failure probabilities in high dimensions
by subset simulation. Probabilistic Engineering Mechanics, 16(4):263–277. 13, 14, 36, 50
Bichon, B. J., Eldred, M. S., Swiler, L., Mahadevan, S., and McFarland, J. (2008). Effi-
cient global reliability analysis for nonlinear implicit performance functions. AIAA Journal,
46(10):2459–2468. 16
Breitung, K. (1989). Asymptotic approximations for probability integrals. Probabilistic Engi-
neering Mechanics, 4(4):187–190. 9, 10
Cai, G. Q. and Elishakoff, I. (1994). Refined second-order reliability analysis. Struct. Saf.,
14(4):267–276. 9, 10
Dani, V., Hayes, T. P., and Kakade, S. M. (2008). Stochastic linear optimization under bandit
feedback. In The 21st Annual Conference on Learning Theory (COLT 2008). 16
Ditlevsen, O. (1979). Generalized second moment reliability index. Journal of Structural
Mechanics, 7(4):435–451. 22
Ditlevsen, O. and Madsen, H. (1996). Structural reliability methods. J. Wiley and Sons,
Chichester. 3
Dubourg, V. (2011). Adaptive surrogate models for reliability analysis and reliability-based
design optimization. PhD thesis, Universit
´
e Blaise Pascal, Clermont-Ferrand, France. 16
Echard, B., Gayton, N., and Lemaire, M. (2011). AK-MCS: an active learning reliability
method combining Kriging and Monte Carlo simulation. Struct. Saf., 33(2):145–154. 15,
16, 17, 18, 20, 51
Efron, B. (1979). Bootstrap methods: another look at the Jackknife. Annals of Statistics,
7(1):1–26. 19
Ginsbourger, D., Rosspopoff, B., Pirot, G., Durrande, N., and Renard, R. (2013). Distance-
based Kriging relying on proxy simulation for inverse conditioning. Advances in Water
Resources, 52:275–291. 16
Hasofer, A.-M. and Lind, N.-C. (1974). Exact and invariant second moment code format. J.
Eng. Mech., 100(1):111–121. 6
61
UQ[PY]LAB user manual
Hohenbichler, M., Gollwitzer, S., Kruse, W., and Rackwitz, R. (1987). New light on first- and
second order reliability methods. Struct. Saf., 4:267–284. 10
Lemaire, M. (2009). Structural reliability. Wiley. 3
Marelli, S. and Sudret, B. (2018). An active-learning algorithm that combines sparse polyno-
mial chaos expansions and bootstrap for structural reliability analysis. Struct. Saf., 75:67–
74. 19
Marelli, S., Wagner, P.-R., Lataniotis, C., and Sudret, B. (2021). Stochastic spectral embed-
ding. 11(2):25–47. 18
Melchers, R.-E. (1999). Structural reliability analysis and prediction. John Wiley & Sons. 3,
12
Moustapha, M., Marelli, S., and Sudret, B. (2021). A generalized framework for active learn-
ing reliability: survey and benchmark. Reliability Engineering & System Safety. (submitted).
22
Papaioannou, I., Betz, W., Zwirglmaier, K., and Straub, D. (2015). MCMC algorithms for
subset simulation. Probabilistic Engineering Mechanics, 41:89–103. 14
Rackwitz, R. and Fiessler, B. (1978). Structural reliability under combined load sequences.
Computers & Structures, 9:489–494. 7
Rubinstein, R.-Y. (1981). Simulation and the Monte Carlo methods. John Wiley & Sons. 11
Sch
¨
obi, R., Sudret, B., and Marelli, S. (2016). Rare event estimation using Polynomial-Chaos-
Kriging. ASCE-ASME Journal of Risk and Uncertainty in Engineering Systems, Part A: Civil
Engineering, page D4016002. 15, 17, 18
Srinivas, N., Krause, A., Kakade, S., and Seeger, M. (2012). Information-theoretic regret
bounds for Gaussian process optimization in the bandit setting. IEEE Transactions on Infor-
mation Theory, 58(5):3250–3265. 16
Sudret, B. (2007). Uncertainty propagation and sensitivity analysis in mechanical models -
Contributions to structural reliability and stochastic spectral methods. Habilitation thesis,
Universit
´
e Blaise Pascal, Clermont-Ferrand, France. 1
Tvedt, L. (1990). Distribution of quadratic forms in normal space – Applications to structural
reliability. J. Eng. Mech., 116(6):1183–1197. 10
Wagner, P.-R., Marelli, S., Papaioannou, I., Straub, D., and Sudret, B. (2021). Rare event
estimation using stochastic spectral embedding. 18, 19
Zhang, Y. and Der Kiureghian, A. (1995). Two improved algorithms for reliability analysis.
In Rackwitz, R., Augusti, G., and Bori, A., editors, Proc. 6th IFIP WG7.5 on Reliability and
Optimization of Structural systems, Assisi, Italy. Chapman & Hall, London. 8
UQ[PY]LAB-V1.0-107 - 62 -