series_periods_validate()

Sprawdza, czy szereg czasowy zawiera okresowe wzorce danej długości.

Często metryka mierząca ruch aplikacji charakteryzuje się tygodniowym lub dziennym okresem. Ten okres można potwierdzić, uruchamiając series_periods_validate() testy cotygodniowego i dziennego okresu.

Składnia

series_periods_validate(Serii,okres1 [ ,okres2, . . . ] )

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Serii dynamic ✔️ Tablica wartości liczbowych, zazwyczaj wynikowych danych wyjściowych operatorów make-series lub make_list .
okres1, okres2 itp. real ✔️ Okresy do zweryfikowania w jednostkach rozmiaru pojemnika. Jeśli na przykład seria znajduje się w pojemnikach 1h, cotygodniowy okres wynosi 168 pojemników. Wymagany jest co najmniej jeden okres.

Ważne

  • Minimalna wartość dla każdego parametru okresu wynosi 4 , a maksymalna wartość wynosi połowę długości serii wejściowej. Dla argumentu kropki poza tymi granicami wynik wyjściowy będzie wynosić 0.
  • Szeregi czasowe wejściowe muszą być regularne, czyli agregowane w pojemnikach stałych i zawsze jest to przypadek, jeśli został utworzony przy użyciu serii make-series. W przeciwnym razie dane wyjściowe są bez znaczenia.
  • Funkcja akceptuje maksymalnie 16 okresów do zweryfikowania.

Zwraca

Funkcja generuje tabelę z dwiema kolumnami:

  • periods: tablica dynamiczna zawierająca kropki do weryfikacji zgodnie z informacjami podanymi w danych wejściowych.
  • scores: tablica dynamiczna zawierająca wynik z zakresu od 0 do 1. Wynik pokazuje znaczenie okresu w odpowiedniej pozycji w tablicy okresów .

Przykład

Poniższe zapytanie osadza migawkę miesiąca ruchu aplikacji zagregowaną dwa razy dziennie (rozmiar pojemnika wynosi 12 godzin).

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

Okresy serii.

Jeśli uruchomisz series_periods_validate() tę serię, aby zweryfikować cotygodniowy okres (14 punktów długi) spowoduje to wysokie wyniki i z wynikiem 0 po zweryfikowaniu pięciodniowego okresu (10 punktów długo).

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)

Dane wyjściowe

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