P
) according to Cherunbini et al. (2004, p. 164) by
A generalization (Nelsen, 2006) to $L_p$ distances from independence ($uv = \mathbf{\Pi}$; P
) through the LpCOP
function is
M
) or $\mathbf{W}$ (see W
). The $k(p)$ (bivariate definition only) for other powers is given (Nelsen, 2006, exer. 5.44, p. 213) in terms of the complete gamma function $\Gamma(t)$ by
hoefCOP
function. It is important to realize that the $L_p$ distances are symmetric nonparametric measures of dependence (Nelsen, 2006, p. 210). These are symmetric because distance from independence is used as evident by
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 surCOP
) measured by
Joe (2014, p. 66) offers analogous measures of bivariate permutation asymmetry ($\mathbf{C}(u,v) \not= \mathbf{C}(v,u)$) defined as
The asymmetrical $L_\infty$ and $L_p$ measures identified by Joe (2014, p. 66) are nonnegative with an upper bounds that depends on $p$. (The bound dependence on $p$ is likely(?) cause by the lack of normalization constant $k(p)$.) In an earlier paragraph, Joe indicates an upper bounds of 1/3 for both (likely?) concerning $L_\infty^{(\mathrm{radsym})}$ and $L_\infty^{(\mathrm{permsym})}$. The numerical integrations for $L_p^{(\mathrm{radsym})}$ and $L_p^{(\mathrm{permsym})}$ can readily return zeros and often inspection of the formula for the $\mathbf{C}$ 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 $U$ and $V$: Two definitions are in uvlmoms
(for $U + V - 1$ and $U - V$) and two are in joeskewCOP
(for $V-U$ and $U+V-1$) where only the later function makes direct computations directly using formula for $\mathbf{C}$.
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, ...)
data.frame
in para
is used to compute the $\hat{\Phi}_\mathbf{C}$ (see Note). If set to -1
, then the message concerning CPU effort will be surpressed;as.sample
triggered, what are the units incoming in para
? If they are probabilities, the default is applicable. If they are not, then the columns are re-ranked and divided simply by $1/n$---more sophisticated empirical cintegrate()
functions in Rto perform the double integration;brute=TRUE
) integration; andJoe, 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.
blomCOP
, footCOP
, giniCOP
,
rhoCOP
, tauCOP
, wolfCOP
,
joeskewCOP
, uvlmoms
# 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)
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)
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
"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(.8,.5)) # 0.0261843
LpCOPpermsym(cop=MOcop, para=c(.8,.5)) # 0.0243912
Run the code above in your browser using DataLab