Skip to content
Michal Töpfer edited this page Nov 11, 2021 · 5 revisions

Note: Predictions are currently an experimental feature.

Predictions allow the user to make automatic forecasts of the signal sets data. We use statistical and machine learning methods to train a model which is then used to generate the predictions. We currently support the ARIMA and Neural networks models.

Creating a new prediction model

  1. Go to Settings.
  2. Open Signal Sets settings.
  3. Select a signal set for which to make predictions.
  4. Click on the Predictions tab.
    • Note that the predictions are only available for time series data. Set the Kind to Time series in the signal set settings if the Predictions tab is not visible.
  5. Create a new model using the Add model button and selecting the model class (ARIMA or Neural network).
  6. Follow the instructions specific for the model class.

ARIMA

The ARIMA models are described in detail in Miroslav Hrabal's bachelor thesis.

Neural Networks

The artificial neural networks are a popular machine learning tool for various applications. In IVIS, neural networks can be used to create predictions of multiple signals from the same signal set at the same time. See the more detailed documentation for the Neural Networks.

Note that the neural-network-based predictions are an optional feature and have to be enabled by the server admin.

Signal sets with generated predictions

For each prediction model, several signal sets are created and the generated predictions are saved to them.

The _future signal contains the most recent prediction. When new predictions are generated, the old data are deleted from this signal set and replaced by the new predictions.

The historical prediction data are kept in the _1ahead to _Fahead signal sets, where F is the number of predicted time steps (Future predictions). These signal sets can be used to compare the accuracy of the prediction models.

Signals

The generated signal sets will have the signals which were selected by the user when creating the prediction model. The time signal will have the same name as in the original signal set (usually ts).

For ARIMA model, only one target signal is used (called Value signal in the model creation form).

For neural networks, multiple Targets signals can be selected when creating the model. If Aggregation is set for the signal, multiple signals are generated. One signal is created for each aggregation function for the signal (these will have suffix _min, _avg or _max). Furthermore, one combined signal is created with the original signal's name. This last signal will contain the values for all the aggregation functions at the same time. The LineChart component, which is the most used type of chart in our framework, is capable of displaying multiple values of one signal at the same time (as an area). This way, the user can decide whether they want to display only one of the aggregations, or all of them at the same time.

Model comparison

The Predictions tab for a signal set lists all created predictions for that signal set. The prediction models can be compared using the Compare models button.

When comparing two models, the Target signal must be selected first. This signal is used to evaluate the error of the prediction models.

The Models to compare can be selected using the provided table of models.

When models are selected, a line chart with historical data and current predictions is displayed. The chart shows the original data in black and historical predictions K steps into the future (the _Kahead signal set) for each of the models. The K can be selected using the Steps ahead selector.

Below the chart a table with error metrics is shown. It displays the minimal and maximal mean squared error (MSE) and mean absolute error (MAE) for the currently visible data.

For neural networks predictions, another table with the hyperparameters of the neural network is shown.

prediction model comparison

Clone this wiki locally