Prediksi Deret Waktu Multivariat dengan BQML - KDnuggets

Prediksi Deret Waktu Multivariat dengan BQML – KDnuggets

Node Sumber: 2796796

Prediksi Rangkaian Waktu Multivariat dengan BQML
Gambar dari Pexels
 

Musim dingin lalu, saya memberikan presentasi tentang 'Model deret waktu yang lebih dapat diprediksi dengan BQMLdi GDG DevFest Tashkent 2022 di Tashkent, ibu kota Uzbekistan.

Saya akan membagikan beberapa materi dan kode setelah DevFest yang saya gunakan dalam presentasi, tetapi waktu telah berlalu, dan fitur-fitur baru telah dirilis di BQML yang tumpang tindih dengan beberapa konten.

Oleh karena itu, saya akan menyebutkan secara singkat fitur-fitur baru dan beberapa hal yang masih berlaku.

Data deret waktu digunakan oleh banyak organisasi untuk berbagai tujuan, dan penting untuk dicatat bahwa “analitik prediktifs” adalah tentang “masa depan” dalam waktu. Analisis prediktif deret waktu telah digunakan dalam jangka pendek, menengah, dan panjang, dan meskipun memiliki banyak ketidakakuratan dan risiko, analisis ini juga terus mengalami peningkatan.

Karena “prediksi” tampaknya sangat berguna, Anda mungkin tergoda untuk menerapkan model prediksi deret waktu jika Anda memiliki data deret waktu. Namun model prediksi deret waktu biasanya memerlukan komputasi yang intensif, dan jika Anda memiliki banyak data, komputasinya akan lebih intensif. Jadi rumit dan sulit untuk memprosesnya, memuatnya ke lingkungan analitik, dan menganalisisnya

Jika Anda menggunakan Google BigQuery untuk pengelolaan datanya bisa anda gunakan BQML (BigQuery ML) untuk menerapkan algoritme pembelajaran mesin ke data Anda dengan cara yang sederhana, mudah, dan cepat. Banyak orang menggunakan BigQuery untuk memproses banyak data, dan sebagian besar data tersebut sering kali merupakan data deret waktu. Dan BQML juga mendukung model deret waktu.

Dasar dari model deret waktu yang saat ini didukung oleh BQML adalah Rata-Rata Pergerakan Terintegrasi AutoRegresif (ARIMA) model. Model ARIMA memprediksi hanya dengan menggunakan data deret waktu yang ada dan diketahui memiliki performa prediksi jangka pendek yang baik, dan karena menggabungkan AR dan MA, model ini menjadi model populer yang dapat mencakup berbagai model deret waktu.

Namun, model ini secara keseluruhan intensif komputasi, dan karena hanya menggunakan data deret waktu dengan normalitas, maka sulit untuk menggunakannya dalam kasus dengan tren atau musiman. Karena itu, ARIMA_PLUS di BQML menyertakan beberapa fitur tambahan sebagai opsi. Anda dapat menambahkan dekomposisi deret waktu, faktor musiman, lonjakan dan penurunan, perubahan koefisien, dan lainnya ke model Anda, atau Anda dapat memeriksanya secara terpisah dan menyesuaikan model secara manual. Saya pribadi juga menyukai kenyataan bahwa Anda dapat menyesuaikan periodisitas dengan secara otomatis memasukkan opsi liburan, yang merupakan salah satu keuntungan menggunakan platform yang tidak mengharuskan Anda menambahkan informasi terkait tanggal secara manual.

 

Prediksi Rangkaian Waktu Multivariat dengan BQML
Struktur ARIMA_PLUS (dari Panduan BQML)
 

Anda dapat merujuk ke ini halaman for more information.

Namun, jika diterapkan di dunia nyata, prediksi deret waktu tidak sesederhana ini. Tentu saja, kami dapat mengidentifikasi beberapa siklus dan menambahkan intervensi ke beberapa rangkaian waktu dengan ARIMA_PLUS, namun ada banyak faktor eksternal yang terkait dengan data rangkaian waktu, dan hanya sedikit peristiwa yang terjadi secara terpisah. Stasioneritas sulit ditemukan dalam data deret waktu.

Dalam presentasi aslinya, saya melihat cara menangani data deret waktu dunia nyata untuk membuat model prediksi menguraikan deret waktu ini, bersihkan data yang terurai, impor ke Python, lalu menggabungkannya dengan variabel lain untuk membuat fungsi deret waktu multivariat, memperkirakan kausalitas dan memasukkannya ke dalam model prediksi, dan memperkirakan sejauh mana pengaruhnya bervariasi seiring dengan perubahan peristiwa.

Dan hanya dalam beberapa bulan terakhir, fitur baru untuk membuat fungsi deret waktu multivariat dengan variabel eksternal(ARIMA_PLUS_XREG, XREG di bawah) telah menjadi fitur langsung di BQML.

Anda dapat membaca semuanya di sini(ini dalam pratinjau mulai Juli 2023, tapi menurut saya akan tersedia akhir tahun ini).

Saya melamar tutorial resmi untuk melihat perbandingannya dengan model deret waktu univariat tradisional dan kita dapat melihat cara kerjanya.

Langkah-langkahnya sama seperti pada tutorial, jadi saya tidak akan menduplikasinya, tapi inilah dua model yang saya buat. Pertama, saya membuat yang tradisional ARIMA_PLUS model dan kemudian an XREG model menggunakan data yang sama tetapi menambahkan suhu dan kecepatan angin pada saat itu.

# ARIMA_PLUS

# ARIMA_PLUS
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_plus_model
OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')
#ARIMA_PLUS_XREG
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_xreg_model OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS_XREG', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25, temperature, wind_speed
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')

 

Model yang menggunakan banyak data ini akan terlihat seperti ini

 

Prediksi Rangkaian Waktu Multivariat dengan BQML
Struktur ARIMA_PLUS_XREG (dari Panduan BQML)
 

Dua model dibandingkan dengan ML.Evaluate.

SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_plus_model, ( SELECT date, pm25 FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ))
SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_xreg_model, ( SELECT date, pm25, temperature, wind_speed FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ), STRUCT( TRUE AS perform_aggregation, 30 AS horizon))

 

Hasilnya ada di bawah.

ARIMA_PLUS

 

Prediksi Rangkaian Waktu Multivariat dengan BQML
 

ARIMA_PLUS_XREG

 

Prediksi Rangkaian Waktu Multivariat dengan BQML
 

Anda dapat melihat bahwa Model XREG lebih unggul dalam metrik kinerja dasar seperti MAE, MSE, dan MAPE. (Jelas, ini bukan solusi sempurna, bergantung pada data, dan kami dapat mengatakan bahwa kami memiliki alat lain yang berguna.)

Analisis deret waktu multivariat adalah opsi yang sangat dibutuhkan dalam banyak kasus, namun seringkali sulit diterapkan karena berbagai alasan. Sekarang kita bisa menggunakannya jika alasannya ada pada data dan langkah analisis. Sepertinya kita mempunyai pilihan yang bagus untuk itu, jadi ada baiknya untuk mengetahuinya dan semoga bermanfaat dalam banyak kasus.
 
 
Jeong Min Kwon adalah Ilmuwan Data senior lepas dengan pengalaman lebih dari 10 tahun dalam memanfaatkan model pembelajaran mesin dan penambangan data.
 

Stempel Waktu:

Lebih dari KDnugget