Skip to content

Commit a0564e7

Browse files
jr-MSjr-MS
authored andcommitted
Update howto, concepts, faq, toc, whats-new
1 parent afdc3f6 commit a0564e7

File tree

6 files changed

+82
-18
lines changed

6 files changed

+82
-18
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: How to run Multivariate Anomaly Detection API (GA version) in Postman?
3+
titleSuffix: Azure Cognitive Services
4+
description: Learn how to detect anomalies in your data either as a batch, or on streaming data.
5+
services: cognitive-services
6+
author: mrbullwinkle
7+
manager: nitinme
8+
ms.service: cognitive-services
9+
ms.subservice: anomaly-detector
10+
ms.topic: how-to
11+
ms.date: 10/01/2019
12+
ms.author: mbullwin
13+
---
14+
15+
# How to run Multivariate Anomaly Detection API (GA version) in Postman?
16+
17+
Click this button to fork the API collection in Postman and follow the steps below to test.
18+
19+
[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/18763802-b90da6d8-0f98-4200-976f-546342abcade?action=collection%2Ffork&collection-url=entityId%3D18763802-b90da6d8-0f98-4200-976f-546342abcade%26entityType%3Dcollection%26workspaceId%3De1370b45-5076-4885-884f-e9a97136ddbc#?env%5BMVAD%5D=W3sia2V5IjoibW9kZWxJZCIsInZhbHVlIjoiIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJlNjQxZTJlYy01Mzg5LTExZWQtYTkyMC01MjcyNGM4YTZkZmEiLCJzZXNzaW9uSW5kZXgiOjB9LHsia2V5IjoicmVzdWx0SWQiLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiOGZkZTAwNDItNTM4YS0xMWVkLTlhNDEtMGUxMGNkOTEwZmZhIiwic2Vzc2lvbkluZGV4IjoxfSx7ImtleSI6Ik9jcC1BcGltLVN1YnNjcmlwdGlvbi1LZXkiLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJzZWNyZXQiLCJzZXNzaW9uVmFsdWUiOiJjNzNjMGRhMzlhOTA0MjgzODA4ZjBmY2E0Zjc3MTFkOCIsInNlc3Npb25JbmRleCI6Mn0seyJrZXkiOiJlbmRwb2ludCIsInZhbHVlIjoiIiwiZW5hYmxlZCI6dHJ1ZSwidHlwZSI6ImRlZmF1bHQiLCJzZXNzaW9uVmFsdWUiOiJodHRwczovL211bHRpLWFkLXRlc3QtdXNjeC5jb2duaXRpdmVzZXJ2aWNlcy5henVyZS5jb20vIiwic2Vzc2lvbkluZGV4IjozfSx7ImtleSI6ImRhdGFTb3VyY2UiLCJ2YWx1ZSI6IiIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiaHR0cHM6Ly9tdmFkZGF0YXNldC5ibG9iLmNvcmUud2luZG93cy5uZXQvc2FtcGxlLW9uZXRhYmxlL3NhbXBsZV9kYXRhXzVfMzAwMC5jc3YiLCJzZXNzaW9uSW5kZXgiOjR9XQ==)
20+
21+
1. Select environment as **MVAD**.
22+
![](https://i.imgur.com/s4art6M.png)
23+
24+
25+
1. Select **Environment**, paste your Anomaly Detector `endpoint`, `key` and dataSource `url` in to the **CURRENT VALUE** column, click **Save** to let the variables take effect.
26+
![](https://i.imgur.com/BU00OGj.png)
27+
28+
2. Select **Collections**, and click on the first API - **Create and train a model**, then click **Send**.
29+
30+
**Note:** If your data is one CSV file, please set the dataSchema as **OneTable**, if your data is multiple CSV files in a folder, please set the dataSchema as **MultiTable.**
31+
32+
33+
![](https://i.imgur.com/vCNsvIg.png)
34+
35+
3. In the response of the first API, copy the modelId and paste it in the `modelId` in **Environments**, click **Save**. Then go to **Collections**, click on the second API - **Get model status**, and click **Send**.
36+
![](https://i.imgur.com/tqUznIu.gif)
37+
38+
4. Select the third API - **Batch Detection**, and click **Send**. This API will trigger a synchronous inference task, and you should use the Get batch detection results API several times to get the status and the final results.
39+
![](https://i.imgur.com/OjaE6XK.png)
40+
41+
5. In the response of the third API, copy the resultId and paste it in the `resultId` in **Environments**, click **Save**. Then go to **Collections**, click on the fourth API - Get batch detection results, and click **Send**.
42+
![](https://i.imgur.com/HKuJhSK.gif)
43+
44+
6. For the rest of the APIs, click on each and click Send to test on their request and response.
45+
![](https://i.imgur.com/KeqnaL7.png)
46+
47+
48+
## Next Steps
49+
* [Create an Anomaly Detector resource](create-resource.md)
50+
* [Quickstart: Detect anomalies in your time series data using the Anomaly Detector](../quickstarts/client-libraries.md)

articles/cognitive-services/Anomaly-Detector/concepts/best-practices-multivariate.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ ms.author: mbullwin
1414
keywords: anomaly detection, machine learning, algorithms
1515
---
1616

17-
# Best practices for using the Multivariate Anomaly Detector API
17+
# Best practices for using the Multivariate Anomaly Detection API
1818

19-
This article will provide guidance around recommended practices to follow when using the multivariate Anomaly Detector (MVAD) APIs.
19+
This article will provide guidance around recommended practices to follow when using the multivariate Anomaly Detection (MVAD) APIs.
2020
In this tutorial, you'll:
2121

2222
> [!div class="checklist"]
@@ -46,7 +46,7 @@ Now you're able to run your code with MVAD APIs without any error. What could be
4646

4747
### Data quantity
4848

49-
* The underlying model of MVAD has millions of parameters. It needs a minimum number of data points to learn an optimal set of parameters. The empirical rule is that you need to provide **15,000 or more data points (timestamps) per variable** to train the model for good accuracy. In general, the more the training data, better the accuracy. However, in cases when you're not able to accrue that much data, we still encourage you to experiment with less data and see if the compromised accuracy is still acceptable.
49+
* The underlying model of MVAD has millions of parameters. It needs a minimum number of data points to learn an optimal set of parameters. The empirical rule is that you need to provide **5,000 or more data points (timestamps) per variable** to train the model for good accuracy. In general, the more the training data, better the accuracy. However, in cases when you're not able to accrue that much data, we still encourage you to experiment with less data and see if the compromised accuracy is still acceptable.
5050
* Every time when you call the inference API, you need to ensure that the source data file contains just enough data points. That is normally `slidingWindow` + number of data points that **really** need inference results. For example, in a streaming case when every time you want to inference on **ONE** new timestamp, the data file could contain only the leading `slidingWindow` plus **ONE** data point; then you could move on and create another zip file with the same number of data points (`slidingWindow` + 1) but moving ONE step to the "right" side and submit for another inference job.
5151

5252
Anything beyond that or "before" the leading sliding window won't impact the inference result at all and may only cause performance downgrade.Anything below that may lead to an `NotEnoughInput` error.
@@ -135,15 +135,14 @@ There are some limitations in both the training and inference APIs, you should b
135135

136136
#### General Limitations
137137
* Sliding window: 28-2880 timestamps, default is 300. For periodic data, set the length of 2-4 cycles as the sliding window.
138-
* API calls: At most 20 API calls per minute.
139-
* Variable numbers: For training and asynchronized inference, at most 301 variables.
138+
* Variable numbers: For training and batch inference, at most 301 variables.
140139
#### Training Limitations
141-
* Timestamps: At most 1000000. Too few timestamps may decrease model quality. Recommend having more than 15000 timestamps.
140+
* Timestamps: At most 1000000. Too few timestamps may decrease model quality. Recommend having more than 5,000 timestamps.
142141
* Granularity: The minimum granularity is `per_second`.
143142

144-
#### Asynchronized inference limitations
143+
#### Batch inference limitations
145144
* Timestamps: At most 20000, at least 1 sliding window length.
146-
#### Synchronized inference limitations
145+
#### Streaming inference limitations
147146
* Timestamps: At most 2880, at least 1 sliding window length.
148147
* Detecting timestamps: From 1 to 10.
149148

@@ -181,12 +180,6 @@ Let's use two examples to learn how MVAD's sliding window works. Suppose you hav
181180
* **Batch scenario**: You have multiple target data points to predict. Your `endTime` will be greater than your `startTime`. Inference in such scenarios is performed in a "moving window" manner. For example, MVAD will use data from `2021-01-01T00:00:00Z` to `2021-01-01T23:59:00Z` (inclusive) to determine whether data at `2021-01-02T00:00:00Z` is anomalous. Then it moves forward and uses data from `2021-01-01T00:01:00Z` to `2021-01-02T00:00:00Z` (inclusive)
182181
to determine whether data at `2021-01-02T00:01:00Z` is anomalous. It moves on in the same manner (taking 1,440 data points to compare) until the last timestamp specified by `endTime` (or the actual latest timestamp). Therefore, your inference data source must contain data starting from `startTime` - `slidingWindow` and ideally contains in total of size `slidingWindow` + (`endTime` - `startTime`).
183182

184-
### Why does the service only accept zip files for training and inference when sending data asynchronously?
185-
186-
We use zip files because in batch scenarios, we expect the size of both training and inference data would be very large and can't be put in the HTTP request body. This allows users to perform batch inference on historical data either for model validation or data analysis.
187-
188-
However, this might be somewhat inconvenient for streaming inference and for high frequency data. We have a plan to add a new API specifically designed for streaming inference that users can pass data in the request body.
189-
190183
### What's the difference between `severity` and `score`?
191184

192185
Normally we recommend you to use `severity` as the filter to sift out 'anomalies' that aren't so important to your business. Depending on your scenario and data pattern, those anomalies that are less important often have relatively lower `severity` values or standalone (discontinuous) high `severity` values like random spikes.

articles/cognitive-services/Anomaly-Detector/concepts/multivariate-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: nitinme
88
ms.service: cognitive-services
99
ms.subservice: anomaly-detector
1010
ms.topic: conceptual
11-
ms.date: 10/27/2022
11+
ms.date: 12/15/2022
1212
ms.author: mbullwin
1313
ms.custom: cogserv-non-critical-anomaly-detector
1414
keywords: anomaly detection, machine learning, algorithms

articles/cognitive-services/Anomaly-Detector/faq.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ sections:
4444
How do I configure the Anomaly Detector service to be zone-resilient?
4545
answer: |
4646
No customer configuration is necessary to enable zone-resiliency. Zone-resiliency for Anomaly Detector resources is available by default and managed by the service itself.
47+
- question: |
48+
When will I be charged for Multivariate Anomaly Detection GA version?
49+
answer: |
50+
Multivariate Anomaly Detection will start charging since January 2023, please stay tuned in Azure Anomaly Detector [Pricing Page](https://aka.ms/adpricing).
4751
4852
additionalContent: |
4953
## Next steps

articles/cognitive-services/Anomaly-Detector/toc.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
maintainContext: true
4949
- name: Multivariate Anomaly Detection
5050
items:
51+
- name: Run Multivariate Anomaly Detection API in Postman
52+
href: how-to/mvad-postman.md
5153
- name: Create an Anomaly Detector Resource
5254
href: how-to/create-resource.md
5355
- name: Prepare and upload your data
@@ -80,8 +82,10 @@
8082
href: /legal/cognitive-services/anomaly-detector/data-privacy-security?context=/azure/cognitive-services/anomaly-detector/context/context
8183
- name: Reference
8284
items:
83-
- name: REST API (preview)
84-
href: https://westus2.dev.cognitive.microsoft.com/docs/services/AnomalyDetector-v1-1-preview-1/operations/DetectAnomaly
85+
- name: REST API (v1.1)
86+
href: https://westus2.dev.cognitive.microsoft.com/docs/services/AnomalyDetector-v1-1/operations/CreateMultivariateModel
87+
- name: REST API (v1.1-preview-1)
88+
href: https://westus2.dev.cognitive.microsoft.com/docs/services/AnomalyDetector-v1-1-preview-1/operations/DetectAnomaly
8589
- name: .NET (preview)
8690
href: /dotnet/api/azure.ai.anomalydetector?view=azure-dotnet-preview&preserve-view=true
8791
- name: Java (preview)

articles/cognitive-services/Anomaly-Detector/whats-new.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article is regularly updated with news about the Azure Cogniti
44
ms.service: cognitive-services
55
ms.subservice: anomaly-detector
66
ms.topic: overview
7-
ms.date: 11/01/2022
7+
ms.date: 12/15/2022
88
---
99

1010
# What's new in Anomaly Detector
@@ -15,6 +15,18 @@ We've also added links to some user-generated content. Those items will be marke
1515

1616
## Release notes
1717

18+
### Dec 2022
19+
* Multivariate Anomaly Detection SDK is updated to match with GA API for four languages.
20+
21+
|SDK Package |Sample Code |
22+
|---------|---------|
23+
| [Python](https://pypi.org/project/azure-ai-anomalydetector/3.0.0b6/)|[sample_multivariate_detect.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_multivariate_detect.py)|
24+
| [.NET](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.6) | [Sample4_MultivariateDetect.cs](https://github.com/Azure/azure-sdk-for-net/blob/40a7d122ac99a3a8a7c62afa16898b7acf82c03d/sdk/anomalydetector/Azure.AI.AnomalyDetector/tests/samples/Sample4_MultivariateDetect.cs)|
25+
| [JAVA](https://search.maven.org/artifact/com.azure/azure-ai-anomalydetector/3.0.0-beta.5/jar) | [MultivariateSample.java](https://github.com/Azure/azure-sdk-for-java/blob/e845677d919d47a2c4837153306b37e5f4ecd795/sdk/anomalydetector/azure-ai-anomalydetector/src/samples/java/com/azure/ai/anomalydetector/MultivariateSample.java)|
26+
| [JS/TS](https://www.npmjs.com/package/@azure-rest/ai-anomaly-detector/v/1.0.0-beta.1) |[sample_multivariate_detection.ts](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/anomalydetector/ai-anomaly-detector-rest/samples-dev/sample_multivariate_detection.ts)|
27+
28+
* Check out this AI Show video to learn more about the GA version of Multivariate Anomaly Detection: [AI Show | Multivariate Anomaly Detection is Generally Available](https://learn.microsoft.com/en-us/shows/ai-show/ep-70-the-latest-from-azure-multivariate-anomaly-detection).
29+
1830
### Nov 2022
1931

2032
* Multivariate Anomaly Detection is now a generally available feature in Anomaly Detector service, with a better user experience and better model performance. Learn more about [how to get started using the latest release of Multivariate Anomaly Detection](how-to/create-resource.md).
@@ -88,6 +100,7 @@ We've also added links to some user-generated content. Those items will be marke
88100

89101
## Videos
90102

103+
* Nov 12, 2022 AI Show: [Multivariate Anomaly Detection is GA](https://learn.microsoft.com/en-us/shows/ai-show/ep-70-the-latest-from-azure-multivariate-anomaly-detection) (Seth with Louise Han).
91104
* May 7, 2021 [New to Anomaly Detector: Multivariate Capabilities](/shows/AI-Show/New-to-Anomaly-Detector-Multivariate-Capabilities) - AI Show on the new multivariate anomaly detection APIs with Tony Xing and Seth Juarez
92105
* April 20, 2021 AI Show Live | Episode 11| New to Anomaly Detector: Multivariate Capabilities - AI Show live recording with Tony Xing and Seth Juarez
93106
* May 18, 2020 [Inside Anomaly Detector](/shows/AI-Show/Inside-Anomaly-Detector) - AI Show with Qun Ying and Seth Juarez

0 commit comments

Comments
 (0)