S2MART {mistral} | R Documentation |
Subset by Support vector Margin Algorithm for Reliability esTimation
Description
S2MART
introduces a metamodeling step at each subset simulation
threshold, making number of necessary samples lower and the probability estimation
better according to subset simulation by itself.
Usage
S2MART(
dimension,
lsf,
Nn = 100,
alpha_quantile = 0.1,
failure = 0,
lower.tail = TRUE,
...,
plot = FALSE,
output_dir = NULL,
verbose = 0
)
Arguments
dimension |
the dimension of the input space |
lsf |
the function defining the failure domain. Failure is lsf(X) < |
Nn |
number of samples to evaluate the quantiles in the subset step |
alpha_quantile |
cutoff probability for the subsets |
failure |
the failure threshold |
lower.tail |
as for pxxxx functions, TRUE for estimating P(lsf(X) < failure), FALSE for P(lsf(X) > failure) |
... |
All others parameters of the metamodel based algorithm |
plot |
to produce a plot of the failure and safety domain. Note that this requires a lot of
calls to the |
output_dir |
to save the plot into the given directory. This will be pasted with "_S2MART.pdf" |
verbose |
either 0 for almost no output, 1 for medium size output and 2 for all outputs |
Details
S2MART algorithm is based on the idea that subset simulations conditional probabilities are estimated with a relatively poor precision as it requires calls to the expensive-to-evaluate limit state function and does not take benefit from its numerous calls to the limit state function in the Metropolis-Hastings algorithm. In this scope, the key concept is to reduce the subset simulation population to its minimum and use it only to estimate crudely the next quantile. Then the use of a metamodel-based algorithm lets refine the border and calculate an accurate estimation of the conditional probability by the mean of a crude Monte-Carlo.
In this scope, a compromise has to be found between the two sources of
calls to the limit state function as total number of calls = (Nn
+
number of calls to refine the metamodel) x (number of subsets) :
Nn
calls to find the next threshold value : the biggerNn
, the more accurate the ‘decreasing speed’ specified by thealpha_quantile
value and so the smaller the number of subsetstotal number of calls to refine the metamodel at each threshold
Value
An object of class list
containing the failure probability
and some more outputs as described below:
p |
The estimated failure probability. |
cov |
The coefficient of variation of the Monte-Carlo probability estimate. |
Ncall |
The total number of calls to the |
X |
The final learning database, ie. all points where |
y |
The value of the |
meta_model |
The final metamodel. An object from e1071. |
Note
Problem is supposed to be defined in the standard space. If not,
use UtoX
to do so. Furthermore, each time a set of vector
is defined as a matrix, ‘nrow’ = dimension
and
‘ncol’ = number of vector to be consistent with as.matrix
transformation of a vector.
Algorithm calls lsf(X) (where X is a matrix as defined previously) and expects a vector in return. This allows the user to optimise the computation of a batch of points, either by vectorial computation, or by the use of external codes (optimised C or C++ codes for example) and/or parallel computation; see examples in MonteCarlo.
Author(s)
Clement WALTER clementwalter@icloud.com
References
-
J.-M. Bourinet, F. Deheeger, M. Lemaire:
Assessing small failure probabilities by combined Subset Simulation and Support Vector Machines
Structural Safety (2011) -
F. Deheeger:
Couplage m?cano-fiabiliste : 2SMART - m?thodologie d'apprentissage stochastique en fiabilit?
PhD. Thesis, Universit? Blaise Pascal - Clermont II, 2008 -
S.-K. Au, J. L. Beck:
Estimation of small failure probabilities in high dimensions by Subset Simulation
Probabilistic Engineering Mechanics (2001) -
A. Der Kiureghian, T. Dakessian:
Multiple design points in first and second-order reliability
Structural Safety, vol.20 (1998) -
P.-H. Waarts:
Structural reliability using finite element methods: an appraisal of DARS:
Directional Adaptive Response Surface Sampling
PhD. Thesis, Technical University of Delft, The Netherlands, 2000
See Also
SMART
SubsetSimulation
MonteCarlo
km
(in package DiceKriging)
svm
(in package e1071)
Examples
## Not run:
res = S2MART(dimension = 2,
lsf = kiureghian,
N1 = 1000, N2 = 5000, N3 = 10000,
plot = TRUE)
#Compare with crude Monte-Carlo reference value
reference = MonteCarlo(2, kiureghian, N_max = 500000)
## End(Not run)
#See impact of metamodel-based subset simulation with Waarts function :
## Not run:
res = list()
# SMART stands for the pure metamodel based algorithm targeting directly the
# failure domain. This is not recommended by its authors which for this purpose
# designed S2MART : Subset-SMART
res$SMART = mistral:::SMART(dimension = 2, lsf = waarts, plot=TRUE)
res$S2MART = S2MART(dimension = 2,
lsf = waarts,
N1 = 1000, N2 = 5000, N3 = 10000,
plot=TRUE)
res$SS = SubsetSimulation(dimension = 2, waarts, n_init_samples = 10000)
res$MC = MonteCarlo(2, waarts, N_max = 500000)
## End(Not run)