Pemfilteran dan agregasi: memanipulasi deret waktu

Halaman ini menjelaskan teknik yang digunakan untuk memanipulasi data deret waktu. Konten ini dibuat berdasarkan konsep dan diskusi di Metrik, deret waktu, dan resource.

Data deret waktu mentah harus dimanipulasi sebelum dapat dianalisis, dan analisis sering kali melibatkan pemfilteran beberapa data dan agregasinya bersama-sama. Halaman ini menjelaskan dua teknik utama untuk menyaring data mentah:

  • Pemfilteran, yang menghapus beberapa data dari pertimbangan.
  • Agregasi, yang menggabungkan beberapa bagian data menjadi kumpulan yang lebih kecil bersama dimensi yang Anda tentukan.

Pemfilteran dan agregasi adalah alat yang efektif untuk membantu mengidentifikasi pola yang menarik dan menyoroti tren atau pencilan dalam data.

Halaman ini menjelaskan konsep di balik pemfilteran dan agregasi. Artikel ini tidak membahas cara menerapkannya secara langsung. Untuk menerapkan pemfilteran atau agregasi ke data deret waktu, gunakan Cloud Monitoring API atau alat pembuatan diagram dan pemberitahuan di Konsol Google Cloud. Misalnya, lihat Kebijakan contoh API dan contoh Bahasa Kueri Pemantauan.

Data deret waktu mentah

Jumlah data metrik mentah dalam satu deret waktu dapat sangat banyak, dan biasanya ada banyak deret waktu yang terkait dengan jenis metrik. Untuk menganalisis seluruh kumpulan data untuk kesamaan, tren, atau pencilan, Anda harus melakukan pemrosesan pada deret waktu dalam set. Jika tidak, terlalu banyak data untuk dipertimbangkan.

Untuk memperkenalkan pemfilteran dan agregasi, contoh di halaman ini menggunakan sejumlah kecil deret waktu. Misalnya, ilustrasi berikut menunjukkan data mentah selama beberapa jam dari tiga deret waktu:

Grafik yang menampilkan tiga deret waktu mentah: merah, biru, dan hijau.
Gambar 1: Tiga deret waktu mentah

Setiap deret waktu berwarna, merah, biru, atau hijau, untuk mencerminkan nilai label color hipotetis. Ada satu deret waktu untuk setiap nilai label. Perhatikan bahwa nilai-nilai tidak sejajar, karena nilai-nilai tersebut direkam pada waktu yang berbeda.

Pemfilteran

Salah satu alat paling canggih untuk analisis adalah pemfilteran, yang memungkinkan Anda menyembunyikan data yang tidak langsung menarik bagi Anda.

Anda dapat memfilter data deret waktu berdasarkan hal berikut:

  • waktu.
  • Nilai satu atau beberapa label.

Ilustrasi berikut menunjukkan hasil pemfilteran untuk hanya menampilkan deret waktu berwarna merah dari rangkaian deret waktu mentah asli (diilustrasikan dalam Gambar 1):

Grafik yang menampilkan salah satu deret waktu mentah: merah.
Gambar 2: Setelah pemfilteran, satu deret waktu mentah

Deret waktu ini, yang dipilih dengan pemfilteran, digunakan di bagian berikutnya, untuk menunjukkan penyelarasan.

Agregasi

Cara lain untuk mengurangi jumlah data yang Anda miliki adalah dengan meringkas, atau menggabungkan data. Ada dua aspek agregasi:

  • Perataan, atau perataan data dalam satu deret waktu.
  • Pengurangan, atau menggabungkan beberapa deret waktu.

Anda harus menyelaraskan deret waktu sebelum dapat menguranginya. Beberapa bagian berikutnya menjelaskan penyelarasan dan pengurangan menggunakan deret waktu yang menyimpan nilai bilangan bulat. Konsep umum ini juga berlaku jika deret waktu memiliki jenis nilai Distribution; namun, ada beberapa batasan tambahan dalam kasus ini. Untuk informasi selengkapnya, lihat Tentang metrik nilai distribusi.

Penyelarasan: regularisasi dalam deret

Langkah pertama dalam menggabungkan data deret waktu adalah alignment. Penyelarasan membuat deret waktu baru yang berisi data mentah yang telah diregularisasi secara tepat waktu sehingga dapat digabungkan dengan deret waktu lainnya yang diselaraskan. Alignment menghasilkan seri waktu dengan data yang berjarak teratur.

Penyelarasan melibatkan dua langkah:

  1. Membagi deret waktu menjadi interval waktu reguler, juga disebut pengelompokan data. Interval disebut periode, periode penyelarasan, atau jendela penyelarasan.

  2. Menghitung satu nilai untuk titik-titik dalam periode perataan. Anda yang memilih cara penghitungan titik tunggal tersebut; Anda dapat menjumlahkan semua nilai, menghitung rata-ratanya, atau menggunakan nilai maksimum.

Karena deret waktu baru yang dibuat oleh penyelarasan mewakili semua nilai dari deret waktu mentah yang berada dalam periode penyelarasan dengan satu nilai, deret ini juga disebut pengurangan dalam deret atau agregasi dalam deret.

Mengatur interval waktu

Untuk menganalisis data deret waktu, titik data harus tersedia pada batas waktu yang berjarak sama. Penyelarasan adalah proses untuk mewujudkan hal ini.

Alignment membuat deret waktu baru dengan interval konstan, periode penyelarasan, di antara titik data. Penyelarasan biasanya diterapkan pada beberapa deret waktu sebagai persiapan untuk manipulasi lebih lanjut.

Bagian ini menggambarkan langkah-langkah penyelarasan dengan menerapkannya ke satu deret waktu. Dalam contoh ini, periode penyelarasan satu jam diterapkan ke contoh deret waktu yang diilustrasikan dalam Gambar 2. Deret waktu menunjukkan data yang diambil selama tiga jam. Memecah titik data menjadi periode satu jam akan menghasilkan poin-poin berikut di setiap periodenya:

Periode Nilai
13.01–2.00 400, 350, 300, 200
2.01–3.00 200.100
3.01–4.00 300, 250, 200

Memilih periode penyelarasan

Durasi periode penyelarasan bergantung pada dua faktor:

  • Tingkat perincian dari apa yang Anda coba temukan dalam data.
  • Periode pengambilan sampel data; yaitu, seberapa sering data dilaporkan.

Bagian berikut membahas faktor-faktor tersebut secara lebih mendetail.

Selain itu, Cloud Monitoring menyimpan data metrik selama jangka waktu terbatas. Periode ini bervariasi sesuai jenis metrik; baca Retensi data untuk mengetahui detailnya. Periode retensi adalah periode penyelarasan terpanjang yang bermakna.

Perincian

Jika Anda tahu sesuatu terjadi dalam rentang beberapa jam, dan ingin menggali lebih dalam, Anda mungkin perlu menggunakan periode satu jam atau beberapa menit untuk penyelarasan.

Jika Anda tertarik untuk menjelajahi tren dalam jangka waktu yang lebih lama, periode perataan yang lebih besar mungkin lebih tepat. Periode perataan besar biasanya tidak berguna untuk melihat kondisi anomali jangka pendek. Jika Anda menggunakan, misalnya, periode penyelarasan beberapa minggu, keberadaan anomali dalam periode tersebut mungkin masih dapat terdeteksi, tetapi data yang diselaraskan mungkin terlalu halus sehingga tidak dapat digunakan.

Frekuensi pengambilan sampel

Frekuensi penulisan data, atau frekuensi sampling, juga dapat memengaruhi pilihan periode penyelarasan. Lihat Daftar metrik untuk mengetahui frekuensi sampling metrik bawaan. Perhatikan gambar berikut, yang menggambarkan deret waktu dengan frekuensi sampling satu titik per menit:

Grafik data mentah dengan periode pengambilan sampel 1 menit.

Jika periode penyelarasan sama dengan periode pengambilan sampel, akan ada satu titik data di setiap periode penyelarasan. Artinya, menerapkan salah satu pelurus max, mean, atau min akan menghasilkan deret waktu yang selaras. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu aslinya sebagai garis yang memudar:

Grafik deret waktu yang diselaraskan dengan periode yang cocok dengan periode pengambilan sampel.

Untuk mengetahui informasi selengkapnya tentang cara kerja fungsi aligner, lihat Perata.

Jika periode penyelarasan ditetapkan ke dua menit, atau menggandakan periode sampling, akan ada dua titik data di setiap periode. Jika pelurus max, mean, atau min diterapkan ke titik-titik dalam periode perataan dua menit, deret waktu yang dihasilkan akan berbeda. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu aslinya sebagai garis yang memudar:

Grafik deret waktu yang diselaraskan dengan periode menggandakan periode pengambilan sampel.

Saat memilih periode penyelarasan, buat periode tersebut lebih panjang dari periode pengambilan sampel, tetapi cukup singkat untuk menampilkan tren yang relevan. Anda mungkin harus bereksperimen untuk menentukan periode penyelarasan yang berguna. Misalnya, jika data dikumpulkan dengan kecepatan satu poin per hari, periode penyelarasan satu jam terlalu singkat untuk dianggap berguna: untuk sebagian besar jam, tidak akan ada data.

Perata

Setelah data dibagi menjadi periode penyelarasan, Anda dapat memilih sebuah fungsi, yaitu penyelaras, yang akan diterapkan ke titik data dalam periode tersebut. Perata menghasilkan satu nilai yang ditempatkan di akhir setiap periode penyelarasan.

Opsi perataan mencakup penjumlahan nilai, atau menemukan nilai maks, min, atau rata-rata dari nilai, menemukan nilai persentil yang dipilih, menghitung nilai, dan lainnya. Cloud Monitoring API mendukung serangkaian fungsi penyelarasan dalam jumlah besar, lebih banyak daripada kumpulan fungsi sederhana yang diilustrasikan di sini; lihat Aligner untuk mengetahui daftar lengkapnya. Untuk deskripsi tentang tarif dan delta aligner, yang mengubah data deret waktu, lihat [Jenis, jenis, dan konversi][jenis-jenis-konversi].

Misalnya, dengan mengambil data bucket dari deret waktu mentah (diilustrasikan dalam Gambar 1), pilih aligner dan terapkan ke data di setiap bucket. Tabel berikut menunjukkan nilai mentah dan hasil dari tiga pelurus yang berbeda, maks, rata-rata, dan min:

Periode Nilai Perata: maks Perata: rata-rata Perata: min
13.01–2.00 400, 350, 300, 200 400 312,5 200
2.01–3.00 200.100 200 150 100
3.01–4.00 300, 250, 200 300 250 200

Ilustrasi berikut menunjukkan hasil penerapan perataan max, mean, atau min menggunakan periode penyelarasan 1 jam dengan deret waktu merah yang asli (ditunjukkan dengan garis memudar dalam ilustrasi):

Grafik yang menampilkan deret waktu berwarna merah setelah menerapkan salah satu dari tiga pelurus yang berbeda.
Gambar 3: Satu deret waktu, selaras dengan tiga cara

Beberapa pelurus lainnya

Tabel berikut menunjukkan nilai mentah yang sama dan hasil dari tiga penyelaras lainnya:

  • Jumlah menghitung jumlah nilai dalam periode penyelarasan.
  • Sum menjumlahkan semua nilai dalam periode penyelarasan.
  • Next lebih lama menggunakan nilai terbaru dalam periode sebagai nilai perataan.
Periode Nilai Perata: hitungan Perata: jumlah Penyelaras: yang lebih lama
13.01–2.00 400, 350, 300, 200 4 1250 200
2.01–3.00 200.100 2 300 100
3.01–4.00 300, 250, 200 3 750 200

Hasil ini tidak ditampilkan pada diagram.

Pengurangan: menggabungkan deret waktu

Langkah berikutnya dalam proses ini, pengurangan, adalah proses menggabungkan beberapa deret waktu yang disejajarkan ke dalam deret waktu baru. Langkah ini mengganti semua nilai pada batas periode penyelarasan dengan satu nilai. Karena berfungsi pada deret waktu terpisah, pengurangan juga disebut agregasi lintas deret.

Pengurang

Pereduksi adalah fungsi yang diterapkan pada nilai di seluruh rangkaian waktu untuk menghasilkan satu nilai.

Opsi pengurang mencakup penjumlahan nilai yang disejajarkan, atau menemukan nilai maksimum, minimum, atau rata-rata dari nilai tersebut. Cloud Monitoring API mendukung serangkaian besar fungsi pengurangan; lihat Reducer untuk mengetahui daftar lengkapnya. Daftar pengurangan sejajar dengan daftar pelurus.

Deret waktu harus disejajarkan sebelum dapat dikurangi. Ilustrasi berikut menunjukkan hasil yang menyelaraskan ketiga deret waktu mentah (dari Gambar 1) ke dalam periode 1 jam dengan penyelaras rata-rata:

Grafik yang menampilkan tiga deret waktu yang rata-rata diselaraskan.
Gambar 4: Tiga deret waktu, rata-rata selaras

Nilai dari tiga deret waktu yang selaras rata-rata (diilustrasikan dalam Gambar 4) ditunjukkan dalam tabel berikut:

Batas perataan Merah Biru Hijau
2:00 312,5 133,3 400
3:00 150 283,3 433,3
4:00 250 300 350

Dengan menggunakan data yang disejajarkan dalam tabel sebelumnya, pilih pengurang dan terapkan ke nilai tersebut. Tabel berikut menunjukkan hasil penerapan pengurangan yang berbeda pada data yang diselaraskan dengan rata-rata:

Batas perataan Peredam: maks Peredam: rata-rata Peredam: min Peredam: jumlah
2:00 400 281,9 133,3 845,8
3:00 433,3 288,9 150 866,7
4:00 350 300 250 900

Secara default, pengurangan berlaku di semua deret waktu, sehingga menghasilkan satu deret waktu. Ilustrasi berikut menunjukkan hasil penggabungan tiga deret waktu yang selaras rata-rata dengan peredam max, yang menghasilkan nilai rata-rata tertinggi di seluruh deret waktu:

Grafik yang menunjukkan hasil penggunaan pengurangan maks pada deret waktu yang disejajarkan.
Gambar 5: Pengurangan maksimum dari tiga deret waktu yang diselaraskan dengan rata-rata

Pengurangan juga dapat digabungkan dengan pengelompokan, yang mengelompokkan deret waktu ke dalam kategori, dan pengurangan diterapkan di seluruh deret waktu dalam setiap grup.

Pengelompokan

Pengelompokan memungkinkan Anda menerapkan pengurang di seluruh subsets deret waktu, bukan di seluruh kumpulan deret waktu. Untuk mengelompokkan deret waktu, pilih satu atau beberapa label. Deret waktu tersebut kemudian dikelompokkan berdasarkan nilainya untuk label yang dipilih.

  • Hal ini menghasilkan satu deret waktu untuk setiap grup.
  • Kemudian, Anda dapat menerapkan pengurangan yang berbeda di seluruh deret waktu menurut grupnya; hal ini disebut pengurangan sekunder, dan pengurangan semua deret waktu yang dikelompokkan menjadi satu hasil.

Jika jenis metrik mencatat nilai untuk label zone dan color, Anda dapat mengelompokkan deret waktu menurut salah satu atau kedua label. Saat Anda menerapkan pereduksi, setiap grup akan dikurangi menjadi satu deret waktu. Jika mengelompokkan berdasarkan warna, Anda akan mendapatkan satu deret waktu untuk setiap warna yang direpresentasikan dalam data. Jika mengelompokkan berdasarkan zona, Anda akan mendapatkan deret waktu untuk setiap zona yang muncul dalam data. Jika mengelompokkan berdasarkan keduanya, Anda akan mendapatkan deret waktu untuk setiap kombinasi warna dan zona.

Misalnya, Anda telah mengambil banyak deret waktu dengan nilai "merah", "biru", dan "hijau" untuk label color. Setelah menyelaraskan semua deret waktu, keduanya dapat dikelompokkan menurut nilai color, lalu dikurangi menurut kelompok. Hal ini menghasilkan tiga deret waktu khusus warna:

Grafik yang menampilkan deret waktu yang dikelompokkan berdasarkan warna dan dikurangi.
Gambar 6: Deret waktu, yang dikelompokkan menurut warna dan dikurangi

Contoh ini tidak menentukan pelurus atau pengurang yang digunakan; intinya di sini adalah pengelompokan memungkinkan Anda mengurangi kumpulan deret waktu yang besar menjadi set yang lebih kecil, dengan setiap deret waktu mewakili grup yang berbagi atribut yang sama: dalam contoh ini, nilai label color.

Agregasi sekunder

Saat Anda menggunakan pengelompokan, lebih dari satu deret waktu dapat dihasilkan dari pengurangan. Agregasi sekunder memungkinkan Anda memilih pengurangan kedua untuk diterapkan setelah pengurangan yang dikelompokkan.

Tabel berikut menunjukkan nilai deret waktu yang dikelompokkan (diilustrasikan dalam Gambar 6):

Batas perataan Kelompok merah Grup biru Grup hijau
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

Ketiga deret waktu yang sudah dikurangi ini dapat dikurangi lebih lanjut dengan menerapkan agregasi sekunder. Tabel berikut menampilkan hasil penerapan pengurangan yang dipilih:

Batas perataan Peredam: maks Peredam: rata-rata Peredam: min Peredam: jumlah
2:00 450 333,3 150 1.000
3:00 450 333,3 200 1.000
4:00 400 333,3 300 1.000

Ilustrasi berikut menunjukkan hasil penggabungan tiga rangkaian yang dikelompokkan dengan peredam rata-rata:

Grafik yang menampilkan hasil pengurangan rata-rata deret waktu yang dikurangi kelompok.
Gambar 7: Deret waktu yang dikelompokkan, setelah rata-rata agregasi sekunder

Jenis, jenis, dan konversi

Ingat bahwa titik data dalam deret waktu dicirikan oleh jenis metrik dan jenis nilai. Baca Jenis nilai dan jenis metrik untuk mengetahui ulasannya. Perata dan pengurangan yang tepat untuk satu set data mungkin tidak sesuai untuk set data lainnya. Misalnya, aligner atau pengurang yang menghitung jumlah nilai salah sesuai untuk data boolean, tetapi tidak untuk data numerik. Demikian pula, aligner atau pengurangan yang menghitung rata-rata berlaku untuk data numerik, tetapi tidak untuk data boolean.

Beberapa penyelaras dan pengurangan juga dapat digunakan untuk mengubah jenis metrik atau jenis nilai data dalam deret waktu secara eksplisit. Beberapa atribut, seperti ALIGN_COUNT, melakukannya sebagai efek samping.

  • Jenis metrik: Metrik kumulatif adalah metrik yang setiap nilai mewakili total sejak pengumpulan nilai dimulai. Anda tidak dapat menggunakan metrik kumulatif langsung dalam diagram, tetapi dapat menggunakan metrik delta, dengan setiap nilai mewakili perubahan sejak pengukuran sebelumnya.

    Anda juga dapat mengonversi metrik kumulatif dan delta untuk mengukur metrik. Misalnya, pertimbangkan metrik delta yang deret waktunya adalah sebagai berikut:

    (waktu mulai, waktu berakhir] (menit) nilai (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    Asumsikan bahwa Anda memilih pelurus ALIGN_DELTA dan periode perataan selama tiga menit. Karena periode penyelarasan tidak sesuai dengan (waktu mulai, waktu berakhir] untuk setiap sampel, deret waktu akan dibuat dengan nilai terinterpolasi. Untuk contoh ini, deret waktu interpolasi adalah:

    (waktu mulai, waktu berakhir] (menit) nilai terinterpolasi (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    Selanjutnya, semua titik dalam periode penyelarasan selama tiga menit dijumlahkan untuk menghasilkan nilai yang disejajarkan:

    (waktu mulai, waktu berakhir] (menit) nilai yang disejajarkan (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    Jika ALIGN_RATE dipilih, prosesnya sama, hanya saja nilai yang disejajarkan dibagi dengan periode penyelarasan. Untuk contoh ini, periode penyelarasan adalah tiga menit sehingga deret waktu yang diselaraskan memiliki nilai berikut:

    (waktu mulai, waktu berakhir] (menit) nilai yang disejajarkan (MiB / detik)
    (0, 3] 0,056
    (3, 6] 0,022
    (6, 9] 0,050

    Untuk membuat diagram metrik kumulatif, metrik tersebut harus dikonversi menjadi metrik delta atau metrik tarif. Proses untuk metrik kumulatif mirip dengan diskusi sebelumnya. Anda dapat menghitung deret waktu delta dari deret waktu kumulatif dengan menghitung perbedaan istilah yang berdekatan.

  • Jenis nilai: Beberapa perataan dan pengurangan tidak mengubah jenis nilai data input; misalnya, data bilangan bulat masih berupa data bilangan bulat setelah penyelarasan. Penyelaras dan pengurangan lain mengonversi data dari satu jenis ke jenis lainnya, yang berarti informasi dapat dianalisis dengan cara yang tidak sesuai dengan jenis nilai asli.

    Misalnya, pengurang REDUCE_COUNT dapat diterapkan pada data numerik, boolean, string, dan distribusi, tetapi hasil yang dihasilkannya adalah bilangan bulat 64-bit yang menghitung jumlah nilai dalam periode tersebut. REDUCE_COUNT hanya dapat diterapkan untuk mengukur dan delta metrik, tanpa mengubah jenis metrik.

Tabel referensi untuk Aligner dan Reducer menunjukkan jenis data yang sesuai untuk masing-masing data dan konversi apa pun yang menghasilkan. Misalnya, kode berikut menunjukkan entri untuk ALIGN_DELTA:

Entri referensi untuk aligner delta