The functions in this chapter assume the time series does
not contain any missing observations. If missing values are present, they should
be set to NaN
(see Chapter 15, “Utilities”)
routine imsls_f_machine),
and the routine will return an appropriate error message. To enable fitting of
the model, the missing values must be replaced by appropriate estimates.
A major component of the model identification step concerns
determining
if a given time series is stationary. The sample correlation
functions
computed by routines imsls_f_autocorrelation, imsls_f_crosscorrelation, imsls_f_multi_crosscorrelation, and
imsls_f_partial_autocorrelation may
be used to diagnose
the presence of nonstationarity in the data, as well as
to indicate the type of transformation required to induce stationarity. The
family of power transformations provided by routine imsls_f_box_cox_transform coupled with the
ability to difference the transformed data using routine imsls_f_difference affords a convenient method
of transforming a wide class of nonstationary time series to stationarity.
The “raw” data, transformed data, and sample correlation functions also provide insight into the nature of the underlying model. Typically, this information is displayed in graphical form via time series plots, plots of the lagged data, and various correlation function plots.
The observed time series may also be compared with time series generated from various theoretical models to help identify possible candidates for model fitting. The routine imsls_f_random_arma (see Chapter 12, “Random Number Generation”) may be used to generate a time series according to a specified autoregressive moving average model.
Once the data are transformed to stationarity, a tentative model in the time domain is often proposed and parameter estimation, diagnostic checking and forecasting are performed.
A small, yet comprehensive, class of stationary time-series models consists of the nonseasonal ARMA processes defined by
ɸ(B) (Wt − μ) = θ(B)At, t ∈ Z
where Z = {..., −2, −1, 0, 1, 2, ...} denotes the set of integers, B is the backward shift operator defined by BkWt = Wt−k, μ is the mean of Wt, and the following equations are true:
ɸ(B) = 1 − ɸ1B − ɸ2B2 − ... − ɸpBp, p ≥ 0
θ(B) = 1 − θ1B − θ2B2 − ... − θqBq, q ≥ 0
The model is of order (p, q) and is referred to as an ARMA (p, q) model.
An equivalent version of the ARMA (p, q) model is given by
ɸ(B) Wt = θ0 + θ(B)At, t ∈ Z
where θ0 is an overall constant defined by the following:
See Box and Jenkins (1976, pp. 92−93) for a discussion of the meaning and usefulness of the overall constant.
If the “raw” data, {Zt}, are homogeneous and nonstationary, then differencing using imsls_f_difference induces stationarity, and the model is called ARIMA (AutoRegressive Integrated Moving Average). Parameter estimation is performed on the stationary time series Wt, = ∇dZt , where ∇d = (1 − B)d is the backward difference operator with period 1 and order d, d > 0.
Typically, the method of moments includes argument IMSLS_METHOD_OF_MOMENTS in a call to function imsls_f_arma for preliminary parameter estimates. These estimates can be used as initial values into the least-squares procedure by including argument IMSLS_LEAST_SQUARES in a call to function imsls_f_arma. Other initial estimates provided by the user can be used. The least-squares procedure can be used to compute conditional or unconditional least-squares estimates of the parameters, depending on the choice of the backcasting length. The parameter estimates from either the method of moments or least-squares procedures can be input to function imsls_f_arma_forecast through the arma_info structure. The functions for preliminary parameter estimation, least-squares parameter estimation, and forecasting follow the approach of Box and Jenkins (1976, Programs 2−4, pp. 498−509).
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |