Environmental Engineering Reference
In-Depth Information
on geotechnical reliability as illustrated in Section 2.5. To facilitate the applications of the
copula theory for nonspecialists such as geotechnical engineers, the MATLAB codes for
identifying the best-fit marginal distributions and copulas using AIC and BIC are appended.
2.4 SIMulatIng bIVarIate DIStrIbutIon oF
Shear Strength ParaMeterS
With the identified best-fit marginal distributions and copula, the bivariate distribution of
shear strength parameters is readily determined using Equations 2.5 and 2.6 . In this sec-
tion, the simulation of the bivariate distribution of shear strength parameters is presented.
Section 2.4.1 summarizes the simulation algorithms of copulas and bivariate distribution. A
comparison between the simulated data and measured data underlying the bivariate distri-
bution of shear strength parameters is presented in Section 2.4.2.
2.4.1 algorithms for simulating bivariate distribution
The algorithms for generating m samples u m ×2 = [ U 1 , U 2 ] from a specified copula and
X m ×2 = [ X 1 , X 2 ] from a bivariate distribution are presented below. All the algorithms require
samples of two independent standard normal vectors. Each vector contains m standard nor-
mal random variables of zero mean and unit variance.
2.4.1.1 Gaussian copula
1. Simulate two independent standard normal vectors Z m ×2 = [ Z 1 , Z 2 ]. This can be
obtained using MATLAB: z = randn (m,2) and MATLAB function ra n d n('state',1)
is used to fix the initial seed. If the sample size m is small, the MATLAB command
z*inv(chol(cov(z))) is further adopted to eliminate the sampling correlations under-
lying the simulated Z m ×2 .
2. Find the Cholesky decomposition Q of r , in which r = [1 θ; θ 1] is a correlation matrix
containing the Gaussian copula parameters θ and Q = [1 θ; 0 (1−θ 2 ) 0.5 ] is an upper tri-
angular matrix. This can be done by applying the MATLAB function chol as below:
Q = chol( r ) (see Section 1.3.4 of Chapter 1) .
3. Set y = ZQ . Then two correlated standard normal vectors y m ×2 = [ Y 1 , Y 2 ] are obtained.
4. Set u = Φ( y ), in which Φ is the CDF of a standard normal variable. This can be
obtained using MATLAB: u = normcdf ( y ). Then two correlated standard uniform
vectors are obtained as u m ×2 = [ U 1 , U 2 ] belonging to the Gaussian copula.
2.4.1.2 Plackett copula
1. Simulate two independent standard normal vectors Z m ×2 = [ Z 1 , Z 2 ]. This can be obtained
using MATLAB: z = randn (m,2) and MATLAB function ra n d n('state',1) is
used to fix the initial seed. If the sample size m is small, the MATLAB command
z*inv(chol(cov(z))) is further adopted to eliminate the sampling correlations
underlying the simulated Z m ×2 .
2. Set v = Φ( Z ). Then two independent standard uniform vectors v m ×2 = [ V 1 , V 2 ] are
obtained. This can be realized from MATLAB using v = normcdf ( Z ).
3. Set
a = V 2 (1 − V 2 ),
b = θ + a (θ − 1) 2 ,
c = 2 a ( V 1 θ 2 + 1 − V 1 ) + θ(1-2 a ), and d =
2
θθ
+
41
aV
(
V
)(
1
θ
) (e.g., Nelsen 2006).
1
1
Search WWH ::




Custom Search