Learn R Programming

copBasic (version 1.7.1)

semicorCOP: The Lower and Upper Semi-Correlations of a Copula

Description

Compute the lower semi-correlations $\rho^{N-}_\mathbf{C}(u,v; a) = \rho_N^{-}(a)$ and upper semi-correlations $\rho^{N+}_\mathbf{C}(u,v; a) = \rho_N^{+}(a)$ of a bivariate copula $\mathbf{C}(u,v)$ (Joe, 2015, p. 73), which are defined as

$$\rho_N^{-}(a) = \mathrm{cor}[Z_1, Z_2|Z_1 > a, Z_2 > a]\mbox{,}$$ $$\rho_N^{+}(a) = \mathrm{cor}[Z_1, Z_2|Z_1 < a, Z_2 < a]\mbox{,\ and}$$ $$\rho_N(a > -\infty) = \mathrm{Cor}[Z_1, Z_2]\mbox{,\ and}$$

where $\mathrm{cor[z_1, z_2]}$ is the usual correlation function (Pearson's correlation, function cor(..., method="pearson")) in R, parameter $a \ge 0$ is a truncation point that identifies truncated tail regions (Joe, 2015, p. 73), and lastly $(Z_1, Z_2) \sim \mathbf{C}(\Phi, \Phi)$ and thus from the Standard Normal distribution $(Z_1, Z_2) = (\Phi^{-1}(u), \Phi^{-1}(v))$ where the random variables $(U,V) \sim \mathbf{C}$.

Usage

semicorCOP(cop=NULL, para=NULL, truncation=0, n=0, samcor=FALSE, ...)

Arguments

cop
A copula function;
para
Vector of parameters or other data structure, if needed, to pass to the copula;
truncation
The truncation value for $a$;
n
The sample size $n$ for simulation estimates of the $\rho_N$;
samcor
A logical controlling whether an optional data.frame in para is used to compute the $\hat\rho_N$ (see Note); and
...
Additional arguments to pass to the copula.

Value

  • The value(s) for $\rho_N^{-}$ and $\rho_N^{+}$ are returned.

concept

semi-correlation

References

Joe, H., 2015, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.

See Also

giniCOP, rhoCOP, tauCOP

Examples

Run this code
semicorCOP(cop=PSP, n=50)$minus.semicor  # with large sampling variability!
set.seed(45)
semicorCOP(cop=PLACKETTcop, para=3.755, n=100000)
# The function returns:    rhoN = 0.397, rhoN-=0.191, rhoN+=0.184
# Joe (2015, p. 72) shows: rhoN = 0.4  , rhoN-=0.189, rhoN+=0.189

set.seed(45)
semicorCOP(cop=PLACKETTcop, para=8.543, n=100000)
# The function returns:    rhoN = 0.597, rhoN-=0.373, rhoN+=0.373
# Joe (2015, p. 72) shows: rhoN = 0.6  , rhoN-=0.371, rhoN+=0.371

Run the code above in your browser using DataLab