composite2COP {copBasic} | R Documentation |
Composition of Two Copulas with Two Compositing Parameters
Description
The composition of two copulas (Salvadori et al., 2007, p. 266, prop. C.3) provides for more sophisticated structures of dependence between variables than many single parameter copula can provide. Further, asymmetrical copulas are readily obtained from symmetrical copulas. Let and
be copulas with respective parameters
and
, then
defines a family of copulas with two compositing parameters
. In particular if
, then
, and if
, then
. For
, the
is in general asymmetric that is
for some
. This construction technique is named Khoudraji device within the copula package (see
khoudrajiCopula
therein).
It is important to stress that copulas and
can be of different families and each copula parameterized accordingly by the vector of parameters
and
. This is an interesting feature in the context of building complex structures when pursuing asymmetric measures of dependency such as the L-comoments. Do the copulas
and
need be symmetric? The Salvadori reference makes no stated restriction to that effect. Symmetry of the copula
is required for the situation that follows, however.
It is possible to simplify the construction of an asymmetric copula from a symmetric copula by the following. Let be a symmetric copula,
(for
see
P
). A family of asymmetric copulas with two composition parameters
that also includes
as a limiting case and is given by
The composite2COP
function is based on the more general result given in the former rather than the later mathematical definition to provide additional flexibility. For simpler case of composition involving only one copula, composite1COP
is available, and a more complex (extended) composition is available in composite3COP
.
Usage
composite2COP(u, v, para, ...)
Arguments
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
A special parameter |
... |
Additional arguments to pass to the copulas. |
Value
Value(s) for the composited copula is returned.
Note
The following descriptions list in detail the structure and content of the para
argument:
alpha
— The
compositing parameter;
beta
— The
compositing parameter;
cop1
— Function of the first copula
;
cop2
— Function of the second copula
;
para1
— Vector of parameters
for
; and
para2
— Vector of parameters
for
.
The para
argument of this function also can be passed to composite1COP
; albeit, the second copula and its parameters would not be used. A more complex (extended) composition in composite3COP
extends this basic parameter structure.
Author(s)
W.H. Asquith
References
Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in Nature—An approach using copulas: Springer, 289 p.
See Also
COP
, breveCOP
, composite1COP
, composite3COP
,
convexCOP
, glueCOP
Examples
alpha <- 0.24; beta <- 0.23; Theta1 <- NA; Theta2 <- NA
# The W() and PSP() copulas do not take parameters, but example shows how the
# parameters would be set should either or both of the copulas require parameters.
para <- list(alpha=alpha, beta=beta, cop1=W, cop2=PSP, para1=Theta1, para2=Theta2)
print(composite2COP(0.4, 0.6, para)) # 0.2779868
# In this example, the N4212cop uses "3" as its parameter value.
para <- list(alpha=alpha, beta=beta, cop1=W, cop2=N4212cop, para1=Theta1, para2=3)
print(composite2COP(0.4, 0.6, para)) # 0.3387506
## Not run:
# This example does a great job of showing a composited copula with a near singularity,
# but with leakage of chance to the upper left. The example is also critical because
# it shows that gridCOP is returning a matrix in the proper orientation relative to
# the level.curvesCOP and simCOP functions. Example is cross-ref'ed from gridCOP() docs.
layout(matrix(1:2,byrow=TRUE))
para <- list(alpha=0.5, beta=0.90, cop1=M, cop2=N4212cop, para1=NA, para2=1.4)
image(gridCOP(cop=composite2COP, para=para, delta=0.01), col=terrain.colors(30),
xlab="U, NONEXCEEDANCE PROBABILITY", ylab="V, NONEXCEEDANCE PROBABILITY")
D <- simCOP(n=2000, cop=composite2COP, para=para, ploton=FALSE, pch=4, col=4, cex=0.75)
level.curvesCOP(cop=composite2COP, para=para, ploton=FALSE, delt=0.05)
mtext("Theoretical composited copula, level curves, and simulation")
emp <- EMPIRgrid(para=D, deluv=0.05) # CPU heavy
image(emp$empcop, col=terrain.colors(30) ) # image orientation is correct!
# Depending on balance between sample size, deluv, delu, and delt, one or more:
# Error in uniroot(func, interval = c(0, 1), u = u, LHS = t, cop = cop, :
# f() values at end points not of opposite sign
# warnings might be triggered. This is particularly true because of the flat derivative
# above the near singularity in this example composited copula.
points(D$U, D$V, pch=4, col=4, cex=0.75)
level.curvesCOP(cop=EMPIRcop, para=D, ploton=FALSE, delu=0.02, delt=0.05)
mtext("Empirical copula from n=2000 simulation") #
## End(Not run)