copBasic (version 2.1.5)

gEVcop: 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.

References

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

See Also

tEVcop

Examples

Run this code
# NOT RUN {
UV <- simCOP(200, cop=gEVcop, para=0.8) #
# }
# 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-0.8) < 0.001) {
  print("Yet same")
} else { print("nope not") } # Should they be?
# }
# NOT RUN {
# }
# NOT RUN {
gEVparameter <- seq(0.02,1, by=.02)
SpearmanRho <- sapply(gEVparameter, function(k) rhoCOP(cop=gEVcop, para=k))
plot(gEVparameter,SpearmanRho) #
# }

Run the code above in your browser using DataLab