blomCOPss {copBasic} | R Documentation |
Blomqvist (Schmid–Schmidt) Betas of a Copula
Description
Compute the Blomqvist (Schmid–Schmidt) Betas (Schmid and Schmidt, 2007) defined for arbitrary dimension
of a copula
(
COP
) for parameters . The copula survival function is
(
surfuncCOP
). The Beta, though the copBasic package is built around bivariate copula only, is defined as
where and
are norming constants defined below. The superscript
(diamond) is chosen for copBasic because of the alliteration to “dimension.” The bold face font for
and
shows these arguments as vectors of length
reflecting “cutting points” on nonexceedance probabilities in each of the dimensions. The
functions as the arguments
pair used in copula of this package and represents the first cutting point for a
, and
functions as the arguments
pair for this package and represents the second cutting point for a
. This notation of vectored (bold face) and nonvectored “u” and “v” is a little obtuse but as the properties of
are summarized clarity for the reader is anticipated. In short, the
will reference the coordinate pairs in the lower right quadrant and the
will reference the coordinate pairs in the upper right quadrant.
The norming constant is defined as
and is defined as
where the cutting points and
are in a domain
given
and
or
. The reader must careful remember that these
and
are vectors of probabilities.
The norming constants provide for . Using the function argument defaults for
dimensions
for
uu
and for
vv
, results in (1) if
comonotonicity copula (
M
) (blomCOPss(cop=M) == 1
), (2) if
independence copula (
P
) (blomCOPss(cop=P) == 0
), and (3) if countermonotonicity copula (
W
) (
blomCOPss(cop=W) == -1
).
Schmid and Schmidt (2007) list three important cases extending the and
examples. First,
, which is Blomqvist Beta (
) (
blomCOP
) and measures overall dependence.
Second, with
, which measures dependence in the tail regions. (Note, the author of copBasic thinks “regions” as a plural is need in the previous sentence; Schmid and Schmidt (2007) use the singular “region.” This is potentially important as seemingly simultaneous tail dependency in the lower and upper perspectives would be provided. More discussion is provided in Examples.)
Third and presumably very important in practical applications, for
measures lower-tail dependence. This measure is equal to the lower-tail dependence parameter
without some of the computational nuances required as
is defined at
taildepCOP
.
Schmid and Schmidt (2007) do not list how the upper-tail dependence parameter could be computed in terms of
. The expression for study of the upper-tail dependency is
for
as
, and
without some of the computational nuances required as
is defined at
taildepCOP
. These tail dependencies are computed and compared in the Examples and confirmation of this function being used to estimate both tail-dependency parameters is confirmed.
Usage
blomCOPss(cop=NULL, para=NULL, uu=rep(0.5, 2), vv=rep(0.5, 2), trap.nan=TRUE,
as.sample=FALSE, ctype=c("weibull", "hazen", "1/n",
"bernstein", "checkerboard"), ...)
Arguments
cop |
A copula function; |
para |
Vector of parameters or other data structure, if needed, to pass to the copula; |
uu |
The vector for |
vv |
The vector for |
trap.nan |
A logical to trigger 0 if |
as.sample |
A logical controlling whether an optional R |
ctype |
Argument of the same as |
... |
Additional arguments to pass to the copula. |
Value
The is returned.
Note
Sample estimation of the is possible. The
as.sample
triggers internally a call to the empirical copula () (
EMPIRcop
) for the ctype
for the copula and its survival function form. Expansive more details are provided by taildepCOP
(section Note::DEMONSTRATION (Tail Dependence)). A comparison of the and
is made.
Author(s)
W.H. Asquith
References
Schmid, Friedrich, and Schmidt, Rafael, 2007, Nonparametric inference on multivariate versions of Blomqvist's beta and related measures of tail dependence: Metrika, v. 66, pp. 323–354, doi:10.1007/s00184-006-0114-3.
See Also
blomCOP
, blomatrixCOP
, taildepCOP
Examples
blomCOP( cop=PSP) # [1] 0.3333333
blomCOPss(cop=PSP) # [1] 0.3333333
## Not run:
# The calls below for blomCOPss() are technically the same for sample versions.
UV <- simCOP(1000, cop=PSP, graphics=FALSE) # HatBeta(0.1,0.9) = 0.277___
blomCOPss(para=UV, cop=EMPIRcop, uu=c(0.1,0.1), vv=c(0.90,0.90))
blomCOPss(para=UV, as.sample=TRUE, uu=c(0.1,0.1), vv=c(0.90,0.90)) #
## End(Not run)
## Not run:
set.seed(1)
para <- c(3, 6) # define parameters of two-parameter GHcop
UV <- simCOP(1000, cop=GHcop, para=para) # simulate to show general structure
# compute the tail dependencies from havling into the limits
taildepCOP(cop=GHcop, para=para, plot=TRUE)
# lower tail dependency = 0.96222
# upper tail dependency = 0.74008
# The two parameters influence how strongly the tail dependencies are.
# Schmid and Schmidt (2007, eq. 24) define the lower-tail dependency in terms of
# the Beta and p-->0 Beta(c(p,p), c(1,1)). Lets compute these and produce content
# suitable to show on the tail-dependency plot that the assertion for the lower
# dependency by Beta() is correct, which it is and then extend to the upper-tail
# dependency parameter that the authors seem to not have defined.
usr <- par()$usr[1:2] # grab horizontal edges of the plot, and set up the
uuLO <- rep(pnorm(usr[1]), 2) # the uu for the lower tail and the vv for the upper
vvUP <- rep(pnorm(usr[2]), 2) # tail and then plot both with overplotting symbols
# lower-tail estimate and see how it plots along the value from taildepCOP()
SchmidsL <- blomCOPss(cop=GHcop, para=para, uu=uuLO, vv=c(1,1))
points(usr[1], SchmidsL, col="darkgreen", cex=2, pch=1, lwd=2)
points(usr[1], SchmidsL, col="darkgreen", cex=2, pch=3, lwd=2)
points(usr[1], SchmidsL, col="darkgreen", cex=2, pch=4, lwd=2)
# upper-tail estimate and see how it plots along the value from taildepCOP()
SchmidsU <- blomCOPss(cop=GHcop, para=para, uu=c(0,0), vv=vvUP)
points(usr[2], SchmidsU, col="darkgreen", cex=2, pch=1, lwd=2)
points(usr[2], SchmidsU, col="darkgreen", cex=2, pch=3, lwd=2)
points(usr[2], SchmidsU, col="darkgreen", cex=2, pch=4, lwd=2)
# SchmidsL lower tail dependency = 0.962224
# SchmidsU upper tail dependency = 0.740079
# The author has an expectation that the SchmidsL and SchmidsU values are
# more reliable than those stemming from taildepCOP() because of the limiting
# behavior (or its implementation therein) compared to direct computation by
# blomCOPss().
# Mow for sake of curiosity, let us see how the trajectory of the Blomqvist
# (Schmid--Schmidt) Betas at arriving at the tail dependencies as p-->0|1.
# It is very informative that the trajectories of blomCOPss() and taildepCOP()
# as each hones towards the two dependency parameters are different and this
# highlights the fact that the computational underpinnings are different.
psl <- pnorm(seq(0, usr[1], by=-diff(range(c(0, usr[1]))) / 1000))
lines(qnorm(psl), sapply(psl, function(p) {
blomCOPss(cop=GHcop, para=para, uu=rep(p, 2), vv=c(1,1)) }),
col="darkgreen", lty=2, lwd=2)
psu <- pnorm(seq(0, usr[2], by= diff(range(c(0, usr[2]))) / 1000))
lines(qnorm(psu), sapply(psu, function(p) {
blomCOPss(cop=GHcop, para=para, uu=c(0,0), vv=rep(p, 2)) }),
col="darkgreen", lty=2, lwd=2) #
## End(Not run)