Function: Time Series Forecast performs a prediction upon a set of values with an associated time index to a given point in the future which is stated by the Omniscope user.
Typical Use Case: This block performs forecasts for a single ordered field, usually a time series with an associated date field. The block provides the original series with the predicted values up until the specified date or observation. There are regular intervals between each data point.
Time Series Forecast can use dates (optional) to provide more accurate forecasts. These are used to estimate the frequency of the time series, although this may be manually specified. The best forecast is provided from three possible models, with the forecast model chosen based upon a test forecast for the observed time series. The test forecast is also provided by the block.
The third output ‘Decomposition’ can help the user diagnose long term trends from short term fluctuations in historical data. Here there are six additional outputs. The Seasonality and Trend fields represent the short and long term fluctuations of the data set, the Model represents how well the model has captured the data, and the Remainder is the difference between values forecasted and the Model. Deseasonalised and Detrended are is the Value Field with the Seasonality or Trend taken away from the time series.
Any missing values and dates are managed internally by default. If there are any missing values then the time series will be interpolated. If there is a date index missing, with or without a value, a best guess will be provided for the data providing a time series with a constant intervals between observations. This can help provide more accurate decompositions and forecasts.
If the user wants to keep their current date index they can do so by selecting "Assume Equidistant".
Here we will use US Airline Passenger data between 1949 and 1960, decompose the series into its seasonal and long term trend components before predicting the following three years observations. This is available in the Demo Data block under the title "Air Passengers (time series)".
Using this simple univariate time series data below the decomposition is easy to set up, only requiring the date and value fields from the data to be specified. There are other advanced options to force multiplicative or additive seasonality and to specify the frequency of the series. These are not mandatory and smart defaults are used by the block.
Options for decomposition:
This produces six additional outputs, the seasonality, trend, model (combination of both the seasonality and trend) and the remainder (difference between the model and input). The de-seasonalised/de-trended data is the original data minus the seasonality/trend. We can use these to obtain the following time series plots in Omniscope:
This gives a strong indicator that the frequency and multiplicative nature of the time series has been successfully estimated, but can also be used for retrospective analysis of the data. Performing a time series forecast is similarly straightforward.
In many competing products, the end user has to choose which type of model to use to perform the forecast. The Omniscope Time Series Forecast block estimates uses three types of models when first performing a test forecast. The model with the best forecast will be used to provide the final forecast along with that model's test forecast. This is a process that can be overridden in the Advanced options where the user can specify which model to use as well as set the specifications for ARIMA models.
Plotting both the test forecast and the actual forecast using a Custom View gives the following results:
The Time Series Forecasting block also provides a report of each of the parameters used in the model. This allows a deeper technical understanding of the estimated model as well as the ability to recreate the model.