composite2COP: Composition of Two Copulas with Two Compositing Parameters...

composite2COPR Documentation

Composition of Two Copulas with Two Compositing Parameters (Khoudraji Device)

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 \mathbf{A} and \mathbf{B} be copulas with respective parameters \Theta_\mathbf{A} and \Theta_\mathbf{B}, then

\mathbf{C}_{\alpha,\beta}(u,v) = \mathbf{A}(u^\alpha, v^\beta) \cdot \mathbf{B}(u^{1-\alpha},v^{1-\beta})\mbox{,}

defines a family of copulas \mathbf{C}_{\alpha,\beta; \Theta_\mathbf{A}, \Theta_\mathbf{B}} with two compositing parameters \alpha,\beta \in \mathcal{I}:[0,1]. In particular if \alpha = \beta = 1, then \mathbf{C}_{1,1} = \mathbf{A}, and if \alpha = \beta = 0, then \mathbf{C}_{0,0} = \mathbf{B}. For \alpha \ne \beta, the \mathbf{C}_{\alpha,\beta} is in general asymmetric that is \mathbf{C}(u,v) \ne \mathbf{C}(v,u) for some (u,v) \in \mathcal{I}^2. This construction technique is named the Khoudraji device within the copula package (see khoudrajiCopula therein) (Hofert et al., 2018, p. 120).

It is important to stress that copulas \mathbf{A}_{\Theta_A} and \mathbf{B}_{\Theta_B} can be of different families and each copula parameterized accordingly by the vector of parameters \Theta_A and \Theta_B. This is an interesting feature in the context of building complex structures when pursuing asymmetric measures of dependency such as the L-comoments. Symmetry of the copula \mathbf{C} 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 \mathbf{C}(u,v) be a symmetric copula, \mathbf{C} \ne \mathbf{\Pi} (for \mathbf{\Pi} see P). A family of asymmetric copulas \mathbf{C}_{\alpha,\beta} with two composition parameters 0 < \alpha,\beta < 1, \mbox{and\ } \alpha \ne \beta that also includes \mathbf{C}(u,v) as a limiting case and is given by

\mathbf{C}_{\alpha,\beta}(u,v) = u^\alpha v^\beta \cdot \mathbf{C}(u^{1-\alpha},v^{1-\beta})\mbox{.}

Hofert et al. (2018, p. 121) comment that “from a practical perspective, a useful subset of families constructed from [the] Khoudraji device is obtained” by choosing independence copula (\mathbf{\Pi}, P) for one of the copula and that choosing [\alpha or \beta] relative close to 1 produces nonexchangable [see isCOP.permsym] versions of \mathbf{C}(u,v) (meaning \mathbf{C}(u,v) \ne \mathbf{C}(v,u)). For the copBasic package, the khoudraji1COP() and khoudrajiPCOP() (the P meaning P) aliases are added for programming clarity for developers desiring to have contrasting copula calls to the three compositing copula: composite1COP, composite2COP(), and composite3COP.

Usage

composite2COP(u, v, para, ...)
khoudraji2COP(u, v, para, ...)

Arguments

u

Nonexceedance probability u in the X direction;

v

Nonexceedance probability v in the Y direction;

para

A special parameter list (see Note); and

...

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 \alpha compositing parameter;

beta

— The \beta compositing parameter;

cop1

— Function of the first copula \mathbf{A};

cop2

— Function of the second copula \mathbf{B};

para1

— Vector of parameters \Theta_\mathbf{A} for \mathbf{A}; and

para2

— Vector of parameters \Theta_\mathbf{B} for \mathbf{B}.

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

Hofert, M., Kojadinovic, I., Mächler, M., and Yan, J., 2018, Elements of copula modeling with R: Dordrecht, Netherlands, Springer.

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)

wasquith/copBasic documentation built on Feb. 17, 2025, 11:39 a.m.