The author has often emphasized surCOP). This syntax tries to mimic and accentuate the word usage in Nelsen (2006) and Joe (2014). The
The italics then is used to highlight this vocabulary in order to draw connections between concepts. In conjunction with the function summary in copBasic-package, the extensive function cross referencing throughout and indexing of this documentation should also help. The author had no experience with copulas and really multivariate probability theory---although applied problems were beginning to emerge---prior to happening upon Nelsen (2006). The
A few comments on notation are needed. A bold math typeface is used to represent a copula such as $\mathbf{\Pi}$ (see P) for the independence copula. The syntax $\mathcal{R}\times\mathcal{R} \equiv \mathcal{R}^2$ denotes the orthogonal domain of two real numbers, and $[0,1]\times [0,1]$ $\equiv$ $\mathcal{I}\times\mathcal{I} \equiv \mathcal{I}^2$ denotes the orthogonal domain on the unit square of probabilities. Limits of integration $[0,1]$ or $[0,1]^2$ involving copulas thus are shown as $\mathcal{I}$ and $\mathcal{I}^2$, respectively.
The random variables $X$ and $Y$ respectively denote the horizontal and vertical directions in $\mathcal{R}^2$. Their probabilistic counterparts are uniformly distributed random variables on $[0,1]$, are respectively denoted as $U$ and $V$, and necessarily also are the directions in $\mathcal{I}^2$. Often realizations of these random variables are respectively $x$ and $y$ for $X$ and $Y$ and $u$ and $v$ for $U$ and $V$.
There is an obvious difference between nonexceedance probability $F$ and exceedance probability $1-F$. Both $u$ and $v$ are measures in nonexceedance (cumulative probability). Arguments to many functions herein are u $= u$ and v $= v$ and are almost exclusively nonexceedance but there are instances for which u $= 1 - u = u'$ and v $= 1 - v = v'$.
Helpful Navigation of the copBasic Package
Some helpful guideposts into the package are listed in the following table:
COP copula theory
Survival copula $\hat\mathbf{C}(u',v')$ surCOP copula theory
Joint survival function $\overline{\mathbf{C}}(u,v)$ surfuncCOP copula theory
Co-copula $\mathbf{C}^\star(u',v')$ coCOP copula theory
Dual of a copula $\tilde\mathbf{C}(u,v)$ duCOP copula theory
Primary copula diagonal $\delta(t)$ diagCOP copula theory
Secondary copula diagonal $\delta^\star(t)$ diagCOP copula theory
Inverse copula diagonal $\delta^{(-1)}(f)$ diagCOPatf copula theory
Joint probability ${-}{-}$ jointCOP copula theory
Blomqvist's Beta $\beta_\mathbf{C}$ blomCOP bivariate association
Gini's Gamma $\gamma_\mathbf{C}$ giniCOP bivariate association
Hoeffding's Phi $\Phi_\mathbf{C}$ hoefCOP bivariate association
Joe's Nu-Skew $\nu_\mathbf{C}$ joeskewCOP bivariate association
Joe's Nu-Skew-Star $\nu^\star_\mathbf{C}$ joeskewCOP bivariate association
Lp distance $\Phi_\mathbf{C} \rightarrow L_p$ LpCOP bivariate association
Kendall's Tau $\tau_\mathbf{C}$ tauCOP bivariate association
Kendall's Measure $K_\mathbf{C}(z)$ kmeasCOP copula theory
Kendall's Function $F_K(z)$ kfuncCOP copula theory
Inverse Kendall's Function $F_K^{(-1)}(z)$ kfuncCOPinv copula theory
An L-moment of $F_K(z)$ $\lambda_r(F_K)$ kfuncCOPlmom L-moment theory
L-moments of $F_K(z)$ $\lambda_r(F_K)$ kfuncCOPlmoms L-moment theory
Semi-correlations $\rho_N^{-}(a)$ semicorCOP bivariate tail association
Semi-correlations $\rho_N^{+}(a)$ semicorCOP bivariate tail association
Spearman's Footrule $\psi_\mathbf{C}$ footCOP bivariate association
Spearman's Rho $\rho_\mathbf{C}$ rhoCOP bivariate association
Schweizer and Wolff's Sigma $\sigma_\mathbf{C}$ wolfCOP bivariate association
Lower-bounds copula $\mathbf{W}(u,v)$ W copula
Independence copula $\mathbf{\Pi}(u,v)$ P copula
Upper-bounds copula $\mathbf{M}(u,v)$ M copula
FRECHETcop copula
Galambos copula $\mathbf{GL}(u,v)$ GLcop copula
Gumbel-Hougaard copula $\mathbf{GH}(u,v)$ GHcop copula
HRcop copula
Plackett copula $\mathbf{PL}(u,v)$ PLACKETTcop copula
PSP copula $\mathbf{PSP}(u,v)$ PSP copula
Density $c(u,v)$ densityCOP copula density
Density visualization ${-}{-}$ densityCOPplot copula density
Empirical copula $\mathbf{C}_n(u,v)$ EMPIRcop copula
Empirical simulation ${-}{-}$ EMPIRsim copula simulation
Empirical simulation ${-}{-}$ EMPIRsimv copula simulation
Empirical copulatic surface ${-}{-}$ EMPIRgrid copulatic surface
Parametric copulatic surface ${-}{-}$ gridCOP copulatic surface
Parametric simulation ${-}{-}$ simCOP copula simulation
Parametric simulation ${-}{-}$ simCOPmicro copula simulation
}
Several of the functions listed above are measures of tauCOP; Spearman's Rho, rhoCOP) are familiar and Rprovides native support for their sample estimation of course but each function can be used to call R's cor() function for parallelism to the other measures. The other measures (Blomqvist's Beta, Gini's Gamma, Hoeffding's Phi, Schweizer and Wolff's Sigma, Spearman's Footrule) support sample estimation by specially formed calls to their respective functions: blomCOP, giniCOP, hoefCOP, wolfCOP, and footCOP. The documentation for Gini's Gamma (giniCOP) shows extensive use of theoretical and sample compuations for all of these functions. Lastly and related, bivariate skewness measures are supported in joeskewCOP (nuskewCOP and nustarCOP) and uvlmoms (uvskew). Extensive discussion and example computations of bivariate skewness is provided in the joeskewCOP documentation.
Bivariate random simulation by several functions is identified in the previous table. The simCOPmicro, simCOP, derCOPinv, derCOPinv2). There are many other methods in the literature and available in R. A comparison of methods is made in the Examples section of the Gumbel-Hougaard copula (GHcop).
Several functions in COPinv copula operator
Copula inversion $U$ wrt $V$ COPinv2 copula operator
Copula derivative $\delta \mathbf{C}/\delta u$ derCOP copula operator
Copula derivative $\delta \mathbf{C}/\delta v$ derCOP2 copula operator
Copula derivative inversion $V$ wrt $U$ derCOPinv copula operator
Copula derivative inversion $U$ wrt $V$ derCOPinv2 copula operator
Level curves $t \mapsto \mathbf{C}(u=U, v)$ joint.curvesCOP copula theory
Level curves $t \mapsto \mathbf{C}(u=U, v)$ level.curvesCOP copula theory
Level curves $t \mapsto \mathbf{C}(u, v=V)$ level.curvesCOP2 copula theory
Level set $V$ wrt $U$ level.setCOP copula theory
Level set $U$ wrt $V$ level.setCOP2 copula theory
Median regression $V$ wrt $U$ med.regressCOP copula theory
Median regression $U$ wrt $V$ med.regressCOP2 copula theory
Quantile regression $V$ wrt $U$ qua.regressCOP copula theory
Quantile regression $U$ wrt $V$ qua.regressCOP2 copula theory
Copula section $t \mapsto \mathbf{C}(t,a)$ sectionCOP copula theory
Copula section $t \mapsto \mathbf{C}(a,t)$ sectionCOP copula theory
}
The two tables do not include all of the myriad of special functions to support similar operations on empirical copulas. All empirical copula operators and utilites are prepended with EMPIR in the function name. An additional note concerning package nomenclature is that an appended 2 to a function name indicates
$U$ wrt $V$ (e.g. EMPIRgridderinv2 for an inversion of the partial derivatives $\delta \mathbf{C}/\delta v$ across the grid of the empirical copula).
Some additional functions to compute often salient features or characteristics of copulas, including functions for bivariate inference or goodness-of-fit, are listed in the following table:
isCOP.LTD bivariate association
Left-tail decreasing $U$ wrt $V$ isCOP.LTD bivariate association
Right-tail increasing $V$ wrt $U$ isCOP.RTI bivariate association
Right-tail increasing $U$ wrt $V$ isCOP.RTI bivariate association
Tail concentration function $q_\mathbf{C}(t)$ tailconCOP bivariate tail association
Tail (lower) dependency $\lambda^L_\mathbf{C}$ taildepCOP bivariate tail association
Tail (upper) dependency $\lambda^U_\mathbf{C}$ taildepCOP bivariate tail association
Tail (lower) order $\kappa^L_\mathbf{C}$ tailordCOP bivariate tail association
Tail (upper) order $\kappa^U_\mathbf{C}$ tailordCOP bivariate tail association
Neg'ly quadrant dependency NQD isCOP.PQD bivariate association
Pos'ly quadrant dependency PQD isCOP.PQD bivariate association
Permutation symmetry $\mathrm{permsym}$ isCOP.permsym copula symmetry
Radial symmetry $\mathrm{radsym}$ isCOP.radsym copula symmetry
Skewness (Joe, 2014) $\eta(p; \psi)$ uvskew bivariate skewness
Kullback-Leibler divergence $\mathrm{KL}(f|g)$ kullCOP bivariate inference
K-L sample size $n_{f\!g}$ kullCOP bivariate inference
General goodness-of-fit $T_n$ statTn bivariate inference
Vuong's Procedure ${-}{-}$ vuongCOP bivariate inference
L-comoments (samp. distr.) ${-}{-}$ lcomCOPpv experimental bivariate inference
}
The following Table of Probabilities lists some important relations between various joint probability concepts, the copula, nonexceedance probabilities $u$ and $v$, and exceedance probabilities $u'$ and $v'$. A compact summary of these probability relations has obvious usefulness. The notation $[\cdots, \cdots]$ is the same as $[\cdots \mathrm{\ and\ } \cdots]$.
jointCOP has considerable demonstration in its Note section of the joint and and or relations supported by simulation + counting scenarios. Also there is considerable demonstration in the Note section of function duCOP on application of the concepts of joint and conditions, joint or conditions, and importantly joint mutually exclusive or conditions.
One or two copulas can be composite1COP composites a single copula with two compositing parameters, function composite2COP composites two copulas with two compositing parameters, and function composite3COP composites two copulas with four compositing parameters. Two copulas can be combined through a weighted convex combination using convex2COP with a single weighting parameter. Lastly, copula multiplication of two copulas to form a third is supported by prod2COP.
composite1COP copula combination
2 $\alpha, \beta$ composite2COP copula combination
2 $\alpha, \beta, \kappa, \gamma$ composite3COP copula combination
2 $\alpha$ convex2COP copula combination
2 $\bigl(\mathbf{C}_1 \ast \mathbf{C}_2 \bigr)$ prod2COP copula multiplication
}
All of the five functions for compositing, combining, or multipling copulas are compatible with joint probability simulation (simCOP), measures of association (e.g. $\rho_\mathbf{C}$), and presumably all other copula operations using
A Review of
Risk analyses of natural hazards are commonly expressed as annual return periods $T$ in years, which are defined for a nonexceedance probability $q$ as $T = 1/(1-q)$. In bivariate analysis, there immediately emerge two types of return periods representing $T_{q;\,\mathrm{coop}}$ and $T_{q;\,\mathrm{dual}}$ conditions between nonexceedances of the two hazard sources (random variables) $U$ and $V$. It is usual in many applications for $T$ to be expressed equivalently as a probability $q$ in common for both variables.
Incidently, the $\mathrm{Pr}[\,U > u \mid V > v\,]$ and $\mathrm{Pr}[\,V > v \mid U > u\,]$ probabilities also are useful for conditional return period computations following Salvadori et al. (2007, p. 159--160) but are not further considered here. Also the $F_K(w)$ (Kendall's Function or Kendall's Measure of a copula) is the core tool for secondary return period computations (see kfuncCOP).
Let the copula $\mathbf{C}(u,v; \Theta)$ for nonexceedances $u$ and $v$ be set for some copula family (formula) by a parameter vector $\Theta$. The copula family and parameters define the joint coupling (loosely meaning dependency/correlation) between hazards $U$ and $V$. If
$$T_{q;\,\mathrm{coop}} = \frac{1}{1 - \mathbf{C}(q, q; \Theta)} = \frac{1}{\mathbf{C}^\star(1-q, 1-q; \Theta)}\mbox{\ and}$$ $$T_{q;\,\mathrm{coop}} \equiv \frac{1}{\mathrm{cooperative\ risk}}\mbox{.}$$
However, if failure only occurs if and only if both hazards $U$ and $V$ occur simultaneously (that is
$$T_{q;\,\mathrm{dual}} = \frac{1}{1 - \tilde\mathbf{C}(q,q; \Theta)} = \frac{1}{\overline\mathbf{C}(q,q;\Theta)} = \frac{1}{\hat\mathbf{C}(q',q';\Theta)} \mbox{\ and}$$ $$T_{q;\,\mathrm{dual}} \equiv \frac{1}{\mathrm{complement\ of\ dual\ protection}}\mbox{.}$$
A numerical demonstration is informative. Salvadori et al. (2007, p. 151) show for a Gumbel-Hougaard copula (GHcop) having $\Theta =$ 3.055 and $T =$ 1,000 years ($q = 0.999$) that $T_{q;\,\mathrm{coop}} = 797.1$ years and that $T_{q;\,\mathrm{dual}}$ = 1,341.4 years, which means that average return periods between failures are
$$T_{q;\,\mathrm{coop}} \le T \le T_{q;\,\mathrm{dual}}\mbox{.}$$
These values are readily computed and verified using the prob2T() function from the COP (generic functional interface to a copula) and duCOP (dual of a copula):
q <- T2prob(1000)
lmomco::prob2T( COP(q,q, cop=GHcop, para=3.055)) # 797.110
lmomco::prob2T(duCOP(q,q, cop=GHcop, para=3.055)) # 1341.438
An early source (in 2005) by some of those authors cited on p.151 of Salvadori et al. (2007; their citation GHcop) of $\tau \approx 0.673$, which can be verified through numerical integration available from tauCOP as:
tauCOP(cop=GHcop, para=3.055, brute = TRUE) # 0.6726542
Thus, a
Useful Copula Relations by Visualization
There are a myriad of relations between variables computable through copulas, and these were listed in the Table of Probabilities earlier in this documentation. There is a script located in the inst/doc directory of the CopulaRelations_BaseFigure_inR.txt. This script demonstrates, using the PSP copula, relations between the copula (COP), survival copula (surCOP), joint survival function of a copula (surfuncCOP), co-copula (coCOP), and dual of a copula function (duCOP). The script performs simulation and manual counts observations meeting select criteria in order to compute their empirical probabilities. The script produces a
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in nature---An approach using copulas: Dordrecht, Netherlands, Springer, Water Science and Technology Library 56, 292 p.
# Nelsen (2006, p. 75, exer. 3.15b) provides for a nice test of copBasic features.
"mcdurv" <- function(u,v, theta) {
ifelse(u > theta & u < 1-theta & v > theta & v < 1 - theta,
return(M(u,v) - theta), # Upper bounds copula with a shift
return(W(u,v))) # Lower bounds copula
}
"MCDURV" <- function(u,v, para=NULL) {
if(is.null(para)) stop("need theta")
if(para < 0 | para > 0.5) stop("theta ! in [0,1/2]")
return(asCOP(u, v, f=mcdurv, para))
}
"afunc" <- function(t) { # a sample size = 1,000 hard wired
return(cov(simCOP(n=1000, cop=MCDURV, para=t, ploton=FALSE, points=FALSE))[1,2])
}
set.seed(6234)
print(uniroot(afunc, c(0,0.5))) # result by simulation = 0.1023742
# Nelsen reports that if theta appox. 0.103 then covariance of U and V is zero.
# So one will have mutually completely dependent uncorrelated uniform variables!
rhoCOP(cop=MCDURV, para=0.1023742) # Spearman Rho = 0.005854481 (near zero)
tauCOP(cop=MCDURV, para=0.1023742) # Kendall Tau = 0.2648521
wolfCOP(cop=MCDURV, para=0.1023742) # S & W Sigma = 0.4690174
D <- simCOP(n=1000, cop=MCDURV, para=0.1023742) # Plot mimics Nelsen (2006, fig. 3.11)
# Lastly, open research problem. L-comoments (matrices) measure high dimension of
# variable comovements (see lmomco package)---"method of L-comoments" for estimation?
lmomco::lcomoms2(simCOP(n=1000, cop=MCDURV, para=0), nmom=5) # Perfect neg. corr.
lmomco::lcomoms2(simCOP(n=1000, cop=MCDURV, para=0.1023742), nmom=5)
lmomco::lcomoms2(simCOP(n=1000, cop=MCDURV, para=0.5), nmom=5) # Perfect pos. corr.
# T2 (L-correlation), T3 (L-coskew), T4 (L-cokurtosis), and T5 matrices result. For
# Theta = 0 or 0.5 see the matrix symmetry with a sign change for L-coskew and T5 on
# the off diagonals (offdiags). See unities for T2. See near zero for offdiag terms
# in T2 near zero. But then see that T4 offdiags are quite different from those for
# Theta 0.1024 relative to 0 or 0.5. Thus, T4 has captured a unique property of U vs V.Run the code above in your browser using DataLab