chron.ars: Build ARSTAN Chronology

chron.arsR Documentation

Build ARSTAN Chronology

Description

This function builds three varieties of the mean-value chronology, including the ARSTAN chronology, typically from a data.frame of detrended ring widths as produced by detrend.

Usage

chron.ars(x, biweight=TRUE, maxLag=10, firstAICmin=TRUE, 
  verbose=TRUE, prewhitenMethod=c("ar.yw","arima.CSS-ML"))

Arguments

x

a data.frame of (usually detrended) ring widths with rownames(x) containing years and colnames(x) containing each series ID such as produced by read.rwl

biweight

logical flag. If TRUE then a robust mean is calculated using tbrm.

maxLag

an integer giving the maximum lag to consider in the pooled AR modeling. If the AIC does not reach a local minimum within this range when using firstAICmin = TRUE, the function stops with an error. Increase maxLag if this occurs.

firstAICmin

logical flag. If TRUE the final AR order is selected using the first local AIC minimum; otherwise the order is selected by the overall minimum across all lags up to maxLag. See Details.

verbose

logical flag. If TRUE the function prints information from the AR modeling to the screen.

prewhitenMethod

a character vector to determine the AR model fitting. See details below. Possible values are either "ar.yw" or "arima.CSS-ML". Can be abbreviated. Defaults to "ar.yw".

Details

This produces three mean-value chronologies: standard, residual, and ARSTAN. Users unfamiliar with the concept behind the ARSTAN method should look to Cook (1985) for background and inspiration.

The standard chronology is the (biweight) mean value across rows and identical to chron.

The residual chronology is the prewhitened chronology as described by Cook (1985) and uses multivariate autoregressive modeling to determine the order of the AR process. It is important to note that the residual chronology produced here is different from the simple residual chronology produced by chron, which returns the residuals of an AR process using a naive call to ar. In practice the results will be similar. For more on the residual chronology in this function, see pp. 153-154 in Cook's 1985 dissertation.

The ARSTAN chronology builds on the residual chronology but returns a re-whitened chronology where the pooled AR coefficients from the multivariate autoregressive modeling are reintroduced. See references for details.

The order of the AR model is selected from the pooled AR coefficients by AIC using either the first local AIC minimum (firstAICmin = TRUE, the default) or the overall minimum across all lags up to maxLag (firstAICmin = FALSE). When firstAICmin = TRUE and the AIC decreases monotonically across all tested lags without reaching a local minimum, the function stops with an error. This can occur when maxLag is too small for the data or when the series have persistence structures that are not well-suited to this approach (e.g., non-stationary or very long-memory series). In such cases, consider increasing maxLag or reviewing the data preparation steps described in Cook (1985). When firstAICmin = FALSE the function always selects an order and does not stop in this way.

If the selected AR order is zero (no detectable common autocorrelation among the series), no prewhitening or post-reddening is applied and all three returned chronologies are identical to the standard chronology.

Once the AR order is determined an AR(p) model is fit to each series using either ar via the Yule-Walker method or by arima via conditional-sum-of-squares to find starting values, then maximum likelihood. It is possible that the model will not converge in which case a warning is produced. The AR fitting is determined via prewhitenMethod and defaults to using ar.

Value

A data.frame of class "crn" with the following columns:

std

the standard chronology: the (biweight) mean ring-width index across all series for each year.

res

the residual chronology: the standard chronology after multivariate autoregressive prewhitening to remove common persistence.

ars

the ARSTAN chronology: the residual chronology with the pooled autoregression reintroduced. When the selected AR order is zero, std, res, and ars are identical.

samp.depth

the number of series with non-missing values in each year.

Row names are the years taken from rownames(x).

Author(s)

Andy Bunn with contributions from Kevin Achukaitis and Ed Cook. Much of the function is a port of Cook's FORTRAN code.

References

Cook, E. R. and Kairiukstis, L. A., editors (1990) Methods of Dendrochronology: Applications in the Environmental Sciences. Springer. ISBN-13: 978-0-7923-0586-6.

Cook, E. R. (1985). A Time Series Analysis Approach to Tree Ring Standardization. PhD thesis, The University of Arizona.

See Also

chron, crn.plot, ar, arima

Examples

library(graphics)
library(utils)
data(co021)
co021.rwi <- detrend(rwl = co021, method = "AgeDepSpline")
co021.crn <- chron.ars(co021.rwi)
plot(co021.crn,xlab="Year",ylab="RWI",add.spline=TRUE,nyrs=20)
cor(co021.crn)

dplR documentation built on May 21, 2026, 9:07 a.m.