Learn R Programming

copBasic (version 1.7.1)

blomCOP: The Blomqvist's Beta of a Copula

Description

Compute the Blomqvist's Beta $\beta_\mathbf{C}$ of a copula (Nelsen, 2006, p. 182), which is defined at the middle of $\mathcal{I}^2$ as

$$\beta_\mathbf{C} = 4\times\mathbf{C}\biggl(\frac{1}{2},\frac{1}{2}\biggr) - 1\mbox{,}$$

where the $u = v = 1/2$ and thus shows that $\beta_\mathbf{C}$ is based on the median joint probability. Nelsen also reports that although, Blomqvist's Beta depends only on the copula only through its value at the center of $\mathcal{I}^2$, it nevertheless often provides an accurate approximation to Spearman's Rho rhoCOP and Kendall's Tau tauCOP. Blomqvist's Beta is also called the medial correlation coefficient. Kendall's Tau $\tau_\mathbf{C}$, Gini's Gamma $\gamma_\mathbf{C}$, and Spearman's Rho $\rho_\mathbf{C}$ in relation to $\beta_\mathbf{C}$ satisfy the following inequalities (Nelsen, 2006, exer. 5.17, p. 185): $$\frac{1}{4}(1 + \beta_\mathbf{C})^2 - 1 \le \tau_\mathbf{C} \le 1 - \frac{1}{4}(1 - \beta_\mathbf{C})^2\mbox{,}$$ $$\frac{3}{16}(1 + \beta_\mathbf{C})^3 - 1 \le \rho_\mathbf{C} \le 1 - \frac{3}{16}(1 - \beta_\mathbf{C})^3\mbox{, and}$$ $$\frac{3}{8}(1 + \beta_\mathbf{C})^2 - 1 \le \tau_\mathbf{C} \le 1 - \frac{3}{8}(1 - \beta_\mathbf{C})^2\mbox{.}$$

Usage

blomCOP(cop=NULL, para=NULL, sambeta=FALSE, ...)

Arguments

cop
A copula function;
para
Vector of parameters or other data structure, if needed, to pass to the copula;
sambeta
A logical controlling whether an optional data.frame in para is used to compute the $\hat\beta$ (see Note); and
...
Additional arguments to pass to the copula.

Value

  • The value for $\beta_\mathbf{C}$ is returned.

concept

medial correlation

References

Joe, H., 2015, 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

giniCOP, rhoCOP, tauCOP

Examples

Run this code
blomCOP(cop=PSP)
# Nelsen (2006, exer. 5.17, p. 185):
B <- blomCOP(cop=N4212cop, para=2.2)
G <- giniCOP(cop=N4212cop, para=2.2)
R <-  rhoCOP(cop=N4212cop, para=2.2)
T <-  tauCOP(cop=N4212cop, para=2.2, brute=TRUE) # numerical problems w/o brute
if(1*(1+B)^2/4  - 1 <= T & T <= 1 - 1*(1-B)^2/4 ) print("TRUE")
if(3*(1+B)^3/16 - 1 <= T & T <= 1 - 3*(1-B)^3/16) print("TRUE")
if(3*(1+B)^2/8  - 1 <= T & T <= 1 - 3*(1-B)^2/8 ) print("TRUE")
# A demonstration of a special feature of blomCOP for sample data.
set.seed(794)
UV <- simCOP(n=950, cop=PSP, graphics=FALSE) # Beta = 1/3
HatBeta <- blomCOP(para=UV, sambeta=TRUE)    # HatBeta = 0.3136842
n <- 400
H <- sapply(1:100, function(i) {
       blomCOP(para=simCOP(n=n, cop=PSP, graphics=FALSE), sambeta=TRUE)
       })
print(var(H)) # Joe (2015) says that sqrt(n)(B-hatB) is Norm(0, 1 - B^2)
# but I have been unable to support this for large samples. Some confusion
# exists in Joe's syntax and discussion. Various handling of n and other
# suggests perhaps that 1 - B^2 is not quite right?

Run the code above in your browser using DataLab