How to: Use the Anomaly Detector univariate API on your time series data
Important
Starting on the 20th of September, 2023 you won’t be able to create new Anomaly Detector resources. The Anomaly Detector service is being retired on the 1st of October, 2026.
The Anomaly Detector API provides two methods of anomaly detection. You can either detect anomalies as a batch throughout your times series, or as your data is generated by detecting the anomaly status of the latest data point. The detection model returns anomaly results along with each data point's expected value, and the upper and lower anomaly detection boundaries. you can use these values to visualize the range of normal values, and anomalies in the data.
Anomaly detection modes
The Anomaly Detector API provides detection modes: batch and streaming.
Note
The following request URLs must be combined with the appropriate endpoint for your subscription. For example:
https://<your-custom-subdomain>.api.cognitive.microsoft.com/anomalydetector/v1.0/timeseries/entire/detect
Batch detection
To detect anomalies throughout a batch of data points over a given time range, use the following request URI with your time series data:
/timeseries/entire/detect
.
By sending your time series data at once, the API will generate a model using the entire series, and analyze each data point with it.
Streaming detection
To continuously detect anomalies on streaming data, use the following request URI with your latest data point:
/timeseries/last/detect
.
By sending new data points as you generate them, you can monitor your data in real time. A model will be generated with the data points you send, and the API will determine if the latest point in the time series is an anomaly.
Adjusting lower and upper anomaly detection boundaries
By default, the upper and lower boundaries for anomaly detection are calculated using expectedValue
, upperMargin
, and lowerMargin
. If you require different boundaries, we recommend applying a marginScale
to upperMargin
or lowerMargin
. The boundaries would be calculated as follows:
Boundary | Calculation |
---|---|
upperBoundary |
expectedValue + (100 - marginScale) * upperMargin |
lowerBoundary |
expectedValue - (100 - marginScale) * lowerMargin |
The following examples show an Anomaly Detector API result at different sensitivities.