NAG Library Routine Document
G13ADF
1 Purpose
G13ADF calculates preliminary estimates of the parameters of an autoregressive integrated moving average (ARIMA) model from the autocorrelation function of the appropriately differenced times series.
2 Specification
SUBROUTINE G13ADF ( |
MR, R, NK, XV, NPAR, WA, NWA, PAR, RV, ISF, IFAIL) |
INTEGER |
MR(7), NK, NPAR, NWA, ISF(4), IFAIL |
REAL (KIND=nag_wp) |
R(NK), XV, WA(NWA), PAR(NPAR), RV |
|
3 Description
Preliminary estimates of the
p non-seasonal autoregressive parameters
ϕ1,ϕ2,…,ϕp and the
q non-seasonal moving average parameters
θ1,θ2,…,θq may be obtained from the sample autocorrelations relating to lags
1 to
p+q, i.e.,
r1,…,rp+q, of the differenced
∇d∇sDxt, where
xt is assumed to follow a (possibly) seasonal ARIMA model (see
Section 3 in G13AEF for the specification of an ARIMA model).
Taking
r0=1 and
r-k=rk, the
ϕi, for
i=1,2,…,p are the solutions to the equations
The
θj, for
j=1,2,…,q, are obtained from the solutions to the equations
(Cramer Wold-factorization), by setting
where
cj are the ‘covariances’ modified in a two stage process by the autoregressive parameters.
Stage 1:
Stage 2:
The
P seasonal autoregressive parameters
Φ1,Φ2,…,ΦP and the
Q seasonal moving average parameters
Θ1,Θ2,…,ΘQ are estimated in the same way as the non-seasonal parameters, but each
rj is replaced in the calculation by
rs×j, where
s is the seasonal period.
An estimate of the residual variance is obtained by successively reducing the sample variance, first for non-seasonal, and then for seasonal, parameter estimates. If moving average parameters are estimated, the variance is reduced by a multiplying factor of τ02, but otherwise by c0.
4 References
Box G E P and Jenkins G M (1976)
Time Series Analysis: Forecasting and Control (Revised Edition) Holden–Day
5 Parameters
- 1: MR(7) – INTEGER arrayInput
On entry: the orders vector p,d,q,P,D,Q,s of the ARIMA model whose parameters are to be estimated. p, q, P and Q refer respectively to the number of autoregressive ϕ, moving average θ, seasonal autoregressive Φ and seasonal moving average Θ parameters. d, D and s refer respectively to the order of non-seasonal differencing, the order of seasonal differencing and the seasonal period.
Constraints:
- p,d,q,P,D,Q,s≥0;
- p+q+P+Q>0;
- s≠1;
- if s=0, P+D+Q=0;
- if s>1, P+D+Q>0.
- 2: R(NK) – REAL (KIND=nag_wp) arrayInput
On entry: the autocorrelations (starting at lag 1), which must have been calculated after the time series has been appropriately differenced.
Constraint:
-1.0≤Ri≤1.0, for i=1,2,…,NK.
- 3: NK – INTEGERInput
On entry: the maximum lag of the autocorrelations in array
R.
Constraint:
NK≥maxp+q,s×P+Q.
- 4: XV – REAL (KIND=nag_wp)Input
On entry: the series sample variance, calculated after appropriate differencing has been applied to the series.
Constraint:
XV>0.0.
- 5: NPAR – INTEGERInput
On entry: the exact number of parameters specified in the model by array
MR.
Constraint:
NPAR=p+q+P+Q.
- 6: WA(NWA) – REAL (KIND=nag_wp) arrayWorkspace
- 7: NWA – INTEGERInput
On entry: the amount of workspace available.
Constraint:
if MR=p,d,q,P,D,Q,s and p′=maxp,P and q′=maxq,Q, NWA≥maxp′2+p′,4q′+1.
- 8: PAR(NPAR) – REAL (KIND=nag_wp) arrayOutput
On exit: the first
NPAR elements of
PAR contain the preliminary estimates of the ARIMA model parameters, in standard order.
- 9: RV – REAL (KIND=nag_wp)Output
On exit: an estimate of the residual variance of the preliminarily estimated model.
- 10: ISF(4) – INTEGER arrayOutput
On exit: contains success/failure indicators, one for each of the four types of parameter (autoregressive, moving average, seasonal autoregressive, seasonal moving average).
The indicator has the interpretation:
-0 |
No parameter of this type is in the model. |
-1 |
Parameters of this type appear in the model and satisfactory preliminary estimates of this type were obtained. |
-1 |
Parameters of this type appear in the model but satisfactory preliminary estimates of this type were not obtainable. The estimates of this type of parameter were set to 0.0 in array PAR. |
- 11: IFAIL – INTEGERInput/Output
-
On entry:
IFAIL must be set to
0,
-1 or 1. If you are unfamiliar with this parameter you should refer to
Section 3.3 in the Essential Introduction for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value
-1 or 1 is recommended. If the output of error messages is undesirable, then the value
1 is recommended. Otherwise, if you are not familiar with this parameter, the recommended value is
0.
When the value -1 or 1 is used it is essential to test the value of IFAIL on exit.
On exit:
IFAIL=0 unless the routine detects an error or a warning has been flagged (see
Section 6).
6 Error Indicators and Warnings
If on entry
IFAIL=0 or
-1, explanatory error messages are output on the current error message unit (as defined by
X04AAF).
Errors or warnings detected by the routine:
- IFAIL=1
On entry, the orders vector
MR is invalid. One of the constraints in
Section 5 has been violated.
- IFAIL=2
On entry, NK<maxp+q,s×P+Q. There are not enough autocorrelations to enable the required model to be estimated.
- IFAIL=3
On entry, | at least one element of R lies outside the range -1.0,1.0. |
- IFAIL=4
- IFAIL=5
- IFAIL=6
On entry, | the workspace array WA is too small. See Section 5 for the minimum size formula. |
- IFAIL=7
Satisfactory parameter estimates could not be obtained for all parameter types in the model. Inspect array
ISF for indicators of the parameter type(s) which could not be estimated.
7 Accuracy
The performance of the algorithm is conditioned by the roots of the autoregressive and moving average operators. If these are not close to unity in modulus, the errors, e, should satisfy e<100ε where ε is machine precision.
8 Further Comments
The time taken by G13ADF is approximately proportional to p3+q2+P3+Q2.
9 Example
This example reads the sample autocorrelations to lag
40 and the sample variance of the lagged and doubly differenced series of airline passenger totals (Box and Jenkins example series G (see
Box and Jenkins (1976))). Preliminary estimates of the parameters of the
0,1,1,0,1,1,12 model are obtained by a call to G13ADF.
9.1 Program Text
Program Text (g13adfe.f90)
9.2 Program Data
Program Data (g13adfe.d)
9.3 Program Results
Program Results (g13adfe.r)