Learn R Programming

mistral (version 2.2.2)

S2MART: 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
)

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 lsf.

X

The final learning database, ie. all points where lsf has been calculated.

y

The value of the lsf on the learning database.

meta_model

The final metamodel. An object from e1071.

Arguments

dimension

the dimension of the input space

lsf

the function defining the failure domain. Failure is lsf(X) < failure

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 lsf and is thus only for training purpose

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

Author

Clement WALTER clementwalter@icloud.com

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 bigger Nn, the more accurate the ‘decreasing speed’ specified by the alpha_quantile value and so the smaller the number of subsets

  • total number of calls to refine the metamodel at each threshold

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

Run this code
if (FALSE) {
  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)
}

#See impact of metamodel-based subset simulation with Waarts function :
if (FALSE) {
  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)
}

Run the code above in your browser using DataLab