TimeSeriesAnalysis - Maple Programming Help

Home : Support : Online Help : Statistics and Data Analysis : Time Series Analysis Package : TimeSeriesAnalysis/OneStepForecasts

TimeSeriesAnalysis

 OneStepForecasts
 generate 1-step forecasts for a time series using an exponential smoothing model

 Calling Sequence OneStepForecasts(model, extraparameters, opts) OneStepForecasts(model, ts, extraparameters, opts)

Parameters

 model - ts - Time series consisting of a single data set extraparameters - (optional) table of parameter values opts - (optional) equation(s) of the form optionname = value, where optionname is either output or runs

Description

 • The OneStepForecasts command generates a single step forecast for every data point in ts, using the exponential smoothing model model.
 • If a TimeSeries ts is not given, then the time series that model is created from will be used.
 • Single step forecasts are generated during simulation as the point forecast for the next value of the time series. By comparing this with the actual, realized value, the error ${\mathrm{\epsilon }}_{t}$ is determined. Conversely, the one step forecast can be obtained from the actual time series by either subtracting ${\mathrm{\epsilon }}_{t}$ (for a model with additive errors) or by dividing by $1+{\mathrm{\epsilon }}_{t}$ (for multiplicative errors).
 • The value of any of the parameters can be overridden by supplying the extraparameters option. It is a table in the format returned by Initialize: its indices are global names corresponding to parameters, and the values are their values as explained in the Exponential smoothing model help page.

Options

 • output: point, runs, percentiles(p1, p2, ..., pn), quantiles(q1, q2, ..., qn), or confidenceintervals(c1, c2, ..., cn)
 By default, Maple will generate the one step forecast by assuming the error is $0$. Other forms of output can be selected using the output option. This affects the error values used to generate the values in the one step forecast time series, but since the forecasts are still single step, these errors are not propagated to future values.
 – output = percentiles(p1, p2, ..., pn) returns $n$ time series that represent the p1th, p2th, ..., pnth percentile of the distribution of the values generated by the model. This is obtained via simulation.
 – output = quantiles(q1, q2, ..., qn) returns $n$ time series that represent the q1th, q2th, ..., qnth quantile of the distribution of the values generated by the model. The only difference with percentiles is that, for example, p1 = 5 will be interpreted in the same way as q1 = 0.05.
 – output = confidenceintervals(c1, c2, ..., cn) returns $2n+1$ time series: the 50 - ci/2 and 50 + ci/2 percentiles for i from 1 to n, and the 50th percentile. For example, confidenceintervals(80, 95) will return the $2.5$, $10$, $50$, $90$, and $97.5$ percentiles.
 – output = runs returns all simulated future time series. This requires that the runs = k option is also included. (See below.) This is not particularly useful for one step forecasts: because errors are not propagated forward in time, there is no particular relationship between subsequent data points in one run. This option is allowed mainly for compatibility with the Forecast command.
 – output = point selects the default behavior of point forecasts obtained by setting all future residuals to $0$.
 • runs: nonnegative integer
 For any setting of the output option other than point, Maple will run multiple one step forecasts. The runs option determines the number of forecasting runs used to arrive at this output. If output is of the form percentiles(p1, p2, ..., pn) or quantiles(q1, q2, ..., qn) or confidenceintervals(c1, c2, ..., cn), then by default, Maple chooses the number of runs between $50$ and $2000$ depending on the particular values chosen. For example, for percentiles(10, 50, 70), the default number of runs is $225$. The runs option overrides this default. It is a required option if output = runs is selected: there is no default value. If output = point, then the runs option is ignored.

Examples

 > $\mathrm{with}\left(\mathrm{TimeSeriesAnalysis}\right):$

Consider the following time series. It represents international tourist visitor nights in Australia.

 > $\mathrm{ts}≔\mathrm{TimeSeries}\left(⟨41.7,24.0,32.3,37.3,46.2,29.3,36.5,43.0,48.9,31.2,37.7,40.4,51.2,31.9,41.0,43.8,55.6,33.9,42.1,45.6,59.8,35.2,44.3,47.9⟩,\mathrm{startdate}="2005",\mathrm{frequency}=\mathrm{quarterly},\mathrm{header}="Visitor nights"\right)$
 ${\mathrm{ts}}{≔}\left[\begin{array}{c}{\mathrm{Time series}}\\ {\mathrm{Visitor nights}}\\ {\mathrm{24 rows of data:}}\\ {\mathrm{2005-Jan-01 - 2010-Oct-01}}\end{array}\right]$ (1)

First, an exponential smoothing model can be fit to the data:

 > $\mathrm{esm}≔\mathrm{ExponentialSmoothingModel}\left(\mathrm{ts}\right)$
 ${\mathrm{TimeSeriesAnalysis}}{:-}{\mathrm{ExponentialSmoothingModel}}{}\left({\mathrm{errors}}{=}\left\{{"M"}\right\}{,}{\mathrm{trend}}{=}\left\{{"A"}\right\}{,}{\mathrm{seasonal}}{=}\left\{{"M"}\right\}{,}{\mathrm{α}}{=}{0.4836790988889591}{,}{\mathrm{β}}{=}{0.0003088251694408857}{,}{\mathrm{γ}}{=}{0.00023143579040411943}{,}{\mathrm{φ}}{=}{1.}{,}{\mathrm{period}}{=}{4}{,}{\mathrm{l0}}{=}{31.691916154639692}{,}{\mathrm{b0}}{=}{0.6527296503176275}{,}{s}{=}\left(\left[\begin{array}{c}1.2641437853861655\\ 0.7602113492955748\\ 0.946057915985054\\ 1.0295918919494698\end{array}\right]\right){,}{\mathrm{σ}}{=}{0.03343189749472918}{,}{\mathrm{constraints}}{=}{"both"}\right)$ (2)

One step point forecasts of this model can be found from the above model:

 > $\mathrm{pfc}≔\mathrm{OneStepForecasts}\left(\mathrm{esm}\right)$
 ${\mathrm{pfc}}{≔}\left[\begin{array}{c}{\mathrm{Time series}}\\ {\mathrm{Visitor nights \left(1 step forecasts\right)}}\\ {\mathrm{24 rows of data:}}\\ {\mathrm{2005-Jan-01 - 2010-Oct-01}}\end{array}\right]$ (3)
 > $\mathrm{TimeSeriesPlot}\left(\mathrm{ts},\left[\mathrm{pfc},\mathrm{color}="Red"\right]\right)$ The time series can also be specified explicitly:

 > $\mathrm{pfc2}≔\mathrm{OneStepForecasts}\left(\mathrm{esm},\mathrm{ts}\right)$
 ${\mathrm{pfc2}}{≔}\left[\begin{array}{c}{\mathrm{Time series}}\\ {\mathrm{Visitor nights \left(1 step forecasts\right)}}\\ {\mathrm{24 rows of data:}}\\ {\mathrm{2005-Jan-01 - 2010-Oct-01}}\end{array}\right]$ (4)
 > $\mathrm{TimeSeriesPlot}\left(\mathrm{ts},\left[\mathrm{pfc2},\mathrm{color}="Red"\right]\right)$ Confidence intervals can be added to the output:

 > $\mathrm{cis}≔\mathrm{OneStepForecasts}\left(\mathrm{esm},\mathrm{output}=\mathrm{confidenceintervals}\left(80,95\right)\right)$
 ${\mathrm{cis}}{≔}\left[\begin{array}{c}{\mathrm{Time series}}\\ {\mathrm{Visitor nights \left(1 step forecast - 2 percentile\right), ..., Visitor nights \left(1 step forecast - 98 percentile\right)}}\\ {\mathrm{24 rows of data:}}\\ {\mathrm{2005-Jan-01 - 2010-Oct-01}}\end{array}\right]$ (5)
 > $\mathrm{TimeSeriesPlot}\left(\left[\mathrm{ts},\mathrm{thickness}=3\right],\left[\mathrm{cis},\mathrm{color}="Red".."Green",\mathrm{transparency}=0.25\right]\right)$ If we use a larger number of runs, the confidence intervals will be slightly more accurate:

 > $\mathrm{cis2}≔\mathrm{OneStepForecasts}\left(\mathrm{esm},\mathrm{output}=\mathrm{confidenceintervals}\left(80,95\right),\mathrm{runs}=5000\right)$
 ${\mathrm{cis2}}{≔}\left[\begin{array}{c}{\mathrm{Time series}}\\ {\mathrm{Visitor nights \left(1 step forecast - 2 percentile\right), ..., Visitor nights \left(1 step forecast - 98 percentile\right)}}\\ {\mathrm{24 rows of data:}}\\ {\mathrm{2005-Jan-01 - 2010-Oct-01}}\end{array}\right]$ (6)
 > $\mathrm{TimeSeriesPlot}\left(\left[\mathrm{ts},\mathrm{thickness}=3\right],\left[\mathrm{cis2},\mathrm{color}="Red".."Green",\mathrm{transparency}=0.25\right]\right)$ > 

References

 Hyndman, R.J. and Athanasopoulos, G. (2013) Forecasting: principles and practice. http://otexts.org/fpp/. Accessed on 2013-10-09.
 Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) Forecasting with Exponential Smoothing: The State Space Approach. Springer Series in Statistics. Springer-Verlag Berlin Heidelberg.

Compatibility

 • The TimeSeriesAnalysis[OneStepForecasts] command was introduced in Maple 18.