Osvědčené postupy pro používání Detektor anomálií jednovariátového rozhraní API

Důležité

Od 20. září 2023 nebudete moct vytvářet nové Detektor anomálií prostředky. Služba Detektor anomálií se 1. října 2026 vyřadí z provozu.

Rozhraní DETEKTOR ANOMÁLIÍ API je bezstavová služba detekce anomálií. Přesnost a výkon výsledků může mít vliv na:

  • Způsob přípravy dat časových řad
  • Použité parametry rozhraní API Detektor anomálií.
  • Počet datových bodů v požadavku rozhraní API

V tomto článku se dozvíte o osvědčených postupech pro používání rozhraní API, abyste získali nejlepší výsledky pro vaše data.

Kdy použít dávku (celou) nebo nejnovější (poslední) detekci anomálií bodů

Koncový bod dávkového zjišťování rozhraní API Detektor anomálií umožňuje detekovat anomálie prostřednictvím dat celé řady. V tomto režimu detekce se vytvoří jeden statistický model a použije se na každý bod v sadě dat. Pokud má vaše časová řada níže uvedené charakteristiky, doporučujeme použít detekci dávek k zobrazení náhledu dat v jednom volání rozhraní API.

  • Sezónní časová řada s občasnými anomáliemi.
  • Plochá časová řada trendu s občasnými špičkami nebo poklesy.

Nedoporučujeme používat detekci dávkových anomálií pro monitorování dat v reálném čase nebo ji používat u dat časových řad, která nemají výše uvedené charakteristiky.

  • Dávkové zjišťování vytvoří a použije pouze jeden model. Detekce pro každý bod se provádí v kontextu celé řady. Pokud jsou trendy dat časových řad nahoru a dolů bez sezónnosti, může model vynechat některé body změn (poklesy a špičky v datech). Podobně některé body změny, které jsou menší než ty, které jsou pozdější v datové sadě, nemusí být počítána jako významné natolik významné, aby bylo možné je začlenit do modelu.

  • Detekce dávek je pomalejší než zjištění stavu anomálií posledního bodu při monitorování dat v reálném čase kvůli počtu analyzovaných bodů.

Pro monitorování dat v reálném čase doporučujeme zjistit stav anomálií jenom u nejnovějšího datového bodu. Díky nepřetržitému používání nejnovějšího zjišťování bodů je možné monitorování streamovaných dat provádět efektivněji a přesněji.

Následující příklad popisuje dopad těchto režimů detekce na výkon. První obrázek ukazuje výsledek nepřetržitého zjišťování posledního bodu stavu anomálií podél 28 dříve zobrazených datových bodů. Červené body jsou anomálie.

An image showing anomaly detection using the latest point

Níže je stejná datová sada pomocí detekce dávkových anomálií. Model vytvořený pro operaci ignoroval několik anomálií označených obdélníky.

An image showing anomaly detection using the batch method

Příprava dat

Rozhraní API Detektor anomálií přijímá data časových řad formátovaná do objektu požadavku JSON. Časová řada může být libovolná číselná data zaznamenaná v průběhu času v sekvenčním pořadí. Do koncového bodu rozhraní API Detektor anomálií můžete odesílat okna dat časových řad, aby se zlepšil výkon rozhraní API. Minimální počet datových bodů, které můžete odeslat, je 12 a maximum je 8640 bodů. Členitost je definována jako rychlost vzorkování dat.

Datové body odeslané do rozhraní API Detektor anomálií musí mít platné časové razítko utc (Coordinated Universal Time) a číselnou hodnotu.

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

Pokud se data vzorkují v nestandardním časovém intervalu, můžete je zadat přidáním atributu customInterval do požadavku. Pokud se například vaše řada vzorkuje každých 5 minut, můžete do požadavku JSON přidat následující:

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

Chybějící datové body

Chybějící datové body jsou běžné v rovnoměrně distribuovaných datových sadách časových řad, zejména v malých intervalech vzorkování. Například data vzorkovaná každých několik minut). Chybějící méně než 10 % očekávaného počtu bodů v datech by nemělo mít negativní dopad na výsledky detekce. Zvažte vyplnění mezer v datech na základě jejich charakteristik, jako je nahrazení datových bodů z dřívějšího období, lineární interpolace nebo klouzavého průměru.

Agregace distribuovaných dat

Rozhraní API Detektor anomálií funguje nejlépe na rovnoměrně distribuované časové řadě. Pokud se data náhodně distribuují, měli byste je agregovat podle jednotky času, například za minutu, každou hodinu nebo denně.

Detekce anomálií u dat se sezónními vzory

Pokud víte, že data časových řad mají sezónní vzor (ten, který se vyskytuje v pravidelných intervalech), můžete zlepšit přesnost a dobu odezvy rozhraní API.

Určení period , kdy vytvoříte požadavek JSON, může snížit latenci detekce anomálií až o 50 %. Jedná se period o celé číslo, které určuje zhruba počet datových bodů, které časová řada trvá k opakování vzoru. Například časová řada s jedním datovým bodem za den by měla period hodnotu as 7a časová řada s jedním bodem za hodinu (se stejným týdenním vzorem period ) by měla hodnotu 7*24. Pokud si nejste jisti vzory dat, nemusíte tento parametr zadávat.

Nejlepších výsledků dosáhnete, když zadáte čtyři periodhodnoty datového bodu a navíc jeden. Například hodinová data s týdenním vzorem, jak je popsáno výše, by měla v textu7 * 24 * 4 + 1 požadavku poskytnout 673 datových bodů.

Vzorkování dat pro monitorování v reálném čase

Pokud se streamovaná data vzorkují v krátkém intervalu (například v sekundách nebo minutách), odesílání doporučeného počtu datových bodů může překročit maximální povolený počet Detektor anomálií rozhraní API (8640 datových bodů). Pokud data zobrazují stabilní sezónní vzor, zvažte odeslání vzorku dat časových řad v delším časovém intervalu, jako jsou hodiny. Vzorkování dat tímto způsobem může také výrazně zlepšit dobu odezvy rozhraní API.

Další kroky