Learn R Programming

evir (version 1.7-4)

gpdbiv: Implements Bivariate POT Method

Description

Returns an object of class "gpdbiv" representing the fit of a bivariate POT (peaks over thresholds) model for joint excesses over thresholds.

Usage

gpdbiv(data1 = NA, data2 = NA, u1 = NA, u2 = NA, ne1 = NA, ne2 = NA,
    global = FALSE, method = "BFGS", …)

Arguments

data1

first data vector

data2

second data vector

u1

threshold for data1 (either this or ne1 must be given but not both)

u2

threshold for data2 (either this or ne2 must be given but not both)

ne1

number of upper extremes to be used for data1 (either this or u1 must be given but not both)

ne2

number of upper extremes to be used for data2 (either this or u2 must be given but not both)

global

should a global maximisation of the likelihood with respect to marginal and dependence parameters be undertaken. The default alternative is a two-stage local fit where first the marginal parameters are estimated and then the dependence parameter. This is much faster than a global fit.

method

the optimization method (see optim). The argument has been created (as distinct from …) in order to make the "BFGS" method the default, as the default used by optim is not recommended for the one-dimensional optimizations that occur when global = FALSE.

other arguments passed to optim

Value

An object of class "gpdbiv" representing the fit and including parameter estimates and standard errors.

Details

This function implements a model suggested by Richard Smith (see references below). The marginal excess distributions are GPD distributions, as suggested by univariate EVT and implemented in gpd. The dependence specification is known as the logistic or Gumbel dependence structure, but it would be easy to program alternatives.

References

Multivariate Threshold Methods, Richard L. Smith, in Extreme Value Theory and Applications, ed. J. Galambos, published by Kluwer, pages 225-248, 1994.

Markov Chain Models for Threshold Exceedances, R.L. Smith, J.A. Tawn, S.G. Coles, Biometrika 84, 249-268, 1997.

See Also

gpd, plot.gpdbiv, interpret.gpdbiv

Examples

Run this code
# NOT RUN {
data(bmw) ; data(siemens)
out <- gpdbiv(-bmw, -siemens, ne1 = 100, ne2 = 100)
interpret.gpdbiv(out, 0.05, 0.05)
# }
# NOT RUN {
plot(out)
# }

Run the code above in your browser using DataLab