Learn R Programming

fExtremes (version 240.10068)

GpdGlmFit: Modelling the GPD Distribution including GLM

Description

a collection of functions to model the Generalized Pareto Distribution, GPD, by maximum likelihood approximation based on R's 'ismev' package. In addition to the function 'gpdFit' the parameter estimation allows to include generalized linear modelling, glm, of each parameter. The functions are: ll{ gpdglmFit fits empirical or simulated data to the distribution, print print method for a fitted GPD object of class ..., plot plot method for a fitted GPD object, summary summary method for a fitted GPD object, gpdglmprofPlot profile log-likelihoods for return levels, gpdglmprofxiPlot profile log-likelihoods for shape parameters. }

Usage

gpdglmFit(x, threshold = min(x), npy = 365, y = NULL, sigl = NULL,
    shl = NULL, siglink = identity, shlink = identity, show = FALSE,
    method = "Nelder-Mead", maxit = 10000, ...)

## S3 method for class 'gpdglmFit':
print(x, \dots)
## S3 method for class 'gpdglmFit':
plot(x, which = "all", \dots)
## S3 method for class 'gpdglmFit':
summary(object, doplot = TRUE, which = "all", \dots)

gpdglmprofPlot(fit, m, xlow, xup, conf = 0.95, nint = 100, ...)
gpdglmprofxiPlot(fit, xlow, xup, conf = 0.95, nint = 100, ...)

Arguments

conf
[gpdglmprof*Plot] - the confidence coefficient of the plotted profile confidence interval.
doplot
a logical. Should the results be plotted?
fit
a fitted object either of class "gpdglm".
m
[gpdglmprof*Plot] - the return level; i.e. the profile likelihood is for the value that is exceeded with probability 1/m.
maxit
[gpdglmFit] - the maximum number of iterations.
method
[gpdglmFit] - the optimization method; see optim for details.
nint
[gpdglmprof*Plot] - the number of points at which the profile likelihood is evaluated.
npy
[gpdglmFit] - the number of observations per year/block. By default 365.
object
[summary] - a fitted object of class "gpdglmFit".
show
[gpdglmFit] - a logical; if TRUE (the default), print details of the fit.
sigl, shl
[gpdglmFit] - numeric vectors of integers, giving the columns of ydat that contain covariates for generalized linear modelling of the scale and shape parameters repectively (or NULL (the default) if th
siglink, shlink
[gpdglmFit] - inverse link functions for generalized linear modelling of the scale and shape parameters repectively.
threshold
[gpdglmFit] - the threshold value; a single number or a numeric vector of the same length as xdat.
which
[plot][summary] - a vector of logicals, one for each plot, denoting which plot should be displayed. By default c(TRUE, TRUE, TRUE, TRUE, TRUE).
x
A numeric vector of data to be fitted. [print][plot] - a fitted object of class "gpdglmFit".
xlow, xup
[gpdglmprof*Plot] - the least and greatest value at which to evaluate the profile likelihood.
y
[gpdglmFit] - a matrix of covariates for generalized linear modelling of the parameters (or NULL (the default) for stationary fitting). The number of rows should be the same as the length of xdat.
...
[gpdglmFit] - other control parameters for the optimization. These are passed to components of the control argument of optim.

Value

  • A list containing the following components. A subset of these components are printed after the fit. If show is TRUE, then assuming that successful convergence is indicated, the components nexc, nllh, mle, rate and se are always printed.
  • transAn logical indicator for a non-stationary fit.
  • modelA list with components sigl and shl.
  • linkA character vector giving inverse link functions.
  • thresholdThe threshold, or vector of thresholds.
  • nexcThe number of data points above the threshold.
  • dataThe data that lie above the threshold. For non-stationary models, the data is standardized.
  • convThe convergence code, taken from the list returned by optim. A zero indicates successful convergence.
  • nllhThe negative logarithm of the likelihood evaluated at the maximum likelihood estimates.
  • valsA matrix with three columns containing the maximum likelihood estimates of the scale and shape parameters, and the threshold, at each data point.
  • mleA vector containing the maximum likelihood estimates.
  • rateThe proportion of data points that lie above the threshold.
  • covhe covariance matrix.
  • seA vector containing the standard errors.
  • nThe number of data points (i.e. the length of xdat).
  • npyThe number of observations per year/block.
  • xdataThe data that has been fitted.
  • For stationary models four plots are produced; a probability plot, a quantile plot, a return level plot and a histogram of data with fitted density. For non-stationary models two plots are produced; a residual probability plot and a residual quantile plot.

Details

Simulation: To simulate a GPD series use the function gpdSim. Parameter Estimation: gpdglmFit fits by the Maximum-likelihood approach the generalized extreme value distribution, including generalized linear modelling of each parameter. Methods: print.gpdglm, plot.gpdglm and summary.gpdglm are print, plot, and summary methods for a fitted object of class gpdglm. Nonstationary Models: For non-stationary fitting it is recommended that the covariates within the generalized linear models are (at least approximately) centered and scaled (i.e. the columns of ydat should be approximately centered and scaled).

References

Coles S. (2001); Introduction to Statistical Modelling of Extreme Values, Springer.

Examples

Run this code
## SOURCE("fExtremes.54B-GpdGlmFit")

## Use Rain Data:
   data(rain)
   
## Fit GPD Model:
   xmpExtremes("Start: Parameter Estimation >")
   fit = gpdglmFit(x = rain, threshold = 10)
   print(fit)
   xmpExtremes("Next: Summary Report > ")
   
## Summarize Results:
   xmpExtremes("Next: Profile Likelihood >")
   par(mfrow = c(2, 2), cex = 0.75)
   summary(fit, which = "all")
   # Profile Lielihood:
   par(mfrow = c(2, 1), cex = 0.75)
   gpdglmprofPlot(fit, m = 10, xlow = 55, xup = 75)
   title(main = "Rain")
   gpdglmprofxiPlot(fit, xlow = -0.02, 0.15)
   title(main = "Rain")

Run the code above in your browser using DataLab