Pemfilteran dan agregasi: memanipulasi deret waktu

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

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

  • Memfilter, yang menghapus beberapa data dari pertimbangan.
  • Agregasi, yang menggabungkan beberapa bagian data ke dalam kumpulan yang lebih kecil berdasarkan dimensi yang Anda tentukan.

Pemfilteran dan agregasi adalah alat yang efektif untuk membantu mengidentifikasi pola yang menarik dan menyoroti tren atau outlier dalam data, di antara hal lainnya.

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. Untuk contoh, lihat kebijakan contoh API dan contoh Monitoring Query Language.

Data deret waktu mentah

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

Untuk memperkenalkan pemfilteran dan agregasi, contoh di halaman ini menggunakan sejumlah kecil deret waktu hipotetis. Misalnya, ilustrasi berikut menampilkan 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 diberi warna, merah, biru, atau hijau, untuk mencerminkan nilai label color hipotetis. Ada satu deret waktu untuk setiap nilai label. Perhatikan bahwa nilai tidak sejajar dengan rapi, karena 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 merah dari kumpulan 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 perataan.

Agregasi

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

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

Anda harus menyelaraskan deret waktu sebelum dapat menguranginya. Beberapa bagian berikut menjelaskan perataan 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 hal ini. Untuk informasi selengkapnya, lihat Tentang metrik nilai distribusi.

Perataan: regularisasi dalam seri

Langkah pertama dalam menggabungkan data deret waktu adalah penyesuaian. Penyesuaian membuat deret waktu baru dengan data mentah yang telah diregulasi secara berkala sehingga dapat digabungkan dengan deret waktu yang diselaraskan lainnya. Perataan menghasilkan deret waktu dengan data yang berjarak teratur.

Penyelarasan melibatkan dua langkah:

  1. Membagi deret waktu menjadi interval waktu reguler, yang juga disebut bucketing data. Interval ini disebut periode, periode penyelarasan, atau periode penyelarasan.

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

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

Menormalisasi interval waktu

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

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

Bagian ini mengilustrasikan 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 titik berikut dalam setiap periode:

Periode Nilai
1:01–2:00 400, 350, 300, 200
2:01–3:00 200, 100
3:01–4:00 300, 250, 200

Memilih periode perataan

Durasi periode penyelarasan bergantung pada dua faktor:

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

Bagian berikut membahas faktor-faktor ini secara lebih mendetail.

Selain itu, Cloud Monitoring menyimpan data metrik selama jangka waktu tertentu. Periodenya bervariasi sesuai dengan jenis metrik; lihat Retensi data untuk mengetahui detailnya. Periode retensi adalah periode penyelarasan yang paling bermakna dan terpanjang.

Perincian

Jika Anda mengetahui bahwa sesuatu terjadi dalam rentang waktu beberapa jam, dan ingin menggali lebih dalam, sebaiknya gunakan periode satu jam atau beberapa menit untuk penyelarasan.

Jika Anda tertarik untuk mempelajari tren dalam jangka waktu yang lebih lama, periode penyesuaian yang lebih besar mungkin lebih sesuai. Periode penyelarasan yang besar biasanya tidak berguna untuk melihat kondisi anomali jangka pendek. Jika Anda menggunakan, misalnya, periode perataan selama beberapa minggu, keberadaan anomali dalam periode tersebut mungkin masih dapat dideteksi, tetapi data yang dicocokkan mungkin terlalu kasar untuk membantu.

Frekuensi pengambilan sampel

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

Grafik data mentah dengan periode sampling 1 menit.

Jika periode perataan sama dengan periode sampling, maka ada satu titik data dalam setiap periode perataan. Artinya, misalnya, menerapkan salah satu penyelaras max, mean, atau min akan menghasilkan deret waktu yang sama. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu asli sebagai garis pudar:

Grafik deret waktu yang diselaraskan dengan periode yang cocok dengan periode sampling.

Untuk mengetahui informasi selengkapnya tentang cara kerja fungsi penyelaras, lihat Penyelaras.

Jika periode perataan ditetapkan ke dua menit, atau dua kali periode sampling, maka akan ada dua titik data dalam setiap periode. Jika penyelaras max, mean, atau min diterapkan ke titik dalam periode penyelarasan dua menit, deret waktu yang dihasilkan akan berbeda. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu asli sebagai garis pudar:

Grafik deret waktu yang diselaraskan dengan periode dua kali periode sampling.

Saat memilih periode penyelarasan, buat periode tersebut lebih lama dari periode sampling, 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 titik per hari, periode penyelarasan satu jam terlalu singkat untuk berguna: untuk sebagian besar jam, tidak akan ada data.

Perata

Setelah data dibagi menjadi periode penyelarasan, Anda memilih fungsi, penyesuai, untuk diterapkan ke titik data dalam periode tersebut. Penyelaras menghasilkan satu nilai yang ditempatkan di akhir setiap periode penyelarasan.

Opsi perataan mencakup penjumlahan nilai, atau menemukan nilai maksimum, minimum, atau rata-rata, menemukan nilai persentil yang dipilih, menghitung nilai, dan lainnya. Cloud Monitoring API mendukung serangkaian besar fungsi perataan, jauh lebih banyak daripada kumpulan yang diilustrasikan di sini; lihat Aligner untuk daftar lengkapnya. Untuk deskripsi penyelaras kecepatan dan delta, yang mengubah data deret waktu, lihat Jenis, jenis, dan konversi.

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

Periode Nilai Perata: maks Perata: mean Perata: mnt
1: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 penyelaras maksimum, rata-rata, atau minimum menggunakan periode perataan 1 jam ke deret waktu merah asli (diwakili oleh garis pudar dalam ilustrasi):

Grafik yang menunjukkan deret waktu merah setelah menerapkan salah satu dari tiga penyelaras yang berbeda.
Gambar 3: Satu deret waktu, yang disejajarkan dengan tiga cara

Beberapa aligner lainnya

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

  • Count menghitung jumlah nilai dalam periode penyelarasan.
  • Sum menjumlahkan semua nilai dalam periode perataan.
  • Next older menggunakan nilai terbaru dalam periode sebagai nilai perataan.
Periode Nilai Perata: jumlah Perata: jumlah Perata: data yang lebih lama berikutnya
1: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 diselaraskan menjadi deret waktu baru. Langkah ini mengganti semua nilai pada batas periode perataan dengan satu nilai. Karena berfungsi di seluruh deret waktu terpisah, pengurangan juga disebut agregasi lintas deret.

Pengurang

Reducer adalah fungsi yang diterapkan ke nilai di seluruh kumpulan deret waktu untuk menghasilkan satu nilai.

Opsi pengurangan mencakup penjumlahan nilai yang diselaraskan, atau menemukan nilai maksimum, minimum, atau rata-rata. Cloud Monitoring API mendukung kumpulan besar fungsi pengurangan; lihat Reducer untuk mengetahui daftar lengkapnya. Daftar pengurangan sejajar dengan daftar penyelaras.

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

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

Nilai dari tiga deret waktu yang diselaraskan dengan rata-rata (diilustrasikan dalam Gambar 4) ditampilkan 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 diselaraskan dalam tabel sebelumnya, pilih pengurangan dan terapkan ke nilai. Tabel berikut menunjukkan hasil penerapan berbagai pengurangan ke data yang diselaraskan dengan rata-rata:

Batas perataan Pengurang: maks Pengurang: rata-rata Pengurang: min Pengurang: 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 Anda, sehingga menghasilkan satu deret waktu. Ilustrasi berikut menunjukkan hasil agregasi tiga deret waktu yang diselaraskan dengan rata-rata dengan pengurangan maks, yang menghasilkan nilai rata-rata tertinggi di seluruh deret waktu:

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

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

Pengelompokan

Pengelompokan memungkinkan Anda menerapkan pengurangan di seluruh subset deret waktu, bukan di seluruh kumpulan deret waktu. Untuk mengelompokkan deret waktu, Anda memilih satu atau beberapa label. Deret waktu kemudian dikelompokkan berdasarkan nilainya untuk label yang dipilih. Pengelompokan menghasilkan satu deret waktu untuk setiap grup.

Jika jenis metrik mencatat nilai untuk label zone dan color, Anda dapat mengelompokkan deret waktu menurut salah satu atau kedua label. Saat Anda menerapkan pengurangan, 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 menurut zona, Anda akan mendapatkan deret waktu untuk setiap zona yang muncul dalam data. Jika mengelompokkan menurut 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 menyesuaikan semua deret waktu, deret waktu tersebut dapat dikelompokkan menurut nilai color, lalu dikurangi menurut grup. Tindakan ini akan menghasilkan tiga deret waktu khusus warna:

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

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

Agregasi sekunder

Cloud Monitoring melakukan dua langkah agregasi.

  • Agregasi Utama menormalisasi data yang diukur, lalu menggabungkan deret waktu yang dinormalisasi menggunakan pengurangan. Saat Anda menggunakan pengelompokan, lebih dari satu deret waktu mungkin dihasilkan dari pengurangan yang dilakukan sebagai bagian dari langkah ini.

  • Agregasi sekunder, yang berlaku untuk hasil langkah agregasi utama, memungkinkan Anda menggabungkan deret waktu yang dikelompokkan menjadi satu hasil menggunakan pengurangan kedua.

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

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

Ketiga deret waktu yang telah dikurangi ini kemudian dapat dikurangi lebih lanjut dengan menerapkan agregasi sekunder. Tabel berikut menunjukkan hasil penerapan reducer yang dipilih:

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

Ilustrasi berikut menunjukkan hasil agregasi tiga deret grup dengan pengurangan rata-rata:

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

Jenis, jenis, dan konversi

Ingat bahwa titik data dalam deret waktu dicirikan oleh jenis metrik dan jenis nilai; lihat Jenis nilai dan jenis metrik untuk peninjauan. Penyelaras dan pengurangan yang sesuai untuk satu set data mungkin tidak sesuai untuk set data lainnya. Misalnya, penyelaras atau pengurangan yang menghitung jumlah nilai salah sesuai untuk data boolean, tetapi tidak untuk data numerik. Demikian pula, penyelaras atau pengurangan yang menghitung rata-rata berlaku untuk data numerik, tetapi tidak untuk data boolean.

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

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

    Anda juga dapat mengonversi metrik kumulatif dan delta menjadi metrik pengukur. 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 Anda memilih penyelaras ALIGN_DELTA dan periode penyelarasan tiga menit. Karena periode perataan tidak cocok dengan (waktu mulai, waktu akhir] untuk setiap sampel, deret waktu dibuat dengan nilai yang diinterpolasi. Untuk contoh ini, deret waktu yang diinterpolasi adalah:

    [waktu mulai, waktu berakhir] (menit) nilai interpolasi (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 perataan tiga menit dijumlahkan untuk menghasilkan nilai yang diselaraskan:

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

    Jika ALIGN_RATE dipilih, prosesnya sama, kecuali bahwa nilai yang diselaraskan dibagi dengan periode perataan. Untuk contoh ini, periode perataan adalah tiga menit sehingga deret waktu yang diselaraskan memiliki nilai berikut:

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

    Untuk memetakan metrik kumulatif, metrik tersebut harus dikonversi menjadi metrik delta atau metrik rasio. 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 penyelaras dan pengurangan tidak mengubah jenis nilai data input; misalnya, data bilangan bulat masih berupa data bilangan bulat setelah penjajaran. Penyelaras dan pengurangan lainnya mengonversi data dari satu jenis ke jenis lainnya, yang berarti informasi dapat dianalisis dengan cara yang tidak sesuai dengan jenis nilai asli.

    Misalnya, pengurangan REDUCE_COUNT dapat diterapkan ke data numerik, boolean, string, dan distribusi, tetapi hasilnya adalah bilangan bulat 64-bit yang menghitung jumlah nilai dalam periode. REDUCE_COUNT hanya dapat diterapkan ke metrik pengukur dan delta, dan jenis metrik tidak akan berubah.

Tabel referensi untuk Aligner dan Reducer menunjukkan jenis data yang sesuai untuk masing-masing dan konversi yang dihasilkan. Misalnya, berikut adalah entri untuk ALIGN_DELTA:

Entri referensi untuk delta aligner