You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

This operator learns the mean and the standard deviation of a single value and writes it into the output. On port 0, the learned values (mean and standard deviation) are put out, on port 1 the tuples which are used to learn the deviation. The operator puts out the original tuples with the groupId the operator chose for the tuple. This is necessary for the following operator to be able to map the deviation values from port 0 to the correct tuples on port 1.

Parameters

  • exactCalculation If set to true, it uses exact calculation for window mode (recalc values every new tuple). This may be slower. Unexact calculation may be faster, but unaccurate, especially if the mean changes dramatically over time.
  • tuplesToLearn The number of tuples that will be used to learn the operator if 'tupleBased' is the choosen trainingMode.
  • trainingMode The training mode for this operator
  • mean If you want to set the mean manually (with trainingMode = manual) you can do this here.
  • standardDeviation If you want to set the standard deviation manually (with trainingMode = manual) you can do this here.
  • nameOfParameter Name of the attribute which should be analysed
  • uniqueBackupId A unique ID for this operator to save and read backup data.
  • GROUP_BY To group the tuples and learn a unique deviation for each group
  • fastGrouping Use hash code instead of tuple compare to create group. Potentially unsafe!

Example

In this example, the online-algorithm is used to learn the deviation. Therefore, no window is needed. The deviation is learned for the parameter "temp". The following operator uses the original tuples with the group of the DeviationLearn operator (1:deviationLearner) and the learned deviation (0:deviationLearner).

#PARSER PQL
#ADDQUERY
/// Use the online training mode to learn the mean and the standard deviation
deviationLearner = DEVIATIONLEARN({
                        trainingmode = 'ONLINE',
                        nameofparameter = 'temp'
                      },
                      System.manual
                    )
                    
/// Compare the current tuple with the learned values
deviationAnalysis = DEVIATIONANOMALYDETECTION({
                        interval = 3.0,
                        nameofparameter = 'temp'
                      },
                      1:deviationLearner,
                      0:deviationLearner
                    )
  • No labels