Aanbevolen procedures voor het gebruik van de Anomaliedetectie-API voor DetectorBest practices for using the Anomaly Detector API

De detectie van afwijkingen API is een staatloze anomaly detection-service.The Anomaly Detector API is a stateless anomaly detection service. De nauwkeurigheid en de prestaties van de resultaten kunnen worden beïnvloed door:The accuracy and performance of its results can be impacted by:

  • Hoe uw time series-gegevens wordt voorbereid.How your time series data is prepared.
  • De API voor Afwijkingsdetectie Detector-parameters die zijn gebruikt.The Anomaly Detector API parameters that were used.
  • Het aantal gegevenspunten in uw API-aanvraag.The number of data points in your API request.

Gebruik dit artikel voor meer informatie over aanbevolen procedures voor het gebruik van de API ophalen van de beste resultaten voor uw gegevens.Use this article to learn about best practices for using the API getting the best results for your data.

Wanneer u batch (hele) of de meest recente (laatste) wijst u detectie van afwijkingenWhen to use batch (entire) or latest (last) point anomaly detection

De Anomaliedetectie Detector API van batch-detectie-eindpunt kunt u afwijkingen via uw volledige tijden series-gegevens.The Anomaly Detector API's batch detection endpoint lets you detect anomalies through your entire times series data. In deze detectiemodus één statistische model gemaakt en toegepast op elk punt in de gegevensset.In this detection mode, a single statistical model is created and applied to each point in the data set. Als de tijdreeks heeft de onderstaande kenmerken, wordt u aangeraden de detectie van batch om een voorbeeld van uw gegevens in één API-aanroep.If your time series has the below characteristics, we recommend using batch detection to preview your data in one API call.

  • Een seizoensgebonden tijdreeks met incidentele afwijkingen.A seasonal time series, with occasional anomalies.
  • Een platte trend tijdreeks, met af en toe pieken dips krijgen.A flat trend time series, with occasional spikes/dips.

We raden gebruik van batch-anomaliedetectie voor gegevens in realtime controleren, of gebruikt op time series-gegevens die geen hierboven kenmerken.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.

  • Detectie van batch maakt en geldt slechts één model, de detectie voor elk punt in de context van een hele serie wordt uitgevoerd.Batch detection creates and applies only one model, the detection for each point is done in the context of whole series. Als de tijd reeks gegevenstrends omhoog of omlaag zonder seizoensgebondenheid zien, enkele punten van wijzigt (Spanningsdips en pieken in de gegevens) worden gemist door het model.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. Op deze manier enkele punten van de wijziging die minder belangrijk dan de wijzigingsaanvragen later in de gegevensset zijn mogelijk niet worden geteld als aanzienlijk kunnen worden opgenomen in het model.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-detectie is langzamer dan het detecteren van de anomaliedetectie-status van het laatste herstelpunt bij het uitvoeren van realtime gegevens controleren, vanwege het aantal punten die wordt geanalyseerd.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.

Voor het bewaken van real-time gegevens, wordt u aangeraden de anomaliedetectie-status van alleen de meest recente gegevenspunt detecteren.For real-time data monitoring, we recommend detecting the anomaly status of your latest data point only. Laatste punt detectie continu toepast, kan streaming gegevens bewaking worden gedaan efficiënt en nauwkeurig.By continuously applying latest point detection, streaming data monitoring can be done more efficiently and accurately.

In het volgende voorbeeld wordt de impact die deze modi detectie op prestaties hebben kunnen beschreven.The example below describes the impact these detection modes can have on performance. De eerste afbeelding toont het resultaat van het laatste herstelpunt van afwijkingen status langs 28 eerder weergegeven gegevenspunten continu te detecteren.The first picture shows the result of continuously detecting the anomaly status latest point along 28 previously seen data points. De rode punten worden afwijkingen.The red points are anomalies.

Een afbeelding van de detectie van afwijkingen met behulp van het laatste herstelpunt

Hieronder ziet u de dezelfde gegevensset met behulp van batch-anomaliedetectie.Below is the same data set using batch anomaly detection. Het model die is gebouwd voor de bewerking heeft verschillende afwijkingen, gemarkeerd met rechthoeken genegeerd.The model built for the operation has ignored several anomalies, marked by rectangles.

Een afbeelding van de detectie van afwijkingen met behulp van de batch-methode

GegevensvoorbereidingData preparation

De detectie van afwijkingen API accepteert tijdreeks gegevens opgemaakt in een JSON-request-object.The Anomaly Detector API accepts time series data formatted into a JSON request object. Een tijdreeks kan worden geregistreerd na verloop van tijd in opeenvolgende volgorde, numerieke gegevens.A time series can be any numerical data recorded over time in sequential order. U kunt windows van uw time series-gegevens verzenden naar de Anomaliedetectie Detector API-eindpunt van de API-prestaties te verbeteren.You can send windows of your time series data to the Anomaly Detector API endpoint to improve the API's performance. Het minimum aantal gegevenspunten die u kunt verzenden 12 is, en de maximumwaarde is 8640 punten.The minimum number of data points you can send is 12, and the maximum is 8640 points. Granulatie wordt gedefinieerd als het tarief dat uw gegevens worden verzameld op.Granularity is defined as the rate that your data is sampled at.

Gegevenspunten die worden verzonden naar de detectie van afwijkingen API moeten een geldige tijdstempel van Coordinated Universal Time (UTC), en een numerieke waarde hebben.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
      },
    ]
}

Als uw gegevens worden verzameld met een niet-standaard tijdsinterval, kunt u deze opgeven door toe te voegen de customInterval kenmerk in uw aanvraag.If your data is sampled at a non-standard time interval, you can specify it by adding the customInterval attribute in your request. Als de reeks is steekproef elke vijf minuten, kunt u bijvoorbeeld het volgende toevoegen aan uw JSON-aanvraag:For example, if your series is sampled every 5 minutes, you can add the following to your JSON request:

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

Ontbrekende gegevenspuntenMissing data points

Ontbrekende gegevenspunten worden gebruikt in gelijkmatig gedistribueerd time series gegevenssets, met name die met een granulariteit van fijn (een kleine steekproefinterval.Missing data points are common in evenly distributed time series data sets, especially ones with a fine granularity (A small sampling interval. For example, gegevens verzameld om de paar minuten).For example, data sampled every few minutes). Minder dan 10% van het verwachte aantal punten in uw gegevens ontbreken, mag niet een negatieve invloed hebben op uw resultaten.Missing less than 10% of the expected number of points in your data shouldn't have a negative impact on your detection results. Beschrijf de hiaten in uw gegevens op basis van de kenmerken, zoals het vervangen van gegevenspunten van een eerdere periode, lineaire interpolatie of een zwevend gemiddelde.Consider filling gaps in your data based on its characteristics like substituting data points from an earlier period, linear interpolation, or a moving average.

Cumulatieve gedistribueerde gegevensAggregate distributed data

De detectie van afwijkingen API werkt het beste op een gelijkmatig gedistribueerd tijdreeksen.The Anomaly Detector API works best on an evenly distributed time series. Als uw gegevens willekeurig is gedistribueerd, moet u aggregeren door een tijdseenheid, zoals Per minuut, uur of dagelijks bijvoorbeeld.If your data is randomly distributed, you should aggregate it by a unit of time, such as Per-minute, hourly, or daily for example.

Detectie van afwijkingen op gegevens met seizoensgebonden patronenAnomaly detection on data with seasonal patterns

Als u weet dat uw time series-gegevens een seizoenspatroon (één die uitgevoerd op regelmatige intervallen wordt) heeft, kunt u de nauwkeurigheid en API-reactietijd kunt verbeteren.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.

Opgeven van een period als u uw JSON-aanvraag anomaly detection latentie kunt verminderen met maximaal 50%.Specifying a period when you construct your JSON request can reduce anomaly detection latency by up to 50%. De period is een geheel getal dat Hiermee geeft u de tijdreeksen van ongeveer het aantal gegevenspunten nodig is voor het herhalen van een patroon.The period is an integer that specifies roughly how many data points the time series takes to repeat a pattern. Bijvoorbeeld, een tijdreeks met één gegevenspunt per dag zou hebben een period als 7, en een tijdreeks met één punt per uur (met de wekelijkse hetzelfde patroon) moet een period van 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. Als u niet zeker weet van patronen van uw gegevens, hebt u niet aan deze parameter opgeeft.If you're unsure of your data's patterns, you don't have to specify this parameter.

Voor de beste resultaten bieden 4 periodde waarde van gegevenspunt, plus een extra regel.For best results, provide 4 period's worth of data point, plus an additional one. Bijvoorbeeld, per uur gegevens met een wekelijkse patroon zoals hierboven wordt beschreven dient 673 gegevenspunten in de hoofdtekst van de aanvraag (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).

Steekproef nemen voor gegevens voor realtime-controleSampling data for real-time monitoring

Als uw streaming-gegevens verzameld op basis van een kort interval (bijvoorbeeld seconden of minuten), misschien verzendt het aanbevolen aantal gegevenspunten overschrijdt de Anomaliedetectie Detector API maximumaantal toegestane (8640 gegevenspunten).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). Als u uw gegevens ziet een stabiele seizoenspatroon, houd rekening met het verzenden van een voorbeeld van uw time series-gegevens met een grotere tijdsinterval, zoals uur.If your data shows a stable seasonal pattern, consider sending a sample of your time series data at a larger time interval, like hours. Steekproeven van uw gegevens op deze manier, kunt u de API-reactietijd ook aanzienlijk kunt verbeteren.Sampling your data in this way can also noticeably improve the API response time.

Volgende stappenNext steps