ARMA (and intervention analysis)
Analysis and removal of serial correlations in time series, and analysis of the impact of an external
disturbance ("intervention") at a particular point in time. Assumes stationary time series, except for a
single intervention. Requires one column of equally spaced data.
This powerful but somewhat complicated module implements maximum-likelihood ARMA analysis,
and a minimal version of Box-Jenkins intervention analysis (e.g. for investigating how a climate
change might impact biodiversity).
By default, a simple ARMA analysis without interventions is computed. The user selects the number
of AR (autoregressive) and MA (moving-average) terms to include in the ARMA difference equation.
The log-likelihood and Akaike information criterion are given. Select the numbers of terms that
minimize the Akaike criterion, but be aware that AR terms are more "powerful" than MA terms. Two
AR terms can model a periodicity, for example.
The main aim of ARMA analysis is to remove serial correlations, which otherwise cause problems for
model fitting and statistics. The residual should be inspected for signs of autocorrelation, e.g. by
copying the residual from the numerical output window back to the spreadsheet and using the
autocorrelation module. Note that for many paleontological data sets with sparse data and
confounding effects, proper ARMA analysis (and therefore intervention analysis) will be impossible.
The program is based on the likelihood algorithm of Melard (1984), combined with nonlinear
multivariate optimization using simplex search.
Intervention analysis proceeds as follows. First, carry out ARMA analysis on only the samples
preceding the intervention, by typing the last pre-intervention sample number in the "last samp"
box. It is also possible to run the ARMA analysis only on the samples following the intervention, by
typing the first post-intervention sample in the "first samp" box, but this is not recommended
because of the post-intervention disturbance. Also tick the "Intervention" box to see the optimized
The analysis follows Box and Tiao (1975) in assuming an "indicator function" u(i) that is either a unit
step or a unit pulse, as selected by the user. The indicator function is transformed by an AR(1)
process with a parameter delta, and then scaled by a magnitude (note that the magnitude given by
PAST is the coefficient on the transformed indicator function: first do y(i)=delta*y(i-1)+u(i), then scale
y by the magnitude). The algorithm is based on ARMA transformation of the complete sequence,
then a corresponding ARMA transformation of y, and finally linear regression to find the magnitude.
The parameter delta is optimized by exhaustive search over [0,1].
For small impacts in noisy data, delta may end up on a sub-optimum. Try both the step and pulse
options, and see what gives smallest standard error on the magnitude. Also, inspect the "delta
optimization" data, where standard error of the estimate is plotted as a function of delta, to see if
the optimized value may be unstable.