series_periods_validate()

Zkontroluje, jestli časová řada obsahuje pravidelné vzory dané délky.

Metrika, která měří provoz aplikace, se často vyznačuje týdenním nebo denním obdobím. Toto období lze potvrdit spuštěním series_periods_validate() kontroly pro týdenní a denní období.

Syntax

series_periods_validate(Série,period1 [ ,období2, . . . ] )

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Série dynamic ✔️ Pole číselných hodnot, obvykle výsledný výstup řady make-series nebo make_list operátorů.
period1, period2 atd. real ✔️ Období, která se mají ověřit v jednotkách velikosti intervalu. Pokud je například řada v intervalu 1 hodina, týdenní interval je 168 intervalů. Vyžaduje se alespoň jedno období.

Důležité

  • Minimální hodnota každého parametru období je 4 a maximální hodnota je polovina délky vstupní řady. Pro argument tečky mimo tyto hranice bude výstupní skóre 0.
  • Vstupní časová řada musí být pravidelná, tj. agregovaná v konstantních intervalech, a je tomu tak vždy, pokud byla vytvořena pomocí řady make-series. V opačném případě je výstup bezvýznamný.
  • Funkce přijímá k ověření až 16 období.

Návraty

Funkce vypíše tabulku se dvěma sloupci:

  • periods: Dynamické pole, které obsahuje období, která se mají ověřit, jak je uvedeno ve vstupu.
  • scores: Dynamické pole, které obsahuje skóre mezi 0 a 1. Skóre ukazuje význam období v příslušné pozici v poli období .

Příklad

Následující dotaz vloží snímek měsíce provozu aplikace agregovaný dvakrát denně (velikost intervalu je 12 hodin).

print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y  
| render linechart

Období řad.

Pokud tuto řadu spustíte series_periods_validate() , abyste ověřili týdenní období (dlouhé 14 bodů), bude výsledkem vysoké skóre a skóre 0 při ověřování pětidenního období (dlouhé 10 bodů).

print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y  
| project series_periods_validate(y, 14.0, 10.0)

Výstup

series_periods_validate_y_periods series_periods_validate_y_scores
[14.0, 10.0] [0.84, 0.0]