extRemes (version 1.65)

decluster.runs: Declustering Extremes

Description

Performs runs/intervals declustering.

Usage

decluster.runs(z, r, blocks = NULL)
decluster.intervals(z, ei, blocks = NULL)

Arguments

z
Logical vector indicating which positions correspond to extreme values.
r
Integer run length.
ei
Estimate of the extremal index.
blocks
numeric of length z giving blocks across which inter-exceedance times should not be computed. For example, if data cover only summer months across several years, it may not make sense to allow interexceedance times to carry over across years

Value

  • A list containing
  • schemeName of declustering scheme.
  • parValue of declustering parameter (i.e., run length).
  • ncNumber of clusters.
  • sizeVector of cluster sizes.
  • sVector of times of extremes.
  • clusterVector of numbers identifying clusters to which extremes belong.
  • tVector of times between extremes.
  • interVector of intercluster time indicators (logical).
  • intraVector of intracluster time indicators (logical).
  • blocksSame as the argument passed in.

Details

Runs declustering: Extremes separated by fewer than r non-extremes belong to the same cluster. Setting r < 1 causes each extreme to form a separate cluster.

Intervals declustering: Extremes separated by fewer than r non-extremes belong to the same cluster, where r is the nc-th largest interexceedance time and nc, the number of clusters, is estimated from the extremal index, ei, and the times between extremes. Setting ei = 1 causes each extreme to form a separate cluster.

References

Smith, R. L. (1989) Extreme value analysis of environmental time series: an application to trend detection in ground-level ozone. Statistical Science, 4, 367--393.

Ferro, C. A. T. and Segers, J. (2003) Inference for clusters of extreme values. Journal of the Royal Statistical Society B, 65, 545--556.

See Also

exi.intervals

Examples

Run this code
# Simulate a dependent series of random variables.
x <- runif(1000,-1,1)
x[2:1000] <- x[1:999]*0.6
# -- DON'T RUN
# pacf( x)

# use runs and intervals declustering using the 90th percentile as the threshold.
u <- quantile(x, 0.9)
z <- x > u
exi.intervals(z)
tmp1 <- decluster.runs(z, 1)
tmp2 <- decluster.intervals( z, exi.intervals(z))

data(FCwx)
x <- FCwx$MxT # Fort Collins, Colorado daily maximum temperature series (degrees Fahrenheit).
y <- FCwx$Year # corresponding years.
id <- is.element(FCwx$Mn,7:8) # July and August time points.
x <- x[id]
y <- y[id]
exi.intervals(x>93.5, blocks=y)
tmp1 <- decluster.runs(x>93.5, 1, blocks=y)
tmp2 <- decluster.intervals(x>93.5, 0.555, blocks=y)

Run the code above in your browser using DataLab