Forecasts future values of a time series (synonym of
|What to print (
||Channel number for output; default
||Number of known values to be incorporated; default 0|
||Whether to update the forecast origin to the end of the new observations (
||Variate of length ≥
||Saves standardized forecast errors; default
||Maximum lead time i.e number of forecasts to be made; default
||Variate of length
||Saves standard errors of the forecasts (on transformed scale, if defined); default
||Saves lower confidence limits; default
||Saves upper confidence limits; default
||Probability level for confidence limits; default 0.9|
||Contains variates (of length
||Save structure to supply fitted model; default
||Variates (of length
||How to treat future values of input series (
FORECAST was renamed as
TFORECAST in Release 14 to emphasize its status as a time-series command. The earlier name (
FORECAST) was retained to allow previous programs to continue to run, but this may be removed in a future release.
FORECAST can be used after
ESTIMATE to forecast future values of a time series. In many applications of forecasting with univariate ARIMA models, you will need only a simple form of the directive. For example
will cause Genstat to print forecasts for 10 lead times, that is, the next 10 time points after the end of your data. However, you must already have used
ESTIMATE to specify the time series to be forecast, and the model to be used for forecasting. This information is supplied by the
SAVE option; if
SAVE is not specified,
FORECAST uses the information from the most recent
ESTIMATE statement. Once you have used
ESTIMATE, you can give successive
FORECAST statements to incorporate new observations of the time series, and to produce forecasts from the end of the new data.
If the time series is supplied with a known model (that is, one with all its orders and parameters specified) you can use
ESTIMATE with option setting
METHOD=initialize before you use
FORECAST. This will carry out just sufficient calculations, in particular the regeneration of the model residuals, for
FORECAST to be used. The model parameters will not be changed – not even the innovation variance. This setting of
METHOD restricts the structures, such as parameter standard errors, that can be accessed using
SAVE structure created by using
METHOD=initialize thus requires less space than that produced by the other settings.
CHANNEL option allows this to be sent to another output channel.
ORIGIN option specifies the number of new values to be incorporated before forecasting ahead from that point. Setting this to a positive value n indicates that n new observations are to be added onto the end of the series. These new observations must be supplied in a variate using the
NEWOBSERVATIONS option, which must be of length ≥n. The standardized forecast errors for these new observations can be printed or saved in a variate of length n using the
UPDATE option specifies whether these new observations are to be incorporated internally onto the end of the time series and the internal pointer moved to the end of the new observations. If
UPDATE=yes is used, then
ORIGIN=0 in future calls to
FORECAST will point to the end of the n new observations. If the default,
UPDATE=no is used, then the internal pointer remains at the end of the original series.
The number of future values to be forecast is set by option
MAXLEAD. These new values can be saved in a variate of length
MAXLEAD using the
PROBABILITY option determines the width of the error limits on the forecast. It defines the probability that the actual value will be contained within the limits at any particular lead time. Note that the limits do not apply simultaneously over all lead times.
SETRANSFORM option specifies a variate to store the standard errors that Genstat used in calculating the error limits of the forecasts, starting at lead time 1. These are the standard errors of the transformed series, according to the value of the Box-Cox transformation parameter; they are functions of the model only, not of the data.
LOWER option specifies a variate to store the lower limits of the forecasts. This must be the same length as the
FORECAST variate. The
FORECAST directive puts the values of the lower limit into the variate, matching the forecasts in the
FORECAST variate. The
UPPER option similarly allows the upper limits to be saved. Note that the limits are constructed as symmetric percentiles, assuming Normality of the transformed time series. Similarly, the forecast is a median value – not necessarily the mode or the mean, unless the transformation parameter is 1.0.
SFE option specifies a variate to save the standardized errors of the forecasts. These are the innovation values that are generated as each successive new observation is incorporated, divided by the square root of the TSM innovation variance. They provide a useful check on the continuing adequacy of the model. For example, excessively large values (compared to the standard Normal distribution) may indicate that you should revise the model. The variate must be the same length as the
FORECAST variate. The
FORECAST directive places values of the errors in the variate, matching the new observations in the
The parameters of
FORECAST are relevant only when the time-series model incorporates explanatory variables, which requires a
TRANSFERFUNCTION statement before the
ESTIMATE statement. You use the
FUTURE parameter to specify a list of variates, corresponding to the list of variates specified by the
SERIES parameter of
TRANSFERFUNCTION. These variates must all have the same length. They hold future values of the explanatory variables to be used either for constructing forecasts of the response variable, or for incorporating new observations in order to revise the forecasts. You can use the
METHOD parameter when some or all of the future values of the explanatory variables are forecasts obtained using univariate ARIMA models. You can amend the error limits of the forecasts for the response variable to allow for the uncertainty in these future values, but you need to assume that there is no cross-correlation between the errors in these predictions. The list of strings specified by the
METHOD parameter indicates for each explanatory variable whether such an allowance should be made. The future values of a series are by default treated as known values if no corresponding ARIMA model is present, or if the transformation parameter of the ARIMA model is not equal to the value used in the regression model for that series. You can change the settings of the
METHOD parameter in successive
COMPONENTS option is also relevant only when the time-series model incorporates explanatory variables, and can be used to specify a pointer to variates in which you can save components of future values of the output series. There is a variate for each input component and for the output noise component. These variates correspond exactly to the variates that were specified by the
FUTURE parameter for the input series, and by the
FORECAST variate for the output series; corresponding lengths must match. The values that the variates hold can therefore be components of the forecasts of the output series, or can be new observations. The can be used to investigate the structure of forecasts.
If the input series ARIMA model and the transfer-function model have differing transformation parameters, then the
METHOD option reverts to its default action of treating the values of any future input series as known quantities rather than forecasts.
Commands for: Time series.
" Example TFIT-2: Forecast from a fitted model" VARIATE time; VALUES=!(1...120) FILEREAD [NAME='%gendir%/examples/TFIT-1.DAT'] apt " Define a model for the series as estimated in example ESTI-1" TSM [MODELTYPE=arima] airpass; ORDERS=!((0,1,1)2,12);\ PARAMETERS=!(0,0,0.687785,0.374404,0.524588) TFIT [CONSTANT=fix] SERIES=apt; TSM=airpass " Forecast one year ahead" FORECAST [MAXLEAD=12; FORECAST=forecast; UPPER=ulim; LOWER=llim] " Compare to actual values in a graph" VARIATE newtimes; VALUES=!(121...132) UNITS newtimes VARIATE [VALUES=360,342,406,396,420,472,548,559,463,407,362,405] newset TEXT [IPRINT=*] F; !t(12('F')) PEN 1...4; SYMBOL=2('heavyminus'),'circle',0; LABEL=3(*),F;\ COLOUR=2('red'),'black','blue' DGRAPH ulim,llim,newset,forecast; newtimes; PEN=1...4;\ DESCRIPTION='Upper limit','Lower limit','Observed set',\ 'Forecast set'