hoefCOP {copBasic} | R Documentation |
The Hoeffding Phi of a Copula or Lp Distances (Independence, Radial Asymmetry, or Reflection Symmetry Forms)
Description
Compute the measure of association known as the Hoeffding Phi of a copula from independence (
;
P
) according to Cherunbini et al. (2004, p. 164) by
and Nelsen (2006, p. 210) shows this as (and absolute value notation by Nelsen helps in generalization)
for which (the square of the quantity) is known as the dependence index. Gaißer et al. (2010, eq. 1) have
as the Hoeffding Phi-Square, and their definition, when square-rooted, matches Nelsen's listing.
A generalization (Nelsen, 2006) to distances from independence (
;
P
) through the LpCOP
function is
for a and where
is a normalization constant such that
when the copula
is
(see
M
) or (see
W
). The (bivariate definition only) for other powers is given (Nelsen, 2006, exer. 5.44, p. 213) in terms of the complete gamma function
by
which is implemented by the hoefCOP
function. It is important to realize that the distances are all symmetric nonparametric measures of dependence (Nelsen, 2006, p. 210). These are symmetric because distance from independence is used as evident by “
” in the above definitions.
Reflection/Radial and Permutation Asymmetry—Asymmetric forms similar to the above distances exist. Joe (2014, p. 65) shows two measures of bivariate reflection asymmetry or radial asymmetry (term favored in copBasic) as the distance between and the survival copula
(
surCOP
) measured by
or its counterpart
where and again
. Joe (2014) does not seem to discuss and normalization constants for these two radial asymmetry distances.
Joe (2014, p. 66) offers analogous measures of bivariate permutation asymmetry (isCOP.permsym
) () defined as
or its counterpart
where . Again, Joe (2014) does not seem to discuss and normalization constants for these two permutation symmetry distances. Joe (2014, p. 65) states that the “simplest one-parameter bivariate copula families [and] most of the commonly used two-parameter bivariate copula families are permutation symmetric.” The
(or rather a similar form) is implemented by
LzCOPpermsym
and demonstration made in that documentation.
The asymmetrical and
measures identified by Joe (2014, p. 66) are nonnegative with an upper bounds that depends on
. The bound dependence on
is caused by the lack of normalization constant
. In an earlier paragraph, Joe (2014) indicates an upper bounds of 1/3 for both (likely?) concerning
and
. Discussion of this 1/3 or rather the integer 3 is made within
LzCOPpermsym
.
The numerical integrations for and
can readily return zeros. Often inspection of the formula for the
itself would be sufficient to judge whether symmetry exists and hence the distances are uniquely zero.
Joe (2014, p. 66) completes the asymmetry discussion with three definitions of skewness of combinations of random variables and
: Two definitions are in
uvlmoms
(for and
) and two are for
(
nuskewCOP
) and (
nustarCOP
).
Usage
hoefCOP( cop=NULL, para=NULL, p=2, as.sample=FALSE,
sample.as.prob=TRUE,
brute=FALSE, delta=0.002, ...)
LpCOP( cop=NULL, para=NULL, p=2, brute=FALSE, delta=0.002, ...)
LpCOPradsym( cop=NULL, para=NULL, p=2, brute=FALSE, delta=0.002, ...)
LpCOPpermsym(cop=NULL, para=NULL, p=2, brute=FALSE, delta=0.002, ...)
Arguments
cop |
A copula function; |
para |
Vector of parameters or other data structure, if needed, to pass to the copula; |
p |
The value for |
as.sample |
A logical controlling whether an optional R |
sample.as.prob |
When |
brute |
Should brute force be used instead of two nested |
delta |
The |
... |
Additional arguments to pass. |
Value
The value for is returned.
Note
Concerning the distance from independence, when , then the Spearman Rho (
rhoCOP
) of a copula is computed where is it seen in that documentation that the . The respective values of
for select integers
are
and these values are hardwired into hoefCOP
and LpCOP
. The integers for ensures that the equality in the second line of the examples is
TRUE
, but the can be a noninteger as well. Nelsen (2006, p. 211) reports that when
that
is
A sample (square root of the Hoeffding Phi-Square) based on nonparametric estimation generalized for
dimensions (
for bivariate) is presented by Gaißer et al. (2010, eq. 10) for estimated probabilities
for the
th dimension and
th row (observation) for sample of size
. Those authors suggest that the
be estimated from the empirical copula:
where
The normalization constant is a function of dimension and is
set.seed(1); UV <- simCOP(n=1000, cop=PSP) hoefCOP(cop=PSP) # 0.4547656 (theo.) hoefCOP(para=UV, as.sample=TRUE) # 0.4892757 set.seed(1); UV <- simCOP(n=1000, cop=PSP, snv=TRUE) # std normal variates hoefCOP(para=UV, as.sample=TRUE, sample.as.prob=FALSE) # 0.4270324
Author(s)
W.H. Asquith
References
Cherubini, U., Luciano, E., and Vecchiato, W., 2004, Copula methods in finance: Hoboken, NJ, Wiley, 293 p.
Gaißer, S., Ruppert, M., and Schmid, F., 2010, A multivariate version of Hoeffding's Phi-Square: Journal of Multivariate Analysis, v. 101, no. 10, pp. 2571–2586.
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
See Also
blomCOP
, footCOP
, giniCOP
,
rhoCOP
, tauCOP
, wolfCOP
,
joeskewCOP
, uvlmoms
,
LzCOPpermsym
Examples
## Not run:
# Example (ii) Gaisser et al. (2010, p. 2574)
Theta <- 0.66 # Phi^2 = Theta^2 ---> Phi == Theta as shown
hoefCOP(cop=convex2COP, para=c(alpha=Theta, cop1=M, cop2=P)) # 0.6599886
rhoCOP(cop=PSP) == hoefCOP(cop=PSP, p=1) # TRUE
LpCOP(cop=PLACKETTcop, para=1.6, p=2.6) # 0.1445137 (Fractional p)
## End(Not run)
## Not run:
set.seed(938) # Phi(1.6; Plackett) = 0.1184489; L_1 = 0.1168737
UV <- simCOP(cop=PLACKETTcop, para=1.6, n=2000, ploton=FALSE, points=FALSE)
hoefCOP(cop=PLACKETTcop, para=1.6, p=200) # Large p near internal limits
L_1 <- 4*max(abs(PLACKETTcop(UV$U, UV$V, para=1.6) - UV$U*UV$V)) # p is infty
# and finite n and arguably a sample-like statistic here, now on intuition try
# a more sample-like means
U <- runif(10000); V <- runif(10000)
L_2 <- 4*max(abs(EMPIRcop(U, V, para=UV) - U*V)) # 0.1410254 (not close enough)
## End(Not run)
## Not run:
para <- list(alpha=0.15, beta=0.90, kappa=0.06, gamma=0.96,
cop1=GHcop, cop2=PLACKETTcop, para1=5.5, para2=0.07)
LpCOPradsym( cop=composite2COP, para=para) # 0.02071164
LpCOPpermsym(cop=composite2COP, para=para) # 0.01540297
## End(Not run)
## Not run:
"MOcop.formula" <- function(u,v, para=para, ...) {
alpha <- para[1]; beta <- para[2]; return(min(v*u^(1-alpha), u*v^(1-beta)))
}
"MOcop" <- function(u,v, ...) { asCOP(u,v, f=MOcop.formula, ...) }
LpCOPradsym( cop=MOcop, para=c(0.8, 0.5)) # 0.0261843
LpCOPpermsym(cop=MOcop, para=c(0.8, 0.5)) # 0.0243912
## End(Not run)