series_periods_validate()

Memeriksa apakah rangkaian waktu berisi pola periodik dari panjang tertentu.

Seringkali metrik yang mengukur lalu lintas aplikasi ditandai dengan periode mingguan atau harian. Periode ini dapat dikonfirmasi dengan menjalankan series_periods_validate() yang memeriksa untuk periode mingguan dan harian.

Sintaks

series_periods_validate(Seri,period1 [ ,periode2, . . . ] )

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
Seri dynamic ✔️ Array nilai numerik, biasanya output yang dihasilkan dari operator make-series atau make_list .
periode1, periode2, dll. real ✔️ Periode untuk memvalidasi dalam satuan ukuran bin. Misalnya, jika seri dalam bin 1 jam, periode mingguan adalah 168 bin. Setidaknya diperlukan satu periode.

Penting

  • Nilai minimal untuk setiap parameter periode adalah 4 dan maksimal adalah setengah dari panjang seri input. Untuk argumen period di luar batas-batas ini, skor output akan menjadi 0.
  • Rangkaian waktu input harus teratur, yaitu, diagregasi dalam bin konstanta, dan akan selalu seperti ini jika dibuat menggunakan make-series. Jika tidak, hasil output tidak ada artinya.
  • Fungsi ini menerima hingga 16 periode untuk memvalidasi.

Mengembalikan

Fungsi ini menghasilkan tabel dengan dua kolom:

  • titik: Array dinamis yang berisi periode untuk divalidasi sebagaimana disediakan dalam input.
  • scores: Larik dinamis yang berisi skor antara 0 dan 1. Setiap larik mengukur signifikansi suatu periode di posisinya masing-masing dalam larik periods.

Contoh

Kueri berikut menyematkan snapshot suatu bulan dari lalu lintas aplikasi, yang diagregasi dua kali sehari (ukuran bin adalah 12 jam).

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

Titik seri.

Jika Anda menjalankan series_periods_validate() pada rangkaian ini untuk memvalidasi periode mingguan (panjang 14 poin), hasilnya adalah skor tinggi, dan dengan skor 0 saat Anda memvalidasi periode lima hari (panjang 10 poin).

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)

Output

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