g13djc computes forecasts of a multivariate time series. It is assumed that a vector ARMA model has already been fitted to the appropriately differenced/transformed time series using
The standard deviations of the forecast errors are also returned. A reference vector is set up so that, should future series values become available, the forecasts and their standard errors may be updated by calling g13dkc.
The function may be called by the names: g13djc, nag_tsa_multi_varma_forecast or nag_tsa_varma_forecast.
Let the vector , for , denote a -dimensional time series for which forecasts of are required. Let be defined as follows:
where is the differencing operator applied to the th series and where is equal to either , or depending on whether or not a transformation was required to stabilize the variance before fitting the model.
If the order of differencing required for the th series is , then the differencing operator for the th series is defined by where is the backward shift operator; that is, . The differencing parameters , for and , must be supplied by you. If the th series does not require differencing, then .
is assumed to follow a multivariate ARMA model of the form:
where , for , is a vector of residual series assumed to be Normally distributed with zero mean and positive definite covariance matrix . The components of are assumed to be uncorrelated at non-simultaneous lags. The and are matrices of parameters. The matrices , for , are the autoregressive (AR) parameter matrices, and the matrices , for , the moving average (MA) parameter matrices. The parameters in the model are thus the () -matrices, the () -matrices, the mean vector and the residual error covariance matrix . The ARMA model (1) must be both stationary and invertible; see g13dxc for a method of checking these conditions.
where and are the autoregressive and moving average polynomials and denotes the diagonal matrix whose th diagonal elements is and
This may be rewritten as
where and is a vector of length .
Forecasts are computed using a multivariate version of the procedure described in Box and Jenkins (1976). If denotes the forecast of , then is taken to be that linear function of which minimizes the elements of where is the forecast error. is referred to as the linear minimum mean square error forecast of .
The linear predictor which minimizes the mean square error may be expressed as
The forecast error at for lead is then
Let , for . Unless the function requires estimates of , for , which are obtainable from
The terms are assumed to be zero, for . You may use g13dkc to update these forecasts should further observations, , become available. Note that when or more further observations are available then g13djc must be used to produce new forecasts for , should they be required.
When a transformation has been used the forecasts and their standard errors are suitably modified to give results in terms of the original series, ; see Granger and Newbold (1976).
Box G E P and Jenkins G M (1976) Time Series Analysis: Forecasting and Control (Revised Edition) Holden–Day
Granger C W J and Newbold P (1976) Forecasting transformed series J. Roy. Statist. Soc. Ser. B38 189–203
Wei W W S (1990) Time Series Analysis: Univariate and Multivariate Methods Addison–Wesley
On exit: contains an estimate of the standard error of the forecast of , for and .
18: – doubleOutput
On exit: the reference vector which may be used to update forecasts using g13dkc. The first elements contain the weight matrices, . The next elements contain the forecasts of the transformed series and the next contain the variances of the forecasts of the transformed variables. The last k elements are used to store the transformations for the series.
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).
6Error Indicators and Warnings
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument had an illegal value.
An excessive number of iterations were needed to evaluate the eigenvalues of the matrices used to test for stationarity and invertibility.
On entry, the AR parameter matrices are outside the stationarity region. To proceed you must supply different parameter estimates in the arrays par and qq.
On entry, the MA parameter matrices are outside the invertibility region. To proceed you must supply different parameter estimates in the arrays par and qq.
On entry, .
On entry, .
On entry, .
On entry, .
On entry, lpar is too small: and the minimum size .
On entry, and the minimum size .
On entry, .
On entry, and .
On entry, , and .
On entry, .
Constraint: , or .
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
The covariance matrix may be nearly non-positive definite. In this case the standard deviations of the forecast errors may be non-positive. To proceed you must supply different parameter estimates in the array qq.
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.
On entry, the covariance matrix qq is not positive definite. To proceed you must supply different parameter estimates in the arrays par and qq.
On entry, number of observations and number of parameters .
Constraint: number of of parameters.
The forecasts will overflow if computed. You should check whether the transformations requested in the array tr are sensible.
On entry, one (or more) of the transformations requested is invalid. Check that you are not trying to log or square-root a series, some of whose values are negative.
The matrix computations are believed to be stable.
8Parallelism and Performance
Background information to multithreading can be found in the Multithreading documentation.
g13djc is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
g13djc makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the Users' Note for your implementation for any additional implementation-specific information.
The same differencing operator does not have to be applied to all the series. For example, suppose we have , and wish to apply the second order differencing operator to the first series and the first-order differencing operator to the second series:
Then , , and
Note: although differencing may already have been applied prior to the model fitting stage, the differencing parameters supplied in delta are part of the model definition and are still required by this function to produce the forecasts.
g13djc should not be used when the moving average parameters lie close to the boundary of the invertibility region. The function does test for both invertibility and stationarity but if in doubt, you may use g13dxc, before calling this function, to check that the VARMA model being used is invertible.
This example computes forecasts of the next five values in two series each of length . No transformation is to be used and no differencing is to be applied to either of the series.
is first called to fit an AR(1) model to the series. The mean vector is to be estimated and constrained to be zero.