Multi Horizon Forecast (Time Series)

Synopsis

This operator trains a Multi Horizon Forecast Model on an input ExampleSet containing multiple horizon attributes (future values).

Description

A Multi Horizon Forecast Model is a Meta Model able to predict multiple horizon attributes at once. For each horizon attribute, the Multi Horizon Forecast Model contains a Prediction Model. The horizon attributes are selected using a regular expression on the attribute roles. The default regular expression (if parameter use default regular expression is selected) is: "horizon \+ (\d+)" which matches the attribute roles created by the Windowing or Process Windows operators.

The inner subprocess of the operator is executed for each selected horizon attribute. The input training data, with the current horizon attribute set to the Label role, is provided at the inner training set port. It can be used to train a Prediction Model for the corresponding horizon attribute. The Prediction Model has to be provided to the model port of the inner subprocess. The Prediction Models are collected and provided as the Multi Horizon Forecast Model at the model output port of the operator. Additional objects can be passed in and out of the subprocess through the input and output port extender.

To ensure a defined behavior the input ExampleSet is not allowed to have a normal 'Label' attribute. If the input data has such an attribute, its role has to be set to another role with the Set Role operator. Note that the role of all other attributes are not changed. The name and type of the current horizon attribute in the subprocess can be added as macros if the parameter add macros is selected.

When the Multi Horizon Forecast Model is applied on an ExampleSet (using the Apply Model operator) the Prediction Models of the wrapper model are used to create a 'Prediction' attribute for every horizon attribute. The name of the 'Prediction' attributes is set to prediction(<name of horizon attribute>), the special role of the 'Prediction' attribute is set to prediction_<name of horizon attribute>. If the Prediction Model also creates 'Confidence' attributes (in case the horizon attribute is nominal), the 'Confidence' attributes are named confidence(<name of horizon attribute> = <value>). The role of the 'Confidence' attributes are set to confidence_<name of horizon attribute>_<value>.

The performance of the multiple horizon forecasts can be evaluated by the operator Multi Horizon Performance.

Input

  • training set (IOObject)

    The input ExampleSet on which the Multi Horizon Forecast Model is built.

  • input (IOObject)

    This port is a port extender, which means if a port is connected a new input port is created. Any IOObject can be connected to the port and is passed to the corresponding inner input port for each iteration.

Output

  • model (Model)

    The Multi Horizon Forecast Model, containing Prediction Models for each of the selected horizon attributes.

  • output (IOObject)

    This port is a port extender, which means if a port is connected a new output port is created. The port collects every result that is provided by the inner process and returns a collections of all iterations.

Parameters

  • use_default_regular_expression

    If this parameter is selected a default regular expression is used, which matches the attribute roles created by the Windowing or the Process Windows operators. The default regular expression is: "horizon \+ (\d+)"

    Range:
  • regular_expression

    Specify the regular expression used to select the horizon attributes. The regular expression is applied on all special roles in the input ExampleSet. The expression can be specified through the edit and preview regular expression menu. This menu gives a good idea of regular expressions and it also allows you to try different expressions and preview the results simultaneously.

    Range:
  • add_macros

    If selected macros containing the name and the value type of the current horizon attribute are added in each iteration of the subprocess.

    Range:
  • current_horizon_name_macro

    If add macros is true, this parameter defines the name of the macro holding the current horizon attribute name.

    Range:
  • current_horizon_type_macro

    If add macros is true, this parameter defines the name of the macro holding the current horizon attribute type.

    Range:
  • enable_parallel_execution

    This parameter enables the parallel execution of the inner processes. Please disable the parallel execution if you run into memory problems.

    Range:

Tutorial Processes

Multi Horizon Forecast on windowed Lake Huron Data

This tutorial process shows the basic usage of the Multi Horizon Forecast operator by training a Multi Horizon Forecast Model on a windowed Lake Huron data set.