Last chance! 50% off unlimited learning
Sale ends in
outer_nacopula
, specifically), aka
sampling nested Archimedean copulas will generate n
random vectors of dimension $d$ (= dim(x)
).rnacopula(n, copula, x, ...)
copula
argument.numeric
matrix containing the generated vectors of
random variates from the nested Archimedean copula object copula
.rnchild()
on
each child copula (which itself recursively descends the tree implied
by the nested Archimedean structure). The algorithm is based on a
mixture representation of the generic distribution functions
$F_{0}$ and $F_{01}$ and is presented in
McNeil (2008) and Hofert (2011a). Details about how to efficiently sample the
distribution functions $F_{0}$ and $F_{01}$ can be found in
Hofert (2010), Hofert (2012), and Hofert and Hofert, M. (2010). Efficiently sampling nested Archimedean copulas. Computational Statistics & Data Analysis 55, 57--70.
Hofert, M. (2011a). A stochastic representation and sampling algorithm for nested Archimedean copulas. Journal of Statistical Computation and Simulation, in press.
Hofert, M. (2012). Sampling exponentially tilted stable distributions. ACM Transactions on Modeling and Computer Simulation 22, 1 (3rd article).
Hofert, M. and
rnchild
; classes "nacopula "
and
"outer_nacopula "
; see also onacopula()
.
rnacModel
creates random nacopula models, i.e.,
the input copula
for rnacopula(n, copula)
. Further, those of the Archimedean families, for example,
copGumbel
.
## Construct a three-dimensional nested Clayton copula with parameters
## chosen such that the Kendall's tau of the respective bivariate margins
## are 0.2 and 0.5 :
C3 <- onacopula("C", C(copClayton@iTau(0.2), 1,
C(copClayton@iTau(0.5), c(2,3))))
C3
stopifnot(nrow(rnacopula(1, C3)) == 1,
nrow(rnacopula(0, C3)) == 0)
## Sample n vectors of random variates from this copula. This involves
## sampling exponentially tilted stable distributions
n <- 1000
U <- rnacopula(n, C3)
## Plot the drawn vectors of random variates
splom2(U)
Run the code above in your browser using DataLab