gEVcop {copBasic}R Documentation

The Gaussian-based (Extreme Value) Copula

Description

The g-EV copula (Joe, 2014, p. 105) is a limiting form of the Gaussian copula:

\mathbf{C}_{\rho}(u,v) = \mathbf{gEV}(u,v; \rho) = \mathrm{exp}\bigl(-A(x,y; \rho)\bigr)\mbox{,}

where x = -\log(u), y = -\log(v), and

A(x,y; \rho) = y\mbox{,}

for 0 \le x/(x+y) \le \rho^2/(1+\rho^2),

A(x,y; \rho) = (x+y - 2\rho\sqrt{xy})/(1-\rho^2)\mbox{,}

for \rho^2/(1+\rho^2) \le x/(x+y) \le 1/(1+\rho^2),

A(x,y; \rho) = x\mbox{,}

for 1/(1+\rho^2) \le x/(x+y) \le 1 and where \rho \in [0,1]. A somewhat curious observation is that this copula has relative hard boundaries into the upper-left and lower-right corners when compared to the other copulas supported by the copBasic package. In other words, the hull defined by the copula has a near hard (not fuzzy) curvilinear boundaries that adjust with the parameter \rho.

Usage

gEVcop(u, v, para=NULL, ...)

Arguments

u

Nonexceedance probability u in the X direction;

v

Nonexceedance probability v in the Y direction;

para

The parameter \rho; and

...

Additional arguments to pass.

Value

Value(s) for the copula are returned.

Author(s)

W.H. Asquith

References

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

See Also

tEVcop

Examples

## Not run: 
UV <- simCOP(200, cop=gEVcop, para=0.8) #
## End(Not run)

## Not run: 
# Joe (2014, p. 105) has brief detail indicating rho = [0,1] and though it seems
# Rho would be a Pearson correlation, this does not seem to be the case. The Rho
# seems to start with that of the Gaussian and then through the extreme-value
# transform, it just assumes the role of a parameter called Rho.
rho <- 0.8
UV <- simCOP(2000, cop=gEVcop, para=rho)
P <- cor(UV[,1], UV[,2], method="pearson")
if(abs(P - rho) < 0.001) {
  print("Yes same")
} else { print("nope not") } # 
## End(Not run)

## Not run: 
gEVparameter <- seq(0.02, 1, by=0.02)
SpearmanRho <- sapply(gEVparameter, function(k) rhoCOP(cop=gEVcop, para=k))
plot(gEVparameter, SpearmanRho)

for(rho in gEVparameter) UV <- simCOP(n=1000, cop=gEVcop, para=rho) #
## End(Not run)

[Package copBasic version 2.2.4 Index]