The ValueAnomalyDetection operator finds tuples whose value is not in a user-defined range. The example-query in the codeblock shows, how the operator can be used. The operator analyses the value of the "temp"-Attribute in the incoming data stream. If the value is not between 3.0 and -3.0, the tuple is considered as an anomaly. If you set the option "sendAllAnomalies" to false, the number of anomalies which are send further is reduced. The anomalies are only send further, if one of the following criteria is true:

  • The last tuple wasn't an anomaly, but the current tuple is an anomaly
  • The value of the last tuple was too low, but the value of the current tuple is too high
  • The value of the last tuple was too high, but the value of the current tuple is too low
  • The distance from the normal value-area to the value of the current tuple raised in comparison to the last (also anomal) tuple at least by the value-area of the normal area (6 in the example).

Parameters

  • minValue The minimal value which is still allowed.

  • maxValue The maximum allowed value.
  • attribute Name of the attribute which should be analysed
  • sendAllAnomalies If true, all tuples which have the wrong value will be send further. If false, only tuples which show a changing situation will be send further.
  • predicate Additional predicate that needs to be true to send the anomaly. You need to deactivate 'sendAllAnomalies'.

Example

#PARSER PQL
#RUNQUERY
valueAreaAnalysis = VALUEANOMALYDETECTION({
                        maxvalue = 3.0,
                        minvalue = -3.0,
                        sendallanomalies = 'false',
                        attribute = 'temp'
                      },
                      System.manual
                    )
  • No labels