Convert a time series of observations to a time series of standardised indices that can be used to monitor variables on a common and probabilistically interpretable scale. The indices can be aggregated and rescaled to different time scales, visualised using plot capabilities, and calculated using a range of distributions. This includes flexible non-parametric and non-stationary methods.
SEI is an R package to calculate standardised indices. Standardised indices are frequently used to convert measurements to a common scale with a meaningful probabilistic interpretation. Well-known examples include the Standardised Precipitation Index (SPI) and Standardised Precipitation Evapotranspiration Index (SPEI), which are used to monitor hydrological droughts, and the Standardised Residual Load Index (SRLI), and the Standardised Renewable Energy Production Index (SREPI), which have been proposed to monitor energy droughts.
This package facilitates the implementation of standardised indices in practice. It's main features include:
The functionality and usage of the SEI package is discussed in detail in the corresponding vignette. The vignette also lists several possible extensions that could be implemented. Additional comments, suggestions, and input are more than welcome - please feel free to create an issue or get in touch with the authors.
The SEI package is available on CRAN:
install.packages("SEI")
and the developmental version on GitHub can be installed using devtools:
# install.packages("devtools")
library(devtools)
install_github("noeliaof/SEI", build_vignettes = TRUE)
Standardised indices provide a means to convert measurements to a common and interpretable scale. This is useful for many reasons. For example:
The general approach to compute the indices is to estimate the cumulative distribution function $F$ underlying the measurements, use this to derive probability integral transform (PIT) values, and then to transform these PIT values using the Gaussian quantile function. If $F$ has been estimated accurately, the resulting values will resemble a sample from a standard normal distribution. A negative value represents a measurement that is lower than average, while a positive value represents an above-average measurement. A very high or low index constitutes an extreme value, and we can deduce how extreme the value is by comparing it to quantiles of the standard normal distribution.
The main challenge when calculating standardised indices is estimating the cumulative distribution function $F$ of the measurements. This can be achieved by assuming some parametric distribution: the SPI, for example, typically assumes precipitation follows a gamma distribution. Alternatively, we can use kernel density estimation or the empirical distribution function to get a more flexible estimate. Non-stationary distributions that depend on predictor variables can also be employed if the standardised indices should account for trends in the data, for example. In any case, it is important to check that the estimated distribution is valid.
The SEI package offers a wide range of distributions, and additionally provides diagnostic tools to check that the chosen distribution adequately fits the input data. Further details regarding the theory underlying standardised indices, and the functionality of the SEI package, are provided in the package vignette.
To cite the SEI package, please use the following BibTeX entry:
@article{SEI,
title={Calculating Standardised Indices Using SEI},
author={Allen, Sam and Otero, Noelia},
year={2023},
publisher={EarthArXiv}
}