GLcop | R Documentation |
The Galambos copula (Joe, 2014, p. 174) is
\mathbf{C}_{\Theta}(u,v) = \mathbf{GL}(u,v) = uv\,\mathrm{exp}\bigl[\bigl(x^{-\Theta} + y^{-\Theta}\bigr)^{-1/\Theta}\bigr]\mbox{,}
where \Theta \in [0, \infty)
, x = -\log u
, and y = -\log v
. As \Theta \rightarrow 0^{+}
, the copula limits to independence (\mathbf{\Pi}
; P
) and as \Theta \rightarrow \infty
, the copula limits to perfect association (\mathbf{M}
; M
). The copula here is a bivariate extreme value copula (BEV
), and parameter estimation for \Theta
requires numerical methods.
There are two other genetically related forms. Joe (2014, p. 197) describes an extension of the Galambos copula as a Galambos gamma power mixture (GLPM), which is Joe's BB4 copula, with the following form
\mathbf{C}_{\Theta,\delta}(u,v) = \mathbf{GLPM}(u,v) =
\biggl(x + y - 1 - \bigl[(x - 1)^{-\delta} + (y - 1)^{-\delta} \bigr]^{-1/\delta} \biggr)^{-1/\Theta}\mbox{,}
where x = u^{-\Theta}
, y = v^{-\Theta}
, and \Theta \ge 0, \delta \ge 0
. (Joe shows \delta > 0
, but zero itself seems to work without numerical problems in practical application.) As \delta \rightarrow 0^{+}
, the “MTCJ family” (Mardia–Takahasi–Cook–Johnson) results (implemented internally with \Theta
as the incoming parameter). As \Theta \rightarrow 0^{+}
the Galambos above results with \delta
as the incoming parameter.
This second copula in turn has a lower extreme value limit form that leads to a min-stable bivariate exponential having Pickand dependence function of
A(x,y; \Theta, \delta) = x + y - \bigl[x^{-\Theta} + y^{-\Theta} - (x^{\Theta\delta} + y^{\Theta\delta})^{-1/\delta} \bigr]^{-1/\Theta}\mbox{,}
where this third copula is
\mathbf{C}^{LEV}_{\Theta,\delta}(u,v) = \mathbf{GLEV}(u,v) =
\mathrm{exp}[-A(-\log u, -\log v; \Theta, \delta)]\mbox{,}
for \Theta \ge 0, \delta \ge 0
and is known as the two-parameter Galambos. (Joe shows \delta > 0
, but \delta = 0
itself seems to work without numerical problems in practical application.)
GLcop( u, v, para=NULL, ...)
GLEVcop( u, v, para=NULL, ...)
GLPMcop( u, v, para=NULL, ...) # inserts third parameter automatically
JOcopBB4(u, v, para=NULL, ...) # inserts third parameter automatically
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
To trigger |
... |
Additional arguments to pass. |
Value(s) for the copula are returned.
Joe (2014, p. 198) shows \mathbf{GLEV}(u,v; \Theta, \delta)
as a two-parameter Galambos, but its use within the text seemingly is not otherwise obvious. However, testing of the implementation here seems to show that this copula is really not broader in form than \mathbf{GL}(u,v; \alpha)
. The \alpha
can always(?) be chosen to mimic the \{\Theta, \delta\}
. This assertion can be tested from a semi-independent direction. First, define an alternative style of one-parameter Galambos:
GL1cop <- function(u,v, para=NULL, ...) { GL1pA <- function(x,y,t) { # Pickend dependence func form 1p Galambos x + y - (x^-t + y^-t)^(-1/t) } if(length(u) == 1) { u <- rep(u, length(v)) } else if(length(v) == 1) { v <- rep(v, length(u)) } exp(-GL1pA(-log(u), -log(v), para[1])) }
Second, redefine the two-parameter Galambos:
GL2cop <- function(u,v, para=NULL, ...) { GL2pA <- function(x,y,t,d) { # Pickend dependence func form 2p Galambos x + y - (x^-t + y^-t - (x^(t*d) + y^(t*d))^(-1/d))^(-1/t) } if(length(u) == 1) { u <- rep(u, length(v)) } else if(length(v) == 1) { v <- rep(v, length(u)) } exp(-GL2pA(-log(u), -log(v), para[1], para[2])) }
Next, we can combine the Pickend dependence functions into an objective function. This objective function will permit the computation of the \alpha
given a pair \{\Theta, \delta\}
.
objfunc <- function(a,t=NA,d=NA, x=0.7, y=0.7) { lhs <- (x^-t + y^-t - (x^(t*d) + y^(t*d))^(-1/d))^(-1/t) rhs <- (x^-a + y^-a)^(-1/a); return(rhs - lhs) # to be uniroot'ed }
A demonstration can now be made:
t <- 0.6; d <- 4; lohi <- c(0,100) set.seed(3); UV <- simCOP(3000, cop=GL2cop, para=c(t,d), pch=16,col=3,cex=0.5) a <- uniroot(objfunc, interval=lohi, t=t, d=d)$root set.seed(3); UV <- simCOP(3000, cop=GL1cop, para=a, lwd=0.5, ploton=FALSE)
The graphic so produced shows almost perfect overlap in the simulated values. To date, the author has not really found that the two parameters can be chosen such that the one-parameter version can not attain. Extensive numerical experiments using simulated parameter combinations through the use of various copula metrics (tail dependencies, L-comoments, etc) have not found material differences. Has the author of this package missed something?
W.H. Asquith
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
M
, P
, GHcop
, HRcop
, tEVcop
# Theta = pi for GLcop and recovery through Blomqvist Beta (Joe, 2014, p. 175)
log(2)/(log(log(2)/log(1+blomCOP(cop=GLcop, para=pi))))
# Theta = 2 and delta = 3 for the GLPM form and Blomqvist Beta (Joe, 2014, p. 197)
t <- 2; Btheo <- blomCOP(GLPMcop, para=c(t,3))
Bform <- (2^(t+1) - 1 - taildepCOP(GLPMcop, para=c(t,3))$lambdaU*(2^t -1))^(-1/t)
print(c(Btheo, 4*Bform-1)) # [1] 0.8611903 0.8611900
## Not run:
# See the Note section but check Blomqvist Beta here:
blomCOP(cop=GLcop, para=c(6.043619)) # 0.8552863 (2p version)
blomCOP(cop=GLcop, para=c(5.6, 0.3)) # 0.8552863 (1p version)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.