hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_tsa_uni_arima_prelim (g13ad)


    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example


nag_tsa_uni_arima_prelim (g13ad) calculates preliminary estimates of the parameters of an autoregressive integrated moving average (ARIMA) model from the autocorrelation function of the appropriately differenced times series.


[par, rv, isf, ifail] = g13ad(mr, r, xv, npar, 'nk', nk)
[par, rv, isf, ifail] = nag_tsa_uni_arima_prelim(mr, r, xv, npar, 'nk', nk)


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 dsDxt, where xt is assumed to follow a (possibly) seasonal ARIMA model (see Description in nag_tsa_uni_arima_estim (g13ae) 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
r q+i-1 ϕ1+ r q+i-2 ϕ2 ++ r q+i-p ϕp = rq+i ,   i=1,2,,p.  
The θj, for j=1,2,,q, are obtained from the solutions to the equations
cj=τ0τj+τ1τj+1++τq+jτq,   j=0,1,,q  
(Cramer Wold-factorization), by setting
θj=-τjτ0 ,  
where cj are the ‘covariances’ modified in a two stage process by the autoregressive parameters.
Stage 1:
dj=rj-ϕ1rj-1--ϕprj-p, j=0,1,,q; dj=0, j=q+1,q+2,,p+q.  
Stage 2:
cj=dj-ϕ1dj+ 1-ϕ2dj+ 2--ϕpdj+p,   j= 0,1,,q.  
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.


Box G E P and Jenkins G M (1976) Time Series Analysis: Forecasting and Control (Revised Edition) Holden–Day


Compulsory Input Parameters

1:     mr7 int64int32nag_int array
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.
  • p,d,q,P,D,Q,s0;
  • p+q+P+Q>0;
  • s1;
  • if s=0, P+D+Q=0;
  • if s>1, P+D+Q>0.
2:     rnk – double array
The autocorrelations (starting at lag 1), which must have been calculated after the time series has been appropriately differenced.
Constraint: -1.0ri1.0, for i=1,2,,nk.
3:     xv – double scalar
The series sample variance, calculated after appropriate differencing has been applied to the series.
Constraint: xv>0.0.
4:     npar int64int32nag_int scalar
The exact number of parameters specified in the model by array mr.
Constraint: npar=p+q+P+Q.

Optional Input Parameters

1:     nk int64int32nag_int scalar
Default: the dimension of the array r.
The maximum lag of the autocorrelations in array r.
Constraint: nkmaxp+q,s×P+Q.

Output Parameters

1:     parnpar – double array
The first npar elements of par contain the preliminary estimates of the ARIMA model parameters, in standard order.
2:     rv – double scalar
An estimate of the residual variance of the preliminarily estimated model.
3:     isf4 int64int32nag_int array
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.
4:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:

Cases prefixed with W are classified as warnings and do not generate an error of type NAG:error_n. See nag_issue_warnings.

On entry, the orders vector mr is invalid. One of the constraints in Arguments has been violated.
On entry, nk<maxp+q,s×P+Q. There are not enough autocorrelations to enable the required model to be estimated.
On entry,at least one element of r lies outside the range -1.0,1.0.
On entry,xv0.0.
On entry,nparp+q+P+Q.
On entry,the workspace array wa is too small. See Arguments for the minimum size formula.
W  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.
An unexpected error has been triggered by this routine. Please contact NAG.
Your licence key may have expired or may not have been installed correctly.
Dynamic memory allocation failed.


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.

Further Comments

The time taken by nag_tsa_uni_arima_prelim (g13ad) is approximately proportional to p3+q2+P3+Q2.


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 nag_tsa_uni_arima_prelim (g13ad).
function g13ad_example

fprintf('g13ad example results\n\n');

% Data
r = [-0.32804;     0.09850;    -0.21854;     0.05585;     0.04679;
      0.04135;    -0.07989;     0.00335;     0.13973;    -0.04022;
      0.07618;    -0.40583;     0.18239;    -0.05057;     0.16094;
     -0.15900;     0.09152;    -0.03474;     0.05195;    -0.14417;
      0.04264;    -0.08170;     0.23389;    -0.02828;    -0.09001;
      0.03050;    -0.02046;     0.05522;    -0.02048;    -0.06651;
     -0.02940;     0.20204;    -0.13953;     0.10098;    -0.20849;
      0.03338;     0.00829;     0.07082;    -0.04457;    -0.01216];

% orders
mr = [int64(0);1;1;0;1;1;12];
% variance
xv = 0.00213;

npar = int64(2);

% Calculate preliminary estimates
[par, rv, isf, ifail] = g13ad( ...
                               mr, r, xv, npar);

% Display results
fprintf('Parameter estimation success/failure indicator');
fprintf('%4d', isf);
fprintf('\n\nARIMA model parameter values ');
fprintf('%10.5f', par);
fprintf('\n\nResidual variance %10.5f\n', rv);

g13ad example results

Parameter estimation success/failure indicator   0   1   0   1

ARIMA model parameter values    0.37390   0.51237

Residual variance    0.00148

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015