W: The Fréchet-Hoeffding Lower-Bound Copula

WR Documentation

The Fréchet–Hoeffding Lower-Bound Copula

Description

Compute the Fréchet–Hoeffding lower-bound copula (Nelsen, 2006, p. 11), which is defined as

\mathbf{W}(u,v) = \mathrm{max}(u+v-1,0)\mbox{.}

This is the copula of perfect anti-association (countermonotonicity, perfectly negative dependence) between U and V and is sometimes referred to as the countermonotonicity copula. Its opposite is the \mathbf{M}(u,v) copula (comonotonicity copula; M), and statistical independence is the \mathbf{\Pi}(u,v) copula (P).

Usage

W(u, v, ...)

Arguments

u

Nonexceedance probability u in the X direction;

v

Nonexceedance probability v in the Y direction; and

...

Additional arguments to pass.

Value

Value(s) for the copula are returned.

Author(s)

W.H. Asquith

References

Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.

See Also

M, P, breveCOP, kfuncCOP

Examples

W(0.41, 0.60) # just barely touching the support, so small, 0.01
W(0.25, 0.45) # no contact with the support, so 0
W(1,    1   ) # total consumption of the support, so 1

## Not run: 
  # This example shows the impact of the "breve" permutation asymmetry addition
  # to perfect negative correlation that though the plot of u,v changes with
  # spread direction with sign of the breve, that the distribution function of
  # the joint distribution still ranges uniformly 1 for breve = 0 down towards
  # independence as breve approaches -1 and + 1. Then, repeat similarily for
  # perfect positive correlation.
  ff <- c(0.001, seq(0.01, 0.99, by=0.01), 0.999)
  bs <- seq(-1, +1, by=0.1)
  plot(c(0,1), c(0,1), type="n", xlab="Joint probability (Kendall function)",
       ylab="Nonexceedance probability of Kendall function")
  for(b in bs) {
    lines(ff, kfuncCOP(ff, cop=breveCOP, para=list(cop=W, breve=b)),
          col=ifelse(b < 0, grey(0.8), "blue"), lwd=ifelse(b < 0, 6, 1))
  }
  # The top line will be W (breve = 0) and therefore its Kendall function is
  # uniform distribution, and the lowest line is independence.
  for(b in bs) {
    lines(ff, kfuncCOP(ff, cop=breveCOP, para=list(cop=M, breve=b)),
          col=ifelse(b < 0, grey(0.8), "seagreen"), lwd=ifelse(b < 0, 6, 1))
  }
  # The bottom line will be M (breve = 0) and therefore its Kendall function is
  # perfect correlation. The top line by M and breve == +/-1 is independence
  lines(ff, kfuncCOP(ff, cop=P), col="red", lwd=3) # draw independence in red
  legend("bottomright", c("Breve in (0,+1] on M copula by breveCOP()",
                          "Breve in (0,+1] on W copula by breveCOP()",
                          "Perfect independence by P() copula",
                          "Breves in [-1, 0] in M or W copulas by breveCOP()"),
         lwd=c(1,1,3,6), col=c("seagreen", "blue", "red", grey(0.8))) # 
## End(Not run)

copBasic documentation built on July 23, 2026, 1:07 a.m.