FRECHETcop {copBasic} | R Documentation |
The Fréchet Family Copula
Description
The Fréchet Family copula (Durante, 2007, pp. 256–259) is
\mathbf{C}_{\alpha, \beta}(u,v) = \mathbf{FF}(u,v) = \alpha\mathbf{M}(u,v) + (1-\alpha-\beta)\mathbf{\Pi}(u,v)+\beta\mathbf{W}(u,v)\mbox{,}
where \alpha, \beta \ge 0
and \alpha + \beta \le 1
. The Fréchet Family copulas are convex combinations of the fundamental copulas \mathbf{W}
(Fréchet–Hoeffding lower-bound copula; W
), \mathbf{\Pi}
(independence; P
), and \mathbf{M}
(Fréchet–Hoeffding upper-bound copula; M
). The copula is comprehensive because both \mathbf{W}
and \mathbf{M}
can be obtained. The parameters are readily estimated using Spearman Rho (\rho_\mathbf{C}
; rhoCOP
) and Kendall Tau (\tau_\mathbf{C}
; tauCOP
) by
\tau_\mathbf{C} = \frac{(\alpha - \beta)(\alpha + \beta + 2)}{3}\mbox{\ and\ } \rho_\mathbf{C} = \alpha - \beta\mbox{.}
The Fréchet Family copula virtually always has a visible singular component unless \alpha, \beta = 0
. The copula has respective lower- and upper-tail dependency parameters of \lambda^L = \alpha
and \lambda^U = \alpha
(taildepCOP
). Durante (2007, p. 257) reports that the Fréchet Family copula can approximate any bivariate copula in a “unique way” and the error bound can be estimated.
Usage
FRECHETcop(u,v, para=NULL, rho=NULL, tau=NULL, par2rhotau=FALSE, ...)
Arguments
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
A vector (two element) of parameters |
rho |
Spearman Rho from which to estimate the parameters; |
tau |
Kendall Tau from which to estimate the parameters; |
par2rhotau |
A logical that if |
... |
Additional arguments to pass. |
Details
The function will check the consistency of the parameters whether given by argument or computed from \rho_\mathbf{C}
and \tau_\mathbf{C}
. The term “Family” is used with this particular copula in copBasic so as to draw distinction to the Fréchet lower- and upper-bound copulas as the two limiting copulas are called.
For no other reason than that it can be easily done and makes a nice picture, loop through a nest of \rho
and \tau
for the Fréchet Family copula and plot the domain of the resulting parameters:
ops <- options(warn=-1) # warning supression because "loops" are dumb taus <- rhos <- seq(-1,1, by=0.01) plot(NA, NA, type="n", xlim=c(0,1), ylim=c(0,1), xlab="Frechet Copula Parameter Alpha", ylab="Frechet Copula Parameter Beta") for(tau in taus) { for(rho in rhos) { fcop <- FRECHETcop(rho=rho, tau=tau) if(! is.na(fcop$para[1])) points(fcop$para[1], fcop$para[2]) } } options(ops)
Value
Value(s) for the copula are returned using the \alpha
and \beta
as set by argument para
; however, if para=NULL
and rho
and tau
are set and compatible with the copula, then \{\rho_\mathbf{C}, \tau_\mathbf{C}\} \rightarrow \{\alpha, \beta\}
, parameter estimation made, and an R list
is returned.
Note
A convex combination (convex2COP
) of \mathbf{\Pi}
and \mathbf{M}
, which is a modification of the Fréchet Family, is the Linear Spearman copula:
\mathbf{C}_\alpha(u,v) = (1-\alpha)\mathbf{\Pi}(u,v) + \alpha\mathbf{M}(u,v)\mbox{,}
for 0 \le \alpha \le 1
, and the parameter is equal to \rho_\mathbf{C}
. When the convex combination is used for construction, the complement of the parameter is equal to \rho_\mathbf{C}
(e.g. 1-\alpha = \rho_\mathbf{C}
; rhoCOP
), which can be validated by
rhoCOP(cop=convex2COP, para=list(alpha=1-0.48, cop1=P, cop2=M)) # 0.4799948
Author(s)
W.H. Asquith
References
Durante, F., 2007, Families of copulas, Appendix C, in Salvadori, G., De Michele, C., Kottegoda, N.T., and Rosso, R., 2007, Extremes in Nature—An approach using copulas: Springer, 289 p.
See Also
Examples
## Not run:
ppara <- c(0.25, 0.50)
fcop <- FRECHETcop(para=ppara, par2rhotau=TRUE)
RHO <- fcop$rho; TAU <- fcop$tau
level.curvesCOP(cop=FRECHETcop, para=ppara) # Durante (2007, Fig. C.27(b))
mtext("Frechet Family copula")
UV <- simCOP(n=50, cop=FRECHETcop, para=ppara, ploton=FALSE, points=FALSE)
tau <- cor(UV$U, UV$V, method="kendall" ) # sample Kendall Tau
rho <- cor(UV$U, UV$V, method="spearman") # sample Spearman Rho
spara <- FRECHETcop(rho=rho, tau=tau) # a fitted Frechet Family copula
spara <- spara$para
if(is.na(spara[1])) { # now a fittable combination is not guaranteed
warning("sample rho and tau do not provide valid parameters, ",
"try another simulation")
} else { # now if fit, draw some red-colored level curves for comparison
level.curvesCOP(cop=FRECHETcop, para=spara, ploton=FALSE, col=2)
} #
## End(Not run)