Forecast Multiple Steps Ahead

Share:

Description

Calculate forecasts multiple steps ahead.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    is.forecast(obj)
    forecast(obj, ...)
    ## S3 method for class 'TSmodel'
forecast(obj, data,  horizon=36,
       conditioning.inputs=NULL, 
       conditioning.inputs.forecasts=NULL, percent=NULL, ...)
    ## S3 method for class 'TSestModel'
forecast(obj, ...)
    ## S3 method for class 'TSdata'
forecast(obj, model, ...)

Arguments

obj

An object of a class for which a specific method is available.

model

An object of class TSmodel.

data

An object of class TSdata.

conditioning.inputs

A time series matrix or list of time series matrices to use as input variables.

conditioning.inputs.forecasts

A time series matrix or list of time series matrices to append to input variables for the forecast periods.

horizon

The number of periods to forecast.

percent

A vector indication percentages of the last input to use for forecast periods.

...

arguments passed to l().

Details

Calculate (multiple) forecasts from the end of data to a horizon determined either from supplied input data or the argument horizon (more details below). In the case of a model with no inputs the horizon is determined by the argument horizon. In the case of models with inputs, on which the forecasts are conditioned, the argument horizon is ignored (except when percent is specified) and the actual horizon is determined by the inputs in the following way: If inputs are not specified by optional arguments (as below) then the default will be to use inputData(data). This will be the same as the function l() unless inputData(data) is longer than outputData(data) (after NAs are trimmed from each separately). Otherwise, if conditioning.inputs is specified it is used for inputData(data). It must be a time series matrix or a list of time series matrices each of which is used in turn as inputData(data). The default above is the same as forecast(model, trimNA(data), conditioning.inputs=trimNA(inputData(data)) ) Otherwise, if conditioning.inputs.forecasts is specified it is appended to inputData(data). It must be a time series matrix or a list of time series matrices each of which is appended to inputData(data) and the concatenation used as conditioning.inputs. Both conditioning.inputs and conditioning.inputs.forecasts should not be specified. Otherwise, if percent is specified then conditioning.inputs.forecasts are set to percent/100 times the value of input corresponding to the last period of outputData(data) and used for horizon periods. percent can be a vector, in which case each value is applied in turn. ie c(90,100,110) would would give results for conditioning.input.forecasts 10 percent above and below the last value of input.

Value

The result is an object of class forecast which is a list with elements model, horizon, conditioning.inputs, percent, pred and forecast. The element forecast is a list with TSdata objects as elements, one for each element in the list conditioning.inputs. The element pred contains the one-step ahead forecasts for the preiods when output data is available. There is a plot method for this class.

See Also

featherForecasts, horizonForecasts

Examples

1
2
3
4
5
    data("egJofF.1dec93.data", package="dse")
    model <- estVARXls(window(egJofF.1dec93.data, end=c(1985,12)))
    pr <- forecast(model, conditioning.inputs=inputData(egJofF.1dec93.data))
    #tfplot(pr) Rbug 0.90.1
    is.forecast(pr)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.