Configuring AIDA for KPIs prediction

To optimize KPIs predictions, AIDA administrator can configure tuning parameters.

Before you begin

The Machine Learning alghoritm used by AIDA to predict KPIs trend is an additive regression model based on four main components:
  • A linear or logistic growth trend model. AIDA automatically detects changes in KPIs trend by selecting changepoints from time series.
  • A yearly seasonal component.
  • A weekly and daily seasonal component.
  • A user-provided list of holidays and special days.

Tuning parameters can be set the same way for all KPIs, and AIDA provides default values. However, since tuning parameters adjust the impact of seasonality and special days on prediction, it might be convenient to set them differently for each KPI. After you set tuning parameters, you must retrain the prediction model to recalculate the predictions.

Note: When you start using AIDA, you need to train the prediction model with some data for at least one week before you can get a reliable prediction of the KPIs trend.

About this task

From Manage and Analyze KPIs interface, you, as an AIDA administrator, can select the Tuning option for one or more KPIs. The same option is also available:

By selecting the Tuning option, a side panel opens where you can customize some hyper parameters to fine-tune the Machine Learning model for KPIs prediction.

Check the option Override default value if you want to change default values for the selected KPIs. You can apply your changes immediately by clicking the Apply and retrain button: if a retraining process is already in progress, it will be stopped. Alternatively, you can save changes by clicking the Save button: in this case, changes will be applied automatically on the next planned retrain. To restore the default settings, click the Restore default values button.

Tuning parameters

General tuning
Tolerance interval

Increase or decrease the tolerance interval for anomaly detection by using the parameter: tolerance_interval_width.

The smaller it is, the more anomalies can be identified.

Valid range is 0 - 1. Default value is 0.8.

Advanced tuning
Growth trend model
Set the parameter growth_trend_model to establish if KPIs prediction should follow a linear or logistic growth trend model.

Valid values: [linear|logistic]. Default value is linear.

Trend flexibility
Adjust the flexibility of trend changes (how the trend changes are being fit) by using the parameter: trend_flexibility.

Increasing it will make the trend more flexible.

Valid range is 0 - 1. Default value is 0.05.

Seasonality effect
Adjust the extent to which the seasonality model will fit the data by using the parameter: seasonality_effect. A large value allows the seasonality model to fit large fluctuations, a small value shrinks the magnitude of the seasonality effect.

Valid range is 0 - 10. Default value is 10 (which provides very little regularization).

Special days effect
Adjust the extent to which the special days model will fit the data by using the parameter: special_days_effect.

A large value allows the special days model to fit large fluctuations, a small value shrinks the magnitude of the special days effect.

Valid range is 0 - 10. Default value is 10 (which provides very little regularization).

Seasonality mode

To get the prediction, the effect of seasonality can be added or not to a KPI trend . Set the parameter:

  • seasonality_mode = multiplicative

    when the seasonality is not a constant additive factor, rather it grows with the trend, so it is not convenient to add its effect to the trend.

  • seasonality_mode = additive

    when the seasonality is a constant additive factor so it is convenient to add its effect to the trend.

Valid values:[multiplicative|additive]. Default value is additive.

About scaling predictions

In this section, you can find some considerations about scaling predictions in AIDA .

About this task

AIDA deployment on Kubernetes enables automatic Pod scalability for KPIs prediction. A new Pod is deployed when the percentage of RAM used for prediction exceeds the 80% of RAM limit.

Special days have little to no impact on performance.

Every prediction uses about 200 MB of RAM. When the prediction is completed, the RAM is released. AIDA optimizes the number of predictions it can handle concurrently.

The time consumed by prediction has a linear growth curve over the number of predictions.

About OpenSearch configuration

In AIDA Docker deployment, OpenSearch is used with a single node. In Kubernetes deployment it can be configured with multiple nodes. The following table can help you configuring OpenSearch with multiple nodes.

The table represents the space required to store daily KPIs data in OpenSearch for the time period defined by the MAXIMUM_DAYS_OF_OLDER_DATA parameter configured for AIDA Exporter component.
Number of KPIs Time period Indexes
100 1 month (30days) 466 MB
6 months (180 days) 3051 MB
12 months (365 days) 6150 MB
500 1 month (30days) 3 GB
6 months (180 days) 18 GB
12 months (365 days) 36 GB
1000 1 month (30days) 6 GB
6 months (180 days) 36 GB
12 months (365 days) 72 GB