Learn R Programming

copBasic (version 2.0.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. Blomqvist's Beta is also called the medial correlation coefficient. 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. 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, as.sample=FALSE, ...)

Arguments

cop
A copula function;
para
Vector of parameters or other data structure, if needed, to pass to the copula;
as.sample
A logical controlling whether an optional Rdata.frame in para is used to compute the $\hat\beta_\mathbf{C}$ (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., 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

footCOP, giniCOP, hoefCOP, rhoCOP, tauCOP, wolfCOP, joeskewCOP, uvlmoms

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, as.sample=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 (2014) 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