Functions involved in making inferences about the scale and shape parameters of a generalised Pareto distribution using maximum likelihood estimation.

fitGP(data, u)

# S3 method for GP
coef(object, ...)

# S3 method for GP
vcov(object, ...)

# S3 method for GP
nobs(object, ...)

# S3 method for GP
logLik(object, ...)

gpObsInfo(pars, excesses, eps = 1e-05, m = 3)

Arguments

data

A numeric vector of raw data. Missing values are removed using na.omit.

u

A numeric scalar. The extremal value threshold.

object

A fitted model object returned from fitGP().

...

Further arguments to be passed to the functions in the sandwich package meat (if cluster = NULL), or meatCL (if cluster is not NULL).

pars

A numeric parameter vector of length 2 containing the values of the generalised Pareto scale and shape parameters.

excesses

A numeric vector of threshold excesses, that is, amounts by which exceedances of u exceed u.

eps, m

These control the estimation of the observed information in gpObsInfo when the GP shape parameter \(\xi\) is very close to zero. In these cases, direct calculation is unreliable. eps is a (small, positive) numeric scalar. If the absolute value of the input value of \(\xi\), that is, pars[2], is smaller than eps then we approximate the [2, 2] element using a Taylor series expansion in \(\xi\), evaluated up to and including the mth term.

Value

fitGP returns an object of class "GP", a list with components: maxLogLik, threshold, mle, vcov, exceedances, nexc, where exceedances is a vector containing the values that exceed the threshold threshold and nexc is the length of this vector.

coef.GP: a numeric vector of length 2 with names

c("sigma[u]", "xi"). The MLEs of the GP parameters

\(\sigma_u\) and \(\xi\).

vcov.GP: a \(2 \times 2\) matrix with row and column names c("sigma[u]", "xi"). The estimated variance-covariance matrix for the model parameters. No adjustment for cluster dependence has been made.

nobs.GP: a numeric vector of length 1. The number of observations used to estimate (\(\sigma_u\), \(\xi\)).

logLik.GP: an object of class "logLik": a numeric scalar with value equal to the maximised log-likelihood. The returned object also has attributes nobs, the numbers of observations used in each of these model fits, and "df" (degrees of freedom), which is equal to the number of total number of parameters estimated (2).

gpObsInfo returns a 2 by 2 matrix with row and columns names c("sigma[u]", "xi").

Details

fitGP: fit a generalised Pareto distribution using maximum likelihood estimation, using an independence log-likelihood formed by summing contributions from individual observations. No adjustment for cluster dependence has been made in estimating the variance-covariance matrix stored as component in vcov in the returned object. This function calls grimshaw_gp_mle.

coef, vcov, nobs and logLik methods are provided for objects of class "GP" returned from fitGP.

gpObsInfo: calculates the observed information matrix for a random sample excesses from the generalized Pareto distribution, that is, the negated Hessian matrix of the generalized Pareto independence log-likelihood, evaluated at pars.

Examples

# Set up data and set a threshold
cdata <- c(exdex::cheeseboro)

# Fit a generalised Pareto distribution
fit <- fitGP(cdata, 45)

# Calculate the log-likelihood at the MLE
res <- logLikVector(fit)

# The logLik method sums the individual log-likelihood contributions.
logLik(res)
#> 'log Lik.' -642.3738 (df=2)

# nobs, coef, vcov, logLik methods for objects returned from fitGP()
nobs(fit)
#> [1] 205
coef(fit)
#>    sigma[u]          xi 
#>  9.27393360 -0.09367672 
vcov(fit)
#>             sigma[u]           xi
#> sigma[u]  0.73625550 -0.038388888
#> xi       -0.03838889  0.003725287
logLik(fit)
#> 'log Lik.' -642.3738 (df=2)