CODES / reliability / subset

Subset Simulations

Contents

Syntax

Description

For a given limit state function $g$ and a joint PDF $\mathbf{f}_\mathbf{X}$, the probability of failure is:

$$P_f=\int_\Omega I[g(\mathbf{x})\leq
0]\mathbf{f}_\mathbf{X}(\mathbf{x})\mathrm d\mathbf{x}$$

A Subset Simulation (Au & Beck, 2001) estimates the probability of failure as a product of larger conditional probabilities:

$$P_f=\prod P_f^{(i)}$$

where $P_f^{(i)}$ is the $i^{th}$ intermediate probability of failure. These intermediate probabilities are estimated by successive Markov-Chain Monte Carlo simulations (Au & Beck, 2001).

In general, the probability of failure is dependent on distribution hyper-parameters $\theta$ and deterministic variables $\mathbf{z}$:

$$P_f=\int I[g(\mathbf{x},\mathbf{z})\leq
0]\mathbf{f}_\mathbf{X}(\mathbf{x}|\theta)\mathrm d\mathbf{x}$$

Derivatives of the probability of failure can be derived for hyper-parameters:

$$\begin{array}{rcl}\displaystyle\frac{dP_f}{d\theta}&=&\displaystyle\frac{d}{d\theta}\int I[g(\mathbf{x},\mathbf{z})\leq 0]f_\mathbf{X}(\mathbf{x}|\theta)d\mathbf{x}\\&=&\displaystyle\int I[g(\mathbf{x},\mathbf{z})\leq 0]\frac{d\ln f_\mathbf{X}}{d\theta}f_\mathbf{X}(\mathbf{x}|\theta)d\mathbf{x}\end{array}$$

An expression of sensitivity estimates with respect to $\theta$ as a cross-product of the Subset Simulation can be found in Song et al. (2009).

$$\begin{array}{rcl}\displaystyle\frac{dP_f}{d\mathbf{z}}&=&\displaystyle\frac{d}{d\mathbf{z}}\int I[g(\mathbf{x},\mathbf{z})\leq 0]f_\mathbf{X}(\mathbf{x}|\theta)d\mathbf{x}\\&=&\displaystyle-\int\frac{dg}{d\mathbf{z}}\delta[g(\mathbf{x},\mathbf{z})]f_\mathbf{X}(\mathbf{x}|\theta)d\mathbf{x}\end{array}$$

An expression of sensitivity estimates with respect to $\mathbf{z}$ as a cross-product of the Subset Simulation can be found in Lacaze et al. (2015).

Parameters

param value Description
'PDFs_target' function_handle, { [ ] } Target marginal pdfs. For a (n x dim) sample, PDFs_target(x) should return a (n x dim) matrix of marginal PDF values. Default is @(x)normpdf(x).
'sampler' function_handle, { [ ] } A function to get samples for the first step. Default is @(N)normrnd(0,1,N,dim).
'prop_rand' function_handle, { [ ] } Proposal random sampler. For a (n x dim) sample x, returns a (n x dim) sample of proposed candidates. By default, uses normal with mean x and standard deviation 1.
'CoV' numeric, {1} Coefficient in % to be achieved on the CMC estimate of the first intermediate probability.
'N' numeric, { [ ] } Number of samples to be used at the first step. If default, uses 'N' such that 'CoV' is satisfied.
'CoV_bound' logical, {false} Wether the bound of the estimator coefficient of variation should be computed. Note that it might substantially increase the computational time.
'step_Pf' numeric, {0.1} Step probability of failure.
'verbose' logical, {false} Verbose level.
'burnin' positive integer, {0} Number of samples to be “burned” at the begining.
'store' logical, {false} Wether the Monte-Carlo sample should be stored and returned.
'Pf_limit' positive integer, {1e-8} Lowest probability to be estimated.
'vectorial' logical, {false} Wether the limit state function g is vectorial or not. Vectorization should always be used if possible and 'vectorial' set to true.
'lnPDF' function_handle Log of joint PDF as a function of (x,theta) for dPfdtheta (see Mini Tutorial for an example).
'dlnPDF' function_handle Derivative of log of joint PDF with respect to theta as a function of (x,theta)for dPfdtheta (see Mini Tutorial for an example).
'theta' real value Theta value for dPfdtheta (see Mini Tutorial for an example).
'nz' positive integer Number of deterministic variables for dPfdz. g is expected to return two outputs, g values and g gradients with respect to z (see Mini Tutorial for an example).
'frac' positive integer Alpha fraction for dPfdz (see Mini Tutorial for an example and Lacaze et al. for details).
'dirac' {'gauss'}, 'tgauss', 'poisson', 'sinc', 'bump' Dirac approximation function (see Mini Tutorial for an example and Lacaze et al. for details).

Example

Compute and plot a generalized "max-min" sample

g=@CODES.test.lin;
res=CODES.reliability.subset(g,2,'vectorial',true);
disp(res)
          Pf: 0.0013
        beta: 3.0060
       steps: 3
    LS_count: 269275

Demonstration

A complete demonstration of the capabilities of the subset function.

References

See also

form | iform | sorm | mc

Copyright © 2015 Computational Optimal Design of Engineering Systems (CODES) Laboratory. University of Arizona.

Computational Optimal Design of
Engineering Systems