Najlepsze rozwiązania dotyczące używania interfejsu API bezwariancji Narzędzie do wykrywania anomalii

Ważne

Od 20 września 2023 r. nie będzie można tworzyć nowych zasobów Narzędzie do wykrywania anomalii. Usługa Narzędzie do wykrywania anomalii jest wycofywana 1 października 2026 r.

Interfejs API Narzędzie do wykrywania anomalii to bezstanowa usługa wykrywania anomalii. Na dokładność i wydajność wyników może mieć wpływ:

  • Sposób przygotowywania danych szeregów czasowych.
  • Użyte parametry interfejsu API Narzędzie do wykrywania anomalii.
  • Liczba punktów danych w żądaniu interfejsu API.

Skorzystaj z tego artykułu, aby dowiedzieć się więcej o najlepszych rozwiązaniach dotyczących korzystania z interfejsu API, aby uzyskać najlepsze wyniki dla danych.

Kiedy należy używać wsadowego (całego) lub najnowszego (ostatniego) wykrywania anomalii punktów

Punkt końcowy wykrywania wsadowego interfejsu API Narzędzie do wykrywania anomalii umożliwia wykrywanie anomalii za pośrednictwem całych danych szeregów czasowych. W tym trybie wykrywania tworzony jest pojedynczy model statystyczny i stosowany do każdego punktu w zestawie danych. Jeśli szereg czasowy ma poniższe cechy, zalecamy użycie funkcji wykrywania wsadowego w celu wyświetlenia podglądu danych w jednym wywołaniu interfejsu API.

  • Sezonowa seria czasowa z okazjonalnymi anomaliami.
  • Płaska seria czasowa trendu z okazjonalnymi skokami/spadkami.

Nie zalecamy używania wykrywania anomalii wsadowych na potrzeby monitorowania danych w czasie rzeczywistym ani używania ich w danych szeregów czasowych, które nie mają powyższych cech.

  • Wykrywanie wsadowe tworzy i stosuje tylko jeden model. Wykrywanie dla każdego punktu odbywa się w kontekście całej serii. Jeśli trendy danych szeregów czasowych w górę i w dół bez sezonowości, niektóre punkty zmian (spadki i skoki danych) mogą zostać pominięte przez model. Podobnie niektóre punkty zmiany, które są mniej znaczące niż te późniejsze w zestawie danych, mogą nie być liczone jako wystarczająco znaczące, aby można je było włączyć do modelu.

  • Wykrywanie wsadowe jest wolniejsze niż wykrywanie stanu anomalii ostatniego punktu podczas monitorowania danych w czasie rzeczywistym ze względu na liczbę analizowanych punktów.

W przypadku monitorowania danych w czasie rzeczywistym zalecamy wykrywanie stanu anomalii tylko twojego najnowszego punktu danych. Dzięki ciągłego stosowania najnowszego wykrywania punktów monitorowanie danych przesyłanych strumieniowo może być wykonywane wydajniej i dokładnie.

W poniższym przykładzie opisano wpływ tych trybów wykrywania na wydajność. Pierwszy obraz przedstawia wynik ciągłego wykrywania najnowszego punktu stanu anomalii wraz z 28 wcześniej widocznymi punktami danych. Czerwone punkty to anomalie.

An image showing anomaly detection using the latest point

Poniżej znajduje się ten sam zestaw danych korzystający z wykrywania anomalii wsadowych. Model utworzony dla operacji zignorował kilka anomalii oznaczonych prostokątami.

An image showing anomaly detection using the batch method

Przygotowywanie danych

Interfejs API Narzędzie do wykrywania anomalii akceptuje dane szeregów czasowych sformatowane w obiekcie żądania JSON. Szeregi czasowe mogą być dowolnymi danymi liczbowych rejestrowanych w czasie w kolejności sekwencyjnej. Okna danych szeregów czasowych można wysyłać do punktu końcowego interfejsu API Narzędzie do wykrywania anomalii w celu zwiększenia wydajności interfejsu API. Minimalna liczba wysyłanych punktów danych to 12, a maksymalna to 8640 punktów. Stopień szczegółowości jest definiowany jako częstotliwość próbkowania danych.

Punkty danych wysyłane do interfejsu API Narzędzie do wykrywania anomalii muszą mieć prawidłowy znacznik czasu uniwersalnego koordynowanego (UTC) i wartość liczbową.

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

Jeśli dane są próbkowane w niestandardowym interwale czasu, możesz je określić, dodając customInterval atrybut w żądaniu. Jeśli na przykład seria jest próbkowana co 5 minut, możesz dodać następujące elementy do żądania JSON:

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

Brakujące punkty danych

Brakujące punkty danych są powszechne w równomiernie rozproszonych zestawach danych szeregów czasowych, zwłaszcza w przypadku dokładnego stopnia szczegółowości (mały interwał próbkowania. Na przykład dane próbkowane co kilka minut). Brak mniej niż 10% oczekiwanej liczby punktów w danych nie powinien mieć negatywnego wpływu na wyniki wykrywania. Rozważ wypełnienie luk w danych na podstawie ich cech, takich jak podstawianie punktów danych z wcześniejszego okresu, interpolacji liniowej lub średniej ruchomej.

Agregowanie rozproszonych danych

Interfejs API Narzędzie do wykrywania anomalii działa najlepiej w równomiernie rozproszonych szeregach czasowych. Jeśli dane są losowo dystrybuowane, należy je agregować według jednostki czasu, takiej jak minuta, godzinowa lub dzienna.

Wykrywanie anomalii na danych przy użyciu wzorców sezonowych

Jeśli wiesz, że dane szeregów czasowych mają sezonowy wzorzec (taki, który występuje w regularnych odstępach czasu), możesz poprawić dokładność i czas odpowiedzi interfejsu API.

Określenie wartości podczas konstruowania period żądania JSON może zmniejszyć opóźnienie wykrywania anomalii o maksymalnie 50%. Jest to liczba całkowita period określająca mniej więcej liczbę punktów danych, które szeregi czasowe muszą powtórzyć wzorzec. Na przykład szereg czasowy z jednym punktem danych dziennie będzie miał period wartość , 7a szereg czasowy z jednym punktem na godzinę (z tym samym wzorcem tygodniowym) miałby period wartość 7*24. Jeśli nie masz pewności co do wzorców danych, nie musisz określać tego parametru.

Aby uzyskać najlepsze wyniki, podaj cztery periodpunkty danych i dodatkowe. Na przykład dane godzinowe ze wzorcem tygodniowym zgodnie z powyższym opisem powinny zawierać 673 punkty danych w treści żądania (7 * 24 * 4 + 1).

Dane próbkowania na potrzeby monitorowania w czasie rzeczywistym

Jeśli dane przesyłane strumieniowo są próbkowane w krótkim odstępie czasu (na przykład w sekundach lub minutach), wysłanie zalecanej liczby punktów danych może przekroczyć maksymalną dozwoloną liczbę interfejsu API Narzędzie do wykrywania anomalii (8640 punktów danych). Jeśli dane pokazują stabilny wzorzec sezonowy, rozważ wysłanie próbki danych szeregów czasowych w dłuższym interwale czasu, na przykład godziny. Próbkowanie danych w ten sposób może również znacznie poprawić czas odpowiedzi interfejsu API.

Następne kroki