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:

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

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

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

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

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

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

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

for 1/(1+ρ2)x/(x+y)11/(1+\rho^2) \le x/(x+y) \le 1 and where ρ[0,1]\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 uu in the XX direction;

v

Nonexceedance probability vv in the YY 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]