composite1COP | R Documentation |
The composition of a single copula (Salvadori et al., 2006, p. 266, prop. C.3) is created by the following result related to “composition of copulas” in that reference. This construction technique is named the Khoudraji device within the copula package (see khoudrajiCopula
therein) (Hofert et al., 2018, pp. 120–121). Suppose \mathbf{C}(u,v)
is a symmetric copula (see COP
) with parameters \Theta
and \mathbf{C} \ne \mathbf{\Pi}
(for \mathbf{\Pi}
see P
), then a family of generally asymmetric copulas \mathbf{C}_{\alpha,\beta; \Theta}
with two compositing parameters 0 < \alpha,\beta < 1
, and \alpha \ne \beta
, which also includes just the copula \mathbf{C}(u,v)
as a limiting case for \alpha = \beta = 0
and is given by
\mathbf{C}_{\alpha,\beta}(u,v) = u^\alpha v^\beta \cdot \mathbf{C}(u^{1-\alpha},v^{1-\beta})\mbox{.}
The composite1COP
function provides the means for inserting permutation asymmetry from a permutation symmetric copula as described by Joe (2017, p. 124), but do so in a more general way through the provision of two and not just one parameter. Joe's description is supported herein if one of the \alpha
or \beta
is held at zero. Very loosely, the \alpha > 0
kicks probability density down towards the lower right corner, whereas \beta > 0
kicks density up towards the upper left corner. Finally, the composite2COP
function is based on a slighty more general result (see composite2COP
for further details of copula composition and more contextualization of Hofert et al. (2018) remarks on the Khoudraji device).
composite1COP(u, v, para, ...)
khoudraji1COP(u, v, para, ...)
khoudrajiPCOP(u, v, para, ...)
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
A special parameter |
... |
Additional arguments to pass to the copula. |
Value(s) for the composited copula are returned.
The following descriptions list in detail the structure and content of the para
argument:
alpha
— The \alpha
compositing parameter;
beta
— The \beta
compositing parameter;
cop1
— Function of the copula \mathbf{C}(u,v)
; and
para1
— Vector of parameters \Theta_\mathbf{C}
for \mathbf{C}(u,v)
.
For the para
argument, the same nomenclature as used for composite2COP
is used with obviously cop2
and para2
dropped for composite1COP
. The cop1
and para1
names remain enumerated for composite1COP
so that the para
argument of the more general composite2COP
function could be used directly in composite1COP
. Albeit, the second copula and its parameters would not be used. A more complex (extended) composition in composite3COP
extends this basic parameter structure.
W.H. Asquith
Hofert, M., Kojadinovic, I., Mächler, M., and Yan, J., 2018, Elements of copula modeling with R: Dordrecht, Netherlands, Springer.
Joe, H., 2017, Parametric copula families for statistical models (chap. 8) in Copulas and dependence models with applications—Contributions in honor of Roger B. Nelsen, eds. Flores, U.M., Amo Artero, E., Durante, F., Sánchez, J.F.: Springer, Cham, Switzerland, ISBN 978–3–319–64220–9, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/978-3-319-64221-5")}.
Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in Nature—An approach using copulas: Springer, 289 p.
COP
, breveCOP
, composite2COP
, composite3COP
,
convexCOP
, glueCOP
## Not run:
alpha <- 0.24; beta <- 0.23; Theta1 <- NA;
# W() does not use a parameter, but show how a parameter would be set if needed.
para <- list(alpha=alpha, beta=beta, cop1=W, para1=Theta1)
t <- composite1COP(0.4, 0.6, para)
if( t != W(0.4, 0.6)) message("Not equal as expected") #
## End(Not run)
## Not run:
# Hofert et al. (2018, p. 124, eq. 3.15)
# No matter what copula is chosen, Kendall tau must be
# Tau <= (alpha*beta)/(alpha + beta - alpha*beta)
# and those authors report Tau <= 0.5816. We can test this computation by
para <- list(cop=M, para=NULL, alpha=1-0.6, beta=1-0.95)
tauCOP(khoudrajiPCOP, para=para) # 0.5816283
## End(Not run)
## Not run:
# Next use this as a chance to check logic flow through the various
# "compositing" operators and their as needed dispatch to COP().
my.para <- list(cop1=GHcop, para1=exp(+1.098612) + 1,
cop2=PLcop, para2=exp(-1.203973),
alpha=0.5, beta=0.25, kappa=0.1, gamma=0.1,
weights=c(0.95, 0.05))
# uses cop1/2, para1/2, only weights
nustarCOP(cop=convexCOP, para=my.para) # 0.8570434
# uses cop1/2, para1/2, only alpha
nustarCOP(cop=convex2COP, para=my.para) # 0.2697063
# uses cop1, para1, only alpha / beta
nustarCOP(cop=composite1COP, para=my.para) # 0.5103119
# uses cop1/2, para1/2, only alpha / beta
nustarCOP(cop=composite2COP, para=my.para) # 0.0714571
# uses cop1/2, para1/2, only alpha, beta, kappa, gamma
nustarCOP(cop=composite3COP, para=my.para) # 0.0792634
## End(Not run)
## Not run:
# Hofert et al. (2018, p. 121, fig. 3.20, left panel)
# The ordering of copula and the "1-" operations on alpha and beta in copBasic
# differ from that shown in Hofert et al. (2018), but instead of their
# "kho(0.6, 0.95)(CLcop(6), P)" notation for the their left panel, in copBasic
# we can reproduce their simulation by the following. So, swapping notation
# between the copula package (khoudarjiCopula) and copBasic would be required.
para <- list(cop=CLcop, para=6, alpha=1-0.95, beta=1-0.6)
UV <- simCOP(n=5000, cop=khoudrajiPCOP, para=para) #
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.