GevFit {fExtremes} | R Documentation |
A collection and description of functions to model the
Generalized Extreme Value, GEV, distribution based on
R's 'evir' package. Two types of approaches for
parameter estimation are provided: Maximum likelihood
estimation and probability weighted moment method.
The functions are:
gevSim | generates data from the GEV, |
gevFit | fits empirical or simulated data to the distribution, |
print | print method for a fitted GEV object, |
plot | plot method for a fitted GEV object, |
summary | summary method for a fitted GEV object, |
gevrlevelPlot | k-block return level with confidence intervals. |
gevSim(model = list(shape = 0.25, location = 0, scale = 1), n = 1000) gevFit(x, block = NA, type = c("mle", "pwm"), gumbel = FALSE, ...) ## S3 method for class 'gevFit': print(x, ...) ## S3 method for class 'gevFit': plot(x, which = "all", ...) ## S3 method for class 'gevFit': summary(object, doplot = TRUE, which = "all", ...) gevrlevelPlot(object, k.blocks = 20, add = FALSE, ...)
add |
[gevrlevelPlot] - whether the return level should be added graphically to a time series plot; if FALSE a graph of the profile
likelihood curve showing the return level and its confidence
interval is produced.
|
block |
[gevFit] - the block size. Only used if method="mle" is selected.
A numeric value is interpreted as the
number of data values in each successive block. All the data is
used, so the last block may not contain block observations.
If the data has a times attribute containing (in
an object of class "POSIXct" , or an object that can be
converted to that class; see as.POSIXct ) the
times/dates of each observation, then block may instead
take the character values "month" , "quarter" ,
"semester" or "year" .
|
doplot |
a logical. Should the results be plotted? |
gumbel |
[gevFit] - a logical, by default FALSE. To fit a Gumbel model with fixed shape=0 set gumbel=TRUE .
|
k.blocks |
[gevrlevelPlot] - specifies the particular return level to be estimated; default set arbitrarily to 20. |
model |
[gevSim] - a list with components shape , location and
scale giving the parameters of the GEV distribution.
By default the shape parameter has the value 0.25, the
location is zero and the scale is one.
To fit random deviates from a Gumbel distribution set
shape=0 .
|
n |
[gevSim] - number of generated data points, an integer value. |
object |
[summary][grlevelPlot] - a fitted object of class "gevFit" .
|
type |
a character string denoting the type of parameter estimation,
either by maximum likelihood estimation "mle" , the
default value, or by the probability weighted moment menthod
"pwm" .
|
which |
[plot][summary] - a vector of logicals, one for each plot, denoting which plot should be displayed. Alkternatively if which="ask" the
user will be interactively asked which of the plots should be
desplayed. By default which="all" .
|
x |
[gevFit] - data vector. In the case of method="mle" the interpretation
depends on the value of block: if no block size is specified then
data are interpreted as block maxima; if block size is set, then data
are interpreted as raw data and block maxima are calculated.
[print][plot] - a fitted object of class "gevFit" .
|
... |
[gevFit] - control parameters optionally passed to the optimization function. Parameters for the optimization function are passed to components of the control argument of
optim .
[plot][summary] - arguments passed to the plot function. |
Parameter Estimation:
gevFit
estimates the parameters either by the probability
weighted moment method, method="pwm"
or by maximum log
likelihood estimation method="mle"
.
As a limiting case the Gumbel distribution can be selected. The
summary method produces diagnostic plots for fitted GEV or Gumbel
models.
Methods:
print.gev
, plot.gev
and summary.gev
are
print, plot, and summary methods for a fitted object of class
gev
. Concerning the summary method, the data are
converted to unit exponentially distributed residuals under null
hypothesis that GEV fits. Two diagnostics for iid exponential data
are offered. The plot method provides two different residual plots
for assessing the fitted GEV model. Two diagnostics for
iid exponential data are offered.
Return Level Plot:
gevrlevelPlot
calculates and plots the k-block return level
and 95% confidence interval based on a GEV model for block maxima,
where k
is specified by the user. The k-block return level
is that level exceeded once every k
blocks, on average. The
GEV likelihood is reparameterized in terms of the unknown return
level and profile likelihood arguments are used to construct a
confidence interval.
gevSim
returns a vector of datapoints from the simulated series.
gevFit
returns an object of class gev
describing the fit.
print.summary
prints a report of the parameter fit.
summary
performs diagnostic analysis. The method provides two different
residual plots for assessing the fitted GEV model.
gevrlevelPlot
returns a vector containing the lower 95% bound of the confidence
interval, the estimated return level and the upper 95% bound.
If method "mle"
is selected the parameter fitting in gevFit
is passed to the internal function gev.mle
or gumbel.mle
depending on the value of gumbel
, FALSE
or TRUE
.
On the other hand, if method "pwm"
is selected the parameter
fitting in gevFit
is passed to the internal function
gev.pwm
or gumbel.pwm
again depending on the value of
gumbel
, FALSE
or TRUE
.
This function is based on Alec Stephenson's R-package evir
ported from the EVIS
library, Extreme Values in S,
written by Alexander McNeil. The fExtremes
port and the
change and addition of some functions were done by Diethelm Wuertz.
Embrechts, P., Klueppelberg, C., Mikosch, T. (1997); Modelling Extremal Events, Springer.
## gevSim - ## gevFit - # Simulate GEV Data: xmpExtremes("\nStart: Simulte GEV Sample >") # Use default length n=1000 x = gevSim(model = list(shape = 0.25, location =0 , scale = 1)) # Fit GEV Data by Probability Weighted Moments: fit = gevFit(x, type = "pwm") print(fit) # Summarize Results: par(mfcol = c(3, 2)) summary(fit) ## gevFit - # Fit GEV Data by Max Log Likelihood Method: xmpExtremes("\nNext: Estimate Parameters >") fit = gevFit(x, type = "mle") print(fit) # Summarize Results: summary(fit) ## gevSim - ## gevFit - # Simulate Gumbel Data: xmpExtremes("\nNext: Simulte Gumbel Sample >") # Use default length n=1000 ##> x = gevSim(model = list(shape = 0, location = 0, scale = 1)) # Fit Gumbel Data by Probability Weighted Moments: ##> fit = gevFit(x, type = "pwm", gumbel = TRUE) ##> print(fit) # Summarize Results: ##> par(mfcol = c(3, 2)) ##> summary(fit) ## Fit Gumbel Data by Max Log Likelihood Method: xmpExtremes("\nNext: Estimate Parameters >") ##> fit = gevFit(x, type = "mle", gumbel = TRUE) ##> print(fit) # Summarize Results: ##> summary(fit) ##> xmpExtremes("Press any key to continue >") ## Return levels based on GEV Fit: # BMW Stock Data: xmpExtremes("\nNext: Compute BMW Return Levels >") par(mfrow = c(2, 1)) data(bmw) # Fit GEV to monthly Block Maxima: fit = gevFit(-bmw, block = "month") # Calculate the 40 month return level gevrlevelPlot(fit, k.block = 40, main = "BMW: Return Levels") ## Return levels based on GEV Fit: xmpExtremes("\nNext: Compute SIEMENS Return Levels >") # Siemens Stock Data: data(siemens) # Fit GEV to monthly Block Maxima: fit = gevFit(-siemens, block = "month") # Calculate the 40 month return level gevrlevelPlot(fit, k.block = 40, main = "SIEMENS: Return Levels") ## Interactive Plot: ##> par(mfrow = c(1, 1), ask = TRUE) ##> plot(fit)