R: Sample and Population Version of Blomqvist's Beta for...

beta.Blomqvist {copula} | R Documentation

## Sample and Population Version of Blomqvist's Beta for Archimedean Copulas

### Description

Compute the population (`beta.()`) and sample (`betan()`) version of Blomqvist's beta for an Archimedean copula.

See the reference below for definitions and formulas.

### Usage

    beta.(cop, theta, d, scaling=FALSE)
    betan(u, scaling=FALSE)

### Arguments

`cop` | an Archimedean copula (of dimension d) to be estimated.
`theta` | copula parameter.
`d` | dimension.
`scaling` | logical, if true, the factors 2^(d-1)/(2^(d-1)-1) and 2^(1-d) in Blomqvist's beta are omitted.
`u` | For `betan`: (n x d)-matrix of d-dimensional observations distributed according to the copula.

### Value

`beta.`:

  a number, being the population version of Blomqvist's beta for the corresponding Archimedean copula;

`betan`:

  a number, being the sample version of Blomqvist's beta for the given data.

### References

Schmid and Schmidt (2007), Nonparametric inference on multivariate versions of Blomqvist's beta and related measures of tail dependence, Metrika 66, 323–354.

### See Also

`acopula`

### Examples

    beta.(copGumbel, 2.5, d = 5)

    d.set <- c(2:6, 8, 10, 15, 20, 30)
    cols <- adjustcolor(colorRampPalette(c("red", "orange", "blue"),
                                         space = "Lab")(length(d.set)), 0.8)
    ## AMH:
    for(i in seq_along(d.set))
       curve(Vectorize(beta.,"theta")(copAMH, x, d = d.set[i]), 0, .999999,
             main = "Blomqvist's beta(.) for  AMH",
             xlab = quote(theta), ylab = quote(beta(theta, AMH)),
             add = (i > 1), lwd=2, col=cols[i])
    mtext("NB:  d=2 and d=3 are the same")
    legend("topleft", paste("d =",d.set), bty="n", lwd=2, col=cols)

    ## Gumbel:
    for(i in seq_along(d.set))
       curve(Vectorize(beta.,"theta")(copGumbel, x, d = d.set[i]), 1, 10,
             main = "Blomqvist's beta(.) for  Gumbel",
             xlab = quote(theta), ylab = quote(beta(theta, Gumbel)),
             add=(i > 1), lwd=2, col=cols[i])
    legend("bottomright", paste("d =",d.set), bty="n", lwd=2, col=cols)

    ## Clayton:
    for(i in seq_along(d.set))
       curve(Vectorize(beta.,"theta")(copClayton, x, d = d.set[i]), 1e-5, 10,
             main = "Blomqvist's beta(.) for  Clayton",
             xlab = quote(theta), ylab = quote(beta(theta, Gumbel)),
             add=(i > 1), lwd=2, col=cols[i])
    legend("bottomright", paste("d =",d.set), bty="n", lwd=2, col=cols)

    ## Joe:
    for(i in seq_along(d.set))
       curve(Vectorize(beta.,"theta")(copJoe, x, d = d.set[i]), 1, 10,
             main = "Blomqvist's beta(.) for  Joe",
             xlab = quote(theta), ylab = quote(beta(theta, Gumbel)),
             add=(i > 1), lwd=2, col=cols[i])
    legend("bottomright", paste("d =",d.set), bty="n", lwd=2, col=cols)

    ## Frank:
    for(i in seq_along(d.set))
       curve(Vectorize(beta.,"theta")(copFrank, x, d = d.set[i]), 1e-5, 50,
             main = "Blomqvist's beta(.) for  Frank",
             xlab = quote(theta), ylab = quote(beta(theta, Gumbel)),
             add=(i > 1), lwd=2, col=cols[i])
    legend("bottomright", paste("d =",d.set), bty="n", lwd=2, col=cols)

    ## Shows the numeric problems:
    curve(Vectorize(beta.,"theta")(copFrank, x, d = 29), 35, 42, col="violet")

[Package copula version 1.0-1 Index]