1. Home
  2. BJFORECAST procedure

BJFORECAST procedure

Plots forecasts of a time series using a previously fitted ARIMA (G. Tunnicliffe Wilson & S.J. Welham).


PROBABILITY = scalar Probability value used for forecast limits; default 0.9
GRAPHICS = string token What type of graphics to use (lineprinter, highresolution); default high
WINDOW = scalar Window to be used for plotting; default 1
PENS = variate The three pens to be used (after being defined appropriately) for drawing the plots; default !(1,2,3)


SERIES = variates Variates holding the time series to be used for producing forecasts
LENGTH = scalars or variates Specifies the units to be used from each series: a scalar N specifies that the first N units of the series are to be used, a variate of length 2 gives the time index of the first and last units of the subseries to be used; by default the whole series is used
TSM = TSMs ARIMA model to be used for forecasting
TIMERANGE = variates The first and second elements of each variate specify respectively the first and last time index, relative to the whole series, of the range to be forecast
ORIGIN = scalars The time of the latest observation to be used to construct forecasts with increasing leadtimes for each series; if ORIGIN is unset, the default is to take the latest time point in the series prior to the range given by TIMERANGE, unless parameter LEADTIME is set, in which case fixed leadtime forecasts are constructed
LEADTIME = scalars The fixed leadtime to be used to construct forecasts if ORIGIN is unset
FORECAST = variates Save the values of the constructed forecasts
LOWER = variates Save the lower limits of the forecasts
UPPER = variates Save the upper limits of the forecasts
SFE = variates Save the standardized forecast errors, available only for LEADTIME=1


For a time series variate, given by the SERIES parameter, BJFORECAST plots forecasts calculated from a previously fitted ARIMA model, specified by the TSM parameter. The set of time points for which forecasts are produced is defined by setting the TIMERANGE parameter to a variate of length 2 holding the first and last time index. If only part of the series is to be used to initialize for forecasting, this is specified by setting parameter LENGTH, either to a scalar N to indicate that the first N values are to be used, or to a variate of length 2 holding the positions of the first and last units to be included. The procedure also prints a description of the series, and details of the model involved in the initialization for forecasting.

There are two options to control the type of forecasting. Setting the ORIGIN parameter to a scalar indicates that forecasts are calculated from this time point (at increasing leadtimes) for the range of future times specified by the TIMERANGE parameter. Alternatively, if ORIGIN is unset, it is possible to produce forecasts with a fixed leadtime, by setting the parameter LEADTIME to the required value. If neither ORIGIN nor LEADTIME are set, a default origin is taken, namely the last element before the time range to be forecast. Where possible, the values of the supplied series are also plotted for comparison. If one-step-ahead forecasts are requested (fixed leadtime set to 1), the standardized forecast errors are plotted as a tracking signal for use in checking the continuing adequacy of the model.

The FORECAST parameter can be used to save the calculated forecasts in a variate and parameters LOWER and UPPER can save the lower and upper confidence limits for these forecasts. If the forecasts are from a fixed leadtime of 1, the standardized forecast errors can be saved in a variate given by parameter SFE; because of the way in which the standard errors are calculated, the last value of this variate is always missing. The PROBABILITY option indicates the probability value to be used for the confidence limits, with 0.9 as the default value.

Option GRAPHICS controls whether plots are produced for line printer or for the current high-resolution graphics device; by default high-resolution plots are produced. The window to be used for high-resolution plots is specified by the WINDOW option; by default WINDOW=1. The FRAME directive can be used to set the attributes of this window before calling the procedure, and these will be unchanged on leaving the procedure. The PENS option controls which pens are to be used for the plots; the attributes of these pens are modified within the procedure. By default pens 1-3 are used, but these can be changed by setting option PENS to a variate of length 3 containing the numbers of the three different pens required.




The values of the supplied series values, up to the origin, are used to initialize for forecasting (by residual regeneration), and the forecasts are then constructed over the requested time range. If fixed leadtime forecasts are required, the origin is successively updated for each forecast.

Action with RESTRICT

The input and output structures must not be restricted. Restriction of the input series to a contiguous set of units can be achieved using the LENGTH parameter.

See also

Directive: TFORECAST.


Commands for: Time series.


CAPTION    'BJFORECAST example',!t(\
           'Data from Andrews & Herzberg (1985), Data, A Collection',\
           'of Problems from Many Fields for the Student and Research',\
           'Worker, Springer-Verlag, pp. 369-370.'); STYLE=meta,plain
VARIATE    [VALUES= 8.075,7.819,7.366,8.113,7.380,7.134,7.222,7.768,\
                    5.941,5.386,5.811,6.716,6.923,6.939,6.705,6.914] Profit
TSM        Model; ORDERS=!(2,0,1,0,1,1,4);\
CAPTION    !t('Use BJFORECAST for series Profit based on times 1-40 and',\
           'ARIMA model Model to produce forecasts for times 41-56.')
BJFORECAST Profit; TSM=Model; TIMERANGE=!(41,56)
CAPTION    !t('Use BJFORECAST to produce one-step ahead forecasts based',\
           'on Model for series Profit at time points 41-50.')
Updated on March 8, 2019

Was this article helpful?