Metodtips för API: T för Avvikelseidentifiering detektorBest practices for using the Anomaly Detector API

Avvikelseidentifiering detektor API är en tillståndslös avvikelseidentifieringstjänst.The Anomaly Detector API is a stateless anomaly detection service. Prestanda resultat kan påverkas av:The accuracy and performance of its results can be impacted by:

  • Hur dina tidsseriedata förbereds.How your time series data is prepared.
  • Avvikelseidentifiering detektor API-parametrar som användes.The Anomaly Detector API parameters that were used.
  • Antalet datapunkter i API-begäran.The number of data points in your API request.

Använd den här artikeln om du vill veta mer om bästa praxis för att använda API: et får bästa resultat för dina data.Use this article to learn about best practices for using the API getting the best results for your data.

När du ska använda batch (hela) eller senaste (senaste) pekar avvikelseidentifieringWhen to use batch (entire) or latest (last) point anomaly detection

Avvikelseidentifiering detektor API batch identifiering slutpunkt kan du identifiera avvikelser genom hela times series-data.The Anomaly Detector API's batch detection endpoint lets you detect anomalies through your entire times series data. I det här identifieringsläget, skapas en enda statistisk modell och tillämpas på varje punkt i datauppsättningen.In this detection mode, a single statistical model is created and applied to each point in the data set. Om din tidsserier har den nedan egenskaper, vi rekommenderar att du använder batch-identifiering förhandsgranska data i ett API-anrop.If your time series has the below characteristics, we recommend using batch detection to preview your data in one API call.

  • En säsongens tidsserie, med tillfällig avvikelser.A seasonal time series, with occasional anomalies.
  • En fast trend tidsserie, med tillfälliga toppar/dalar.A flat trend time series, with occasional spikes/dips.

Vi rekommenderar inte med hjälp av batch-avvikelseidentifiering för realtidsdata övervakning eller används i time series-data som inte har ovan egenskaper.We don't recommend using batch anomaly detection for real-time data monitoring, or using it on time series data that doesn't have above characteristics.

  • Identifiering av batch skapar och gäller endast en modell, identifiering för varje punkt sker i samband med hela serien.Batch detection creates and applies only one model, the detection for each point is done in the context of whole series. Om time series datatrender uppåt och nedåt utan säsongsberoende, några saker för ändrar (dalar och toppar i data) kan missas i modellen.If the time series data trends up and down without seasonality, some points of change (dips and spikes in the data) may be missed by the model. På samma sätt kan räknas några saker av ändring som är mindre viktig än de som senare i datauppsättningen inte betydelse i modellen.Similarly, some points of change that are less significant than ones later in the data set may not be counted as significant enough to be incorporated into the model.

  • Batch-identifiering är långsammare än identifiering av avvikelser status för den senaste tidpunkten när du gör realtidsdata övervakning, på grund av antalet punkter som analyseras.Batch detection is slower than detecting the anomaly status of the latest point when doing real-time data monitoring, because of the number of points being analyzed.

För övervakning av data i realtid rekommenderar vi att identifiera avvikelser statusen för din senaste datapunkt endast.For real-time data monitoring, we recommend detecting the anomaly status of your latest data point only. Genom att kontinuerligt tillämpa den senaste återställningspunkt identifiering, kan strömmande data övervakning göras mer effektivt och korrekt.By continuously applying latest point detection, streaming data monitoring can be done more efficiently and accurately.

Exemplet nedan beskriver påverkan dessa identifiering lägen kan ha på prestanda.The example below describes the impact these detection modes can have on performance. Den första bilden visar resultatet av kontinuerligt identifiering av avvikelser status senaste punkt längs 28 tidigare visad datapunkter.The first picture shows the result of continuously detecting the anomaly status latest point along 28 previously seen data points. Avvikelser är röda punkter.The red points are anomalies.

En bild som visar avvikelseidentifiering med hjälp av den senaste tidpunkten

Nedan är samma data med hjälp av batch-avvikelseidentifiering.Below is the same data set using batch anomaly detection. Modellen som byggts för åtgärden har ignorerats flera avvikelser som markerats av rektanglar.The model built for the operation has ignored several anomalies, marked by rectangles.

En bild som visar avvikelseidentifiering med batch-metoden

Förberedelse av dataData preparation

API: T för Avvikelseidentifiering detektor accepterar tidsserier data formaterats som en JSON-begäran.The Anomaly Detector API accepts time series data formatted into a JSON request object. En tidsserie kan vara numeriska data registreras med tiden i sekventiell ordning.A time series can be any numerical data recorded over time in sequential order. Du kan skicka windows av time series-data till den Avvikelseidentifiering detektor API-slutpunkten för att förbättra prestanda för API: er.You can send windows of your time series data to the Anomaly Detector API endpoint to improve the API's performance. Det minsta antalet datapunkter som du kan skicka är 12, och högsta 8640 punkter.The minimum number of data points you can send is 12, and the maximum is 8640 points. Kornighet definieras som hastigheten som data samplas med.Granularity is defined as the rate that your data is sampled at.

Datapunkter som skickas till API: T för Avvikelseidentifiering detektor måste ha en giltig Coordinated Universal Time (UTC) tidsstämpel och numeriska värden.Data points sent to the Anomaly Detector API must have a valid Coordinated Universal Time (UTC) timestamp, and numerical value.

{
    "granularity": "daily",
    "series": [
      {
        "timestamp": "2018-03-01T00:00:00Z",
        "value": 32858923
      },
      {
        "timestamp": "2018-03-02T00:00:00Z",
        "value": 29615278
      },
    ]
}

Om dina data samplas med ett tidsintervall som inte är standard, kan du ange den genom att lägga till den customInterval attribut i din begäran.If your data is sampled at a non-standard time interval, you can specify it by adding the customInterval attribute in your request. Om din serien samplas var femte minut, du lägga till följande JSON-begäran:For example, if your series is sampled every 5 minutes, you can add the following to your JSON request:

{
    "granularity" : "minutely", 
    "customInterval" : 5
}

Saknade datapunkterMissing data points

Saknade datapunkter är vanliga i jämnt fördelade time series datauppsättningar, särskilt de som med en bra kornighet (ett litet exempelintervall.Missing data points are common in evenly distributed time series data sets, especially ones with a fine granularity (A small sampling interval. Till exempel data samplas några minuters mellanrum).For example, data sampled every few minutes). Mindre än 10% av det förväntade antalet punkter i dina data som saknas får inte ha en negativ inverkan på resultaten av programuppdateringsidentifieringen.Missing less than 10% of the expected number of points in your data shouldn't have a negative impact on your detection results. Överväg att fylla luckor i dina data baserat på dess egenskaper som Ersätt datapunkter från en tidigare period, linjär interpolation eller ett glidande medelvärde.Consider filling gaps in your data based on its characteristics like substituting data points from an earlier period, linear interpolation, or a moving average.

Sammanställd distribuerade dataAggregate distributed data

API: T för Avvikelseidentifiering detektor fungerar bäst på ett jämnt fördelade tidsserier.The Anomaly Detector API works best on an evenly distributed time series. Om dina data distribueras slumpmässigt, du bör samla ihop den av en tidsenhet som Per minut, per timme eller dag till exempel.If your data is randomly distributed, you should aggregate it by a unit of time, such as Per-minute, hourly, or daily for example.

Identifiering av avvikelser i data med säsongens mönsterAnomaly detection on data with seasonal patterns

Om du vet att dina tidsseriedata har en säsongsknutet mönster (en som inträffar med jämna mellanrum), kan du förbättra noggrannheten och API-svarstiden.If you know that your time series data has a seasonal pattern (one that occurs at regular intervals), you can improve the accuracy and API response time.

Ange en period när du skapar din JSON-begäran kan förkorta svarstiden för identifiering av avvikelser med upp till 50%.Specifying a period when you construct your JSON request can reduce anomaly detection latency by up to 50%. Den period är ett heltal som anger ungefär hur många datapunkter tidsserien tar du upprepa ett mönster.The period is an integer that specifies roughly how many data points the time series takes to repeat a pattern. Till exempel en tidsserie med en datapunkt per dag skulle ha en period som 7, och en tidsserie med en punkt per timme (med samma veckovisa mönster) skulle ha en period av 7*24.For example, a time series with one data point per day would have a period as 7, and a time series with one point per hour (with the same weekly pattern) would have a period of 7*24. Om du är osäker på dina data mönster kan du inte ange den här parametern.If you're unsure of your data's patterns, you don't have to specify this parameter.

För bästa resultat bör du ange 4 periodär för datapunkt, plus ytterligare en.For best results, provide 4 period's worth of data point, plus an additional one. Till exempel varje timme data med ett mönster för veckovis enligt beskrivningen ovan bör ge 673 datapunkter i frågans brödtext (7 * 24 * 4 + 1).For example, hourly data with a weekly pattern as described above should provide 673 data points in the request body (7 * 24 * 4 + 1).

Sampling av data för övervakning i realtidSampling data for real-time monitoring

Om din strömmande data samplas med en liten stund (till exempel sekunder eller minuter), kan skickar det rekommenderade antalet datapunkter överskrida Avvikelseidentifiering detektor API maximala antalet tillåtna (8640 datapunkter).If your streaming data is sampled at a short interval (for example seconds or minutes), sending the recommended number of data points may exceed the Anomaly Detector API's maximum number allowed (8640 data points). Överväg att skicka ett urval av dina time series-data med ett större tidsintervall som timmar om dina data visas en stabil säsongsknutet mönster.If your data shows a stable seasonal pattern, consider sending a sample of your time series data at a larger time interval, like hours. Sampling dina data på det här sättet kan du också märkbart förbättra API-svarstiden.Sampling your data in this way can also noticeably improve the API response time.

Nästa stegNext steps