Calculate a failure probability with SMART method. This should not be used by itself but only through S2MART.
SMART(dimension,
lsf,
N1 = 10000,
N2 = 50000,
N3 = 200000,
Nu = 50,
lambda1 = 7,
lambda2 = 3.5,
lambda3 = 1,
tune_cost = c(1,10,100,1000),
tune_gamma = c(0.5,0.2,0.1,0.05,0.02,0.01),
clusterInMargin = TRUE,
alpha_margin = 1,
k1 = round(6*(dimension/2)^(0.2)),
k2 = round(12*(dimension/2)^(0.2)),
k3 = k2 + 16,
learn_db = NULL,
lsf_value = NULL,
failure = 0,
limit_fun_MH = NULL,
sampling_strategy = "MH",
seeds = NULL,
seeds_eval = NULL,
burnin = 30,
thinning = 4,
plot = FALSE,
limited_plot = FALSE,
add = FALSE,
output_dir = NULL,
z_MH = NULL,
z_lsf = NULL,
verbose = 0)
an integer giving the dimension of the input space.
the failure fonction.
an integer defining the number of uniform samples for (L)ocalisation stage.
an integer defining the number of uniform samples for (S)tabilisation stage.
an integer defining the number of gaussian standard samples for (C)onvergence stage, and so Monte-Carlo population size.
an integer defining the size of the first Design Of Experiment got by uniforme sampling in a sphere of radius the maximum norm of N3
standard samples.
a real defining the relaxing paramater in the Metropolis-Hastings algorithm for stage L.
a real defining the relaxing paramater in the Metropolis-Hastings algorithm for stage S.
a real defining the relaxing paramater in the Metropolis-Hastings algorithm for stage C. This shouldn't be modified as Convergence stage population is used to estimate failure probability.
a vector containing proposed values for the cost parameter of the SVM.
a vector containing proposed values for the gamma parameter of the SVM.
margin points to be evaluated during refinements steps are got by mean of clustering of the N1
, N2
or N3
points lying in the margin. Thus, they are not necessarily located into the margin. This boolean, if TRUE, enforces the selection of margin points by selecting points randomly in each cluster.
a real value defining the margin. While 1 is the ‘real’ margin for a SVM, one can decide here to stretch it a bit.
Rank of the first iteration of step S (ie stage L from 1 to k1
-1).
Rank of the first iteration of step C (ie stage S from k1
to k2
-1).
Rank of the last iteration of step C (ie stage C from k2
to k3
).
optional. A matrix of already known points, with dim : dimension
x number_of_vector.
values of the limit state function on the vectors given in learn_db
.
the value defining the failure domain F = { x | limit_state_function
(x) < failure
}.
optional. If the working space is to be reduced to some subset defining by a function, eg. in case of use in a Subset Simulation algorithm. As for the limit_state_function
, failure domain is defined by points whom values of limit_fun_MH
are negative.
either "AR" or "MH", to specify which sampling strategy is to be used when generating Monte-Carlo population in a case of subset simulation : "AR" stands for ‘accept-reject’ while "MH" stands for Metropolis-Hastings.
optional. If sampling_strategy
=="MH", seeds from which MH algorithm starts. This should be a matrix with ‘nrow’ = dimension
and ‘ncol’ = number of vector.
optional. The value of the limit_fun_MH
on the seeds
.
a burnin parameter for Metropolis-Hastings algorithm. This is used only for the last C step population while it is set to 0 elsewhere.
a thinning parameter for Metropolis-Hastings algorithm. This is used only for the last C step population while it is set to 0 elsewhere. thinning
= 0 means no thinning.
a boolean parameter specifying if function and samples should be plotted. The plot is refreshed at each iteration with the new data. Note that this option is only to be used when working on ‘light’ limit state functions as it requires the calculus of this function on a grid of size 161x161 (plot is done a -8:8 x -8:8 grid with 161 meshes.
only a final plot with limit_state_function
, final DOE and metamodel. Should be used with plot
==FALSE.
optional. "TRUE" if plots are to be added to the current active device.
optional. If plots are to be saved in .jpeg in a given directory. This variable will be pasted with "_SMART.jpeg" to get the full output directory.
optional. For plots, if metamodel has already been evaluated on the grid then z_MH
(from outer function) can be provided to avoid extra computational time.
optional. For plots, if LSF has already been evaluated on the grid then z_lsf
(from outer function) can be provided to avoid extra computational time.
Eiher 0 for an almost no output message, or 1 for medium size or 2 for full size
An object of class list
containing the failure probability and some more outputs as described below:
The estimated failure probability.
The coefficient of variation of the Monte-Carlo probability estimate.
The gamma value corresponding to the correlation between Monte-Carlo samples got from Metropolis-Hastings algorithm.
The total number of calls to the limit_state_function
.
The final learning database, ie. all points where limit_state_function
has been calculated.
The value of the limit_state_function
on the learning database.
The metamodel approximation of the limit_state_function
. A call output is a list containing the value and the standard deviation.
The final metamodel.
Points in the failure domain according to the metamodel.
Evaluation of the metamodel on these points.
If plot
==TRUE, the evaluation of the metamodel on the plot grid.
SMART
is a reliability method proposed by J.-M. Bourinet et al. It makes uses of a SVM-based metamodel to approximate the limit state function and calculate the failure probability with a crude Monte-Carlo method using the metamodel-based limit state function. As SVM is a classification method, it makes use of limit state function values to create two classes : greater and lower than the failure threshold. Then the border is taken as a surogate of the limit state function.
Concerning the refinement strategy, it distinguishes 3 stages, known as Localisation, Stalibilsation and Convergence stages. The first one is proposed to reduce the margin as much as possible, the second one focuses on switching points while the last one works on the final Monte-Carlo population and is designed to insure a strong margin ; see F. Deheeger PhD thesis for more information.
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 mecano-fiabiliste : 2SMART - methodologie d'apprentissage stochastique en fiabilite PhD. Thesis, Universite Blaise Pascal - Clermont II, 2008
SubsetSimulation
MonteCarlo
svm
(in package e1071)
S2MART