R: Dependence Measure Plots

chiplot {evd} | R Documentation

## Dependence Measure Plots

### Description

Plots of estimates of the dependence measures chi and chi-bar for bivariate data.

### Usage

    chiplot(data, nq = 100, qlim = NULL, which = 1:2, conf = 0.95, trunc =
        TRUE, spcases = FALSE, lty = 1, cilty = 2, col = 1, cicol = 1,
        xlim = c(0,1), ylim1 = c(-1,1), ylim2 = c(-1,1), main1 = "Chi Plot",
        main2 = "Chi Bar Plot", xlab = "Quantile", ylab1 = "Chi", ylab2 =
        "Chi Bar", ask = nb.fig < length(which) && dev.interactive(), ...)

### Arguments

`data` | A matrix or data frame with two columns. Rows (observations) with missing values are stripped from the data before any computations are performed.
`nq` | The number of quantiles at which the measures are evaluated.
`qlim` | The limits of the quantiles at which the measures are evaluated (see Details).
`which` | If only one plot is required, specify `1` for chi and `2` for chi-bar.
`conf` | The confidence coefficient of the plotted confidence intervals.
`trunc` | Logical; truncate the estimates at their theoretical upper and lower bounds?
`spcases` | If `TRUE`, plots greyed lines corresponding to the special cases of perfect positive/negative dependence and exact independence.
`lty, cilty` | Line types for the estimates of the measures and for the confidence intervals respectively. Use zero to supress.
`col, cicol` | Colour types for the estimates of the measures and for the confidence intervals respectively.
`xlim, xlab` | Limits and labels for the x-axis; they apply to both plots.
`ylim1` | Limits for the y-axis of the chi plot. If this is `NULL` (the default) the upper limit is one, and the lower limit is the minimum of zero and the smallest plotted value.
`ylim2` | Limits for the y-axis of the chi-bar plot.
`main1, main2` | The plot titles for the chi and chi-bar plots respectively.
`ylab1, ylab2` | The y-axis labels for the chi and chi-bar plots respectively.
`ask` | Logical; if `TRUE`, the user is asked before each plot.
`...` | Other arguments to be passed to `matplot`.

### Details

These measures are explained in full detail in Coles, Heffernan and Tawn (1999). A brief treatment is also given in Section 8.4 of Coles(2001). A short summary is given as follows. We assume that the data are iid random vectors with common bivariate distribution function G, and we define the random vector (X,Y) to be distributed according to G.

The chi plot is a plot of q against empirical estimates of

chi(q) = 2 - log(Pr(F_X(X) < q, F_Y(Y) < q)) / log(q)

where F_X and F_Y are the marginal distribution functions, and where q is in the interval (0,1). The quantity chi(q) is bounded by

2 - log(2u - 1)/log(u) <= chi(q) <= 1

where the lower bound is interpreted as `-Inf` for q <= 1/2 and zero for q = 1. These bounds are reflected in the corresponding estimates.

The chi bar plot is a plot of q against empirical estimates of

chibar(q) = 2log(1-q)/log(Pr(F_X(X) > q, F_Y(Y) > q)) - 1

where F_X and F_Y are the marginal distribution functions, and where q is in the interval (0,1). The quantity chibar(q) is bounded by -1 <= chibar(q) <= 1 and these bounds are reflected in the corresponding estimates.

Note that the empirical estimators for chi(q) and chibar(q) are undefined near q=0 and q=1. By default the function takes the limits of q so that the plots depicts all values at which the estimators are defined. This can be overridden by the argument `qlim`, which must represent a subset of the default values (and these can be determined using the component `quantile` of the invisibly returned list; see Value).

The confidence intervals within the plot assume that observations are independent, and that the marginal distributions are estimated exactly. The intervals are constructed using the delta method; this may lead to poor interval estimates near q=0 and q=1.

The function chi(q) can be interpreted as a quantile dependent measure of dependence. In particular, the sign of chi(q) determines whether the variables are positively or negatively associated at quantile level q. By definition, variables are said to be asymptotically independent when chi(1) (defined in the limit) is zero. For independent variables, chi(q) = 0 for all q in (0,1). For perfectly dependent variables, chi(q) = 1 for all q in (0,1). For bivariate extreme value distributions, chi(q) = 2(1-A(1/2)) for all q in (0,1), where A is the dependence function, as defined in `abvevd`. If a bivariate threshold model is to be fitted (using `fbvpot`), this plot can therefore act as a threshold identification plot, since e.g. the use of 95% marginal quantiles as threshold values implies that chi(q) should be approximately constant above q = 0.95.

The function chibar(q) can again be interpreted as a quantile dependent measure of dependence; it is most useful within the class of asymptotically independent variables. For asymptotically dependent variables (i.e. those for which chi(1) < 1), we have chibar(1) = 1, where chibar(1) is again defined in the limit. For asymptotically independent variables, chibar(1) provides a measure that increases with dependence strength. For independent variables chibar(q) = 0 for all q in (0,1), and hence chibar(1) = 0.

### Value

A list with components `quantile`, `chi` (if `1` is in `which`) and `chibar` (if `2` is in `which`) is invisibly returned. The components `quantile` and `chi` contain those objects that were passed to the formal arguments `x` and `y` of `matplot` in order to create the chi plot. The components `quantile` and `chibar` contain those objects that were passed to the formal arguments `x` and `y` of `matplot` in order to create the chi-bar plot.

### Author(s)

Jan Heffernan and Alec Stephenson

### References

Coles, S. G., Heffernan, J. and Tawn, J. A. (1999) Dependence measures for extreme value analyses. Extremes, 2, 339–365.

Coles, S. G. (2001) An Introduction to Statistical Modelling of Extreme Values, London: Springer–Verlag.

### See Also

`fbvevd`, `fbvpot`, `matplot`

### Examples

    par(mfrow = c(1,2))
    smdat1 <- rbvevd(1000, dep = 0.6, model = "log")
    smdat2 <- rbvevd(1000, dep = 1, model = "log")
    chiplot(smdat1)
    chiplot(smdat2)

[Package evd version 2.3-3 Index]