Skip to content

User Guide: Anomaly Detection

PepijnMuskens edited this page Feb 2, 2024 · 3 revisions

WARNING: This Feature is currently still in development and not yet implemented in the main codebase

OpenRemote includes the functionality to set up anomaly detection on all numeric attributes. This can be useful when you want to keep track of all the times a sensor sends an abnormal datapoint or if you want to be notified when such an datapoint is received.

Image of history chart with anomaly marked here

Detection methods

Currently there are 3 different types of detection methods you can use when configuring the anomaly detection on an attribute. All of these have their strengths and weaknesses based on the different types of data they receive.

Range

This is the simples method to detect an outlier. To validate a datapoint it will look at a period of time before that datapoint, find the highest and lowest value and add an error margin on top of those values. These new minimum and maximum values will be the limit in which an point will be valid and any value outside these boundaries will be marked as an anomaly. The error margin and period of time the detection method uses can both be changed when configuring the method. image Visualization of the limits generated by the Range method

The advantage of this method is that it's easy to understand but can still detect the larger outliers. However it falls short when detecting a big increase during a time where the data is already far below the maximum value.

Change

The change method works in a similar way to the Range method. It also looks at a previous period of data but instead of checking the value of the datapoints it calculates the difference between all points to get the largest increase and decrease in that period. Using these largest changes in the data it will calculate the limits for the next incoming datapoint using the last known value as a starting point. image Visualization of the limits generated by the Change method

This method will follow the data more closely as seen in the visualization above but needs more careful configuration to ensure it wont detect to to many false anomalies.

Forecast

If the attribute you are configuring already has predicted datapoints, this will be the easiest method to set up. When new data is received it is compared to predicted datapoints from that time and if the difference is larger as a limit you can configure yourself it will be marked as an anomaly. image Visualization of the limits generated by the Forecast method

This accuracy of this method is dependent on the quality of the predicted data. This can come from different sources like OpenRemote's build in Forecasting service

Setup

To get started with anomaly detection add the 'anomaly detection' configuration item to the attribute you want to monitor. This will add a panel where you can add different methods.

Alarm

User Guide

Deploying

Manager UI

Assets & Attributes

Agents/Protocols

Disabled Protocols

Manager APIs

Rules & forecasting

Identity & Security

Gateways & Devices

Domains

Tutorials

Developer Guide

Architecture

Clone this wiki locally