coCOP | R Documentation |
Compute the co-copula (function) from a copula (Nelsen, 2006, pp. 33–34), which is defined as
\mathrm{Pr}[U > u \mathrm{\ or\ } V > v] = \mathbf{C}^{\star}(u',v') = 1 - \mathbf{C}(u',v')\mbox{,}
where \mathbf{C}^{\star}(u',v')
is the co-copula and u'
and v'
are exceedance probabilities and are equivalent to 1-u
and 1-v
respectively. The co-copula is the expression for the probability that either U > u
or V > v
when the arguments to \mathbf{C}^{\star}(u',v')
are exceedance probabilities, which is unlike the dual of a copula (function) (see duCOP
) that provides \mathrm{Pr}[U \le u \mathrm{\ or\ } V \le v]
.
The co-copula is a function and not in itself a copula. Some rules of copulas mean that \mathbf{C}(u,v) + \mathbf{C}^{\star}(u',v') \equiv 1
or in copBasic syntax that the functions COP(u,v)
+ coCOP(u,v)
equal unity if the exceedance
argument to coCOP
is set to FALSE
.
The function coCOP
gives “risk” against failure if failure is defined as either hazard source U
or V
occuring by themselves or if both occurred at the same time. Expressing this in terms of an annual probability of occurrence (q
), one has
q = 1 - \mathrm{Pr}[U > u \mathrm{\ or\ } V > v] = \mathbf{C}^{\star}(u',v') \mbox{\ or}
in R code q <- coCOP(u,v, exceedance=FALSE, ...)
. So, in yet other words and as a mnemonic: A co-copula is the probabililty of exceedance if the hazard sources collaborate or cooperate to cause failure. Also, q
can be computed by q <-
coCOP(1 - u, 1 - v,
exceedance=TRUE, ...)
.
coCOP(u, v, cop=NULL, para=NULL, exceedance=TRUE, ...)
u |
Exceedance probability ( |
v |
Exceedance probability ( |
cop |
A copula function; |
para |
Vector of parameters or other data structure, if needed, to pass to the copula; |
exceedance |
A logical controlling the probability direction. Are |
... |
Additional arguments to pass to the copula. |
The value(s) for the co-copula are returned.
The author (Asquith) finds the use of exceedance probabilities delicate in regards to Nelsen's notation. The coCOP
function and surCOP
have the exceedance
argument to serve as a reminder that the co-copula as defined in the literature uses exceedance probabilities as its arguments, although the arguments as code u
and v
do not mimic the overline nomenclature (\,\overline{\cdots}\,
) of the exceedance (survival) probabilities.
W.H. Asquith
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
COP
, surCOP
, duCOP
u <- 1 - runif(1); v <- 1 - runif(1) # as exceedance, in order to reinforce the
# change to exceedance instead of nonexceedance that otherwise dominates this package
message("Exceedance probabilities u' and v' are ", u, " and ", v)
coCOP(u,v,cop=PLACKETTcop, para=10) # Positive association Plackett
# computation using manual manipulation to nonexceedance probability
1 - COP(cop=PSP,(1-u),(1-v))
# computation using internal manipulation to nonexceedance probability
coCOP(cop=PSP, u, v)
# Next demonstrate COP + coCOP = unity.
"MOcop.formula" <- function(u,v, para=para, ...) { # Marshall-Olkin copula
alpha <- para[1]; beta <- para[2]; return(min(v*u^(1-alpha), u*v^(1-beta)))
}
"MOcop" <- function(u,v, ...) { asCOP( u, v, f=MOcop.formula, ...) }
u <- 0.2; v <- 0.75; ab <- c(1.5, 0.3)
COP(u,v, cop=MOcop, para=ab) + coCOP(1-u,1-v, cop=MOcop, para=ab) # UNITY
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.