A collection and description of functions for data
preprocessing of extreme values. This includes tools
to separate data beyond a threshold value, to compute
blockwise data like block maxima, and to decluster
point process data.
The functions are:
blockMaxima  Block Maxima from a vector or a time series, 
findThreshold  Upper threshold for a given number of extremes, 
pointProcess  Peaks over Threshold from a vector or a time series, 
deCluster  Declusters clustered point process data. 
1 2 3 4  blockMaxima(x, block = c("monthly", "quarterly"), doplot = FALSE)
findThreshold(x, n = floor(0.05*length(as.vector(x))), doplot = FALSE)
pointProcess(x, u = quantile(x, 0.95), doplot = FALSE)
deCluster(x, run = 20, doplot = TRUE)

block 
the block size. 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 
doplot 
a logical value. Should the results be plotted? By
default 
n 
a numeric value or vector giving number of extremes above
the threshold. By default, 
run 
parameter to be used in the runs method; any two consecutive threshold exceedances separated by more than this number of observations/days are considered to belong to different clusters. 
u 
a numeric value at which level the data are to be truncated. By
default the threshold value which belongs to the 95% quantile,

x 
a numeric data vector from which 
Computing Block Maxima:
The function blockMaxima
calculates block maxima from a vector
or a time series, whereas the function
blocks
is more general and allows for the calculation of
an arbitrary function FUN
on blocks.
Finding Thresholds:
The function findThreshold
finds a threshold so that a given
number of extremes lie above. When the data are tied a threshold is
found so that at least the specified number of extremes lie above.
DeClustering Point Processes:
The function deCluster
declusters clustered point process
data so that Poisson assumption is more tenable over a high threshold.
blockMaxima
returns a timeSeries object or a numeric vector of block
maxima data.
findThreshold
returns a numeric value or vector of suitable thresholds.
pointProcess
returns a timeSeries object or a numeric vector of peaks over
a threshold.
deCluster
returns a timeSeries object or a numeric vector for the
declustered point process.
Some of the functions were implemented from Alec Stephenson's
Rpackage evir
ported from Alexander McNeil's S library
EVIS
, Extreme Values in S, some from Alec Stephenson's
Rpackage ismev
based on Stuart Coles code from his book,
Introduction to Statistical Modeling of Extreme Values and
some were written by Diethelm Wuertz.
Coles S. (2001); Introduction to Statistical Modelling of Extreme Values, Springer.
Embrechts, P., Klueppelberg, C., Mikosch, T. (1997); Modelling Extremal Events, Springer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
## findThreshold 
# Threshold giving (at least) fifty exceedances for Danish data:
x = as.timeSeries(data(danishClaims))
findThreshold(x, n = c(10, 50, 100))
## blockMaxima 
# Block Maxima (Minima) for left tail of BMW log returns:
BMW = as.timeSeries(data(bmwRet))
colnames(BMW) = "BMW.RET"
head(BMW)
x = blockMaxima( BMW, block = 65)
head(x)
y = blockMaxima(BMW, block = 65)
head(y)
y = blockMaxima(BMW, block = "monthly")
head(y)
## pointProcess 
# Return Values above threshold in negative BMW logreturn data:
PP = pointProcess(x = BMW, u = quantile(as.vector(x), 0.75))
PP
nrow(PP)
## deCluster 
# Decluster the 200 exceedances of a particular
DC = deCluster(x = PP, run = 15, doplot = TRUE)
DC
nrow(DC)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.