Algoritma CNN-QR - Amazon Forecast

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Algoritma CNN-QR

Amazon Forecast CNN-QR, Convolutional Neural Network - Quantile Regression, adalah algoritma pembelajaran mesin berpemilik untuk meramalkan rangkaian waktu skalar (satu dimensi) menggunakan jaringan saraf konvolusional kausal (CNN). Algoritma pembelajaran yang diawasi ini melatih satu model global dari koleksi besar deret waktu dan menggunakan decoder kuantil untuk membuat prediksi probabilistik.

Memulai dengan CNN-QR

Anda dapat melatih prediktor dengan CNN-QR dengan dua cara:

  1. Secara manual memilih algoritma CNN-QR.

  2. Memilih AutoML (CNN-QR adalah bagian dari AutoML).

Jika Anda tidak yakin algoritma mana yang akan digunakan, sebaiknya pilih AutoML, dan Forecast akan memilih CNN-QR jika itu adalah algoritma yang paling akurat untuk data Anda. Untuk melihat apakah CNN-QR dipilih sebagai model yang paling akurat, gunakan DescribePredictorAPI atau pilih nama prediktor di konsol.

Berikut adalah beberapa kasus penggunaan utama untuk CNN-QR:

  • Forecast dengan dataset besar dan kompleks - CNN-QR bekerja paling baik ketika dilatih dengan dataset besar dan kompleks. Jaringan saraf dapat belajar di banyak kumpulan data, yang berguna ketika Anda memiliki rangkaian waktu dan metadata item terkait.

  • Forecast dengan rangkaian waktu terkait historis - CNN-QR tidak memerlukan deret waktu terkait untuk memuat titik data dalam cakrawala perkiraan. Fleksibilitas tambahan ini memungkinkan Anda untuk menyertakan rentang waktu dan data meta item terkait yang lebih luas, seperti harga item, peristiwa, metrik web, dan kategori produk.

Bagaimana CNN-QR Bekerja

CNN-QR adalah model sequence-to-sequence (Seq2Seq) untuk peramalan probabilistik yang menguji seberapa baik prediksi merekonstruksi urutan decoding, dikondisikan pada urutan pengkodean.

Algoritma ini memungkinkan fitur yang berbeda dalam pengkodean dan urutan decoding, sehingga Anda dapat menggunakan rangkaian waktu terkait di encoder, dan menghilangkannya dari decoder (dan sebaliknya). Secara default, rangkaian waktu terkait dengan titik data di cakrawala perkiraan akan dimasukkan dalam encoder dan decoder. Rangkaian waktu terkait tanpa titik data di cakrawala perkiraan hanya akan dimasukkan dalam encoder.

CNN-QR melakukan regresi kuantil dengan CNN kausal hirarkis yang berfungsi sebagai ekstraktor fitur yang dapat dipelajari.

Untuk memfasilitasi pola yang bergantung pada waktu pembelajaran, seperti lonjakan selama akhir pekan, CNN-QR secara otomatis membuat rangkaian waktu fitur berdasarkan granularitas deret waktu. Misalnya, CNN-QR menciptakan dua rangkaian waktu fitur (day-of-month dan day-of-year) pada frekuensi deret waktu mingguan. Algoritma menggunakan rangkaian waktu fitur turunan ini bersama dengan rangkaian waktu fitur khusus yang disediakan selama pelatihan dan inferensi. Contoh berikut menunjukkan deret waktu target,zi,t, dan dua fitur deret waktu yang diturunkan:ui,1,t mewakili jam dalam sehari, danui,2,t mewakili hari dalam seminggu.

Gambar: CNN-QR dengan fitur turunan untuk frekuensi waktu.

CNN-QR secara otomatis menyertakan rangkaian waktu fitur ini berdasarkan frekuensi data dan ukuran data pelatihan. Tabel berikut mencantumkan fitur yang dapat diturunkan untuk setiap frekuensi waktu dasar yang didukung.

Frekuensi Seri Waktu Fitur Berasal
Menit minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year
Jam hour-of-day, day-of-week, day-of-month, day-of-year
Hari day-of-week, day-of-month, day-of-year
Minggu week-of-month, week-of-year
Bulan month-of-year

Selama pelatihan, setiap rangkaian waktu dalam kumpulan data pelatihan terdiri dari sepasang konteks yang berdekatan dan jendela perkiraan dengan panjang yang telah ditentukan sebelumnya. Ini ditunjukkan pada gambar di bawah ini, di mana jendela konteks diwakili dalam warna hijau, dan jendela perkiraan diwakili dengan warna biru.

Anda dapat menggunakan model yang dilatih pada set pelatihan tertentu untuk menghasilkan prediksi untuk deret waktu dalam set pelatihan, dan untuk deret waktu lainnya. Set data pelatihan terdiri dari deret waktu target, yang dapat dikaitkan dengan daftar deret waktu terkait dan metadata item.

Gambar di bawah ini menunjukkan cara kerjanya untuk elemen kumpulan data pelatihan yang diindeks olehi. Kumpulan data pelatihan terdiri dari rangkaian waktu target,zi,t, dan dua rangkaian waktu terkait terkait,xi,1,t danxi,2,t. Seri waktu terkait pertama,xi,1,t, adalah seri waktu berwawasan ke depan, dan yang keduaxi,2,t,, adalah rangkaian waktu sejarah.

Gambar: CNN-QR dengan seri waktu terkait sejarah dan masa depan

CNN-QR belajar di seluruh seri waktu targetzi,t,, dan deret waktu terkaitxi,2,t,xi,1,t dan, untuk menghasilkan prediksi di jendela perkiraan, diwakili oleh garis oranye.

Menggunakan Data Terkait dengan CNN-QR

CNNQR mendukung dataset seri waktu terkait historis dan ke depan. Jika Anda memberikan dataset time series terkait dengan tampilan ke depan, nilai yang hilang akan diisi menggunakan metode pengisian di future. Untuk informasi lebih lanjut tentang seri waktu terkait historis dan berwawasan ke depan, lihat Menggunakan Set Data Seri Waktu Terkait.

Anda juga dapat menggunakan dataset metadata item dengan CNN-QR. Ini adalah kumpulan data dengan informasi statis pada item dalam deret waktu target Anda. Metadata item sangat berguna untuk skenario peramalan coldstart di mana ada sedikit atau tidak ada data historis. Untuk informasi lebih lanjut tentang metadata item, lihat Metadata item.

Hyperparameter CNN-QR

Amazon Forecast mengoptimalkan model CNN-QR pada hyperparameter yang dipilih. Saat memilih CNN-QR secara manual, Anda memiliki opsi untuk meneruskan parameter pelatihan untuk hyperparameter ini. Tabel berikut mencantumkan hyperparameter merdu dari algoritma CNN-QR.

Nama Parameter Nilai Deskripsi
context_length
Nilai valid

Bilangan Positif

Rentang yang valid

10 hingga 500

Nilai tipikal

2*ForecastHorizon ke 12*ForecastHorizon

HPO merdu

Ya

Jumlah titik waktu yang dibaca model sebelum membuat prediksi. Biasanya, CNN-QR memiliki nilai yang lebih besarcontext_length daripada DeePar+karena CNN-QR tidak menggunakan kelambatan untuk melihat data historis lebih lanjut.

Jika nilai untukcontext_length berada di luar rentang yang telah ditentukan, CNN-QR akan secara otomatis mengatur defaultcontext_length ke nilai yang sesuai.

use_related_data
Nilai valid

ALL

NONE

HISTORICAL

FORWARD_LOOKING

Nilai default

ALL

HPO merdu

Ya

Menentukan jenis data deret waktu terkait untuk dimasukkan dalam model.

Pilih salah satu dari empat pilihan:

  • ALL: Sertakan semua rangkaian waktu terkait yang disediakan.

  • NONE: Kecualikan semua rangkaian waktu terkait yang disediakan.

  • HISTORICAL: Sertakan hanya rangkaian waktu terkait yang tidak meluas ke cakrawala perkiraan.

  • FORWARD_LOOKING: Sertakan hanya rangkaian waktu terkait yang meluas ke cakrawala perkiraan.

HISTORICALmencakup semua rangkaian waktu terkait sejarah, danFORWARD_LOOKING mencakup semua rangkaian waktu terkait berwawasan ke depan. Anda tidak dapat memilih subset dariHISTORICAL atau rangkaian waktuFORWARD_LOOKING terkait.

use_item_metadata
Nilai valid

ALL

NONE

Nilai default

ALL

HPO merdu

Ya

Menentukan apakah model menyertakan metadata item.

Pilih salah satu dari dua pilihan:

  • ALL: Sertakan semua metadata item yang disediakan.

  • NONE: Exlude semua metadata item yang disediakan.

use_item_metadatamencakup semua metadata item yang disediakan atau tidak ada. Anda tidak dapat memilih subset metadata item.

epochs
Nilai valid

Bilangan Positif

Nilai tipikal

10 hingga 1000

Nilai default

100

HPO merdu

Tidak

Jumlah maksimum lolos lengkap melalui data pelatihan. Dataset yang lebih kecil membutuhkan lebih banyak zaman.

Untuk nilai besarForecastHorizon dancontext_length, pertimbangkan untuk mengurangi zaman untuk meningkatkan waktu pelatihan.

Optimasi Hiperparameter (HPO)

Hyperparameter Optimization (HPO) adalah tugas memilih nilai hiperparameter optimal untuk tujuan pembelajaran tertentu. Dengan Forecast, Anda dapat mengotomatiskan proses ini dengan dua cara:

  1. Memilih AutoML, dan HPO akan secara otomatis berjalan untuk CNN-QR.

  2. Memilih CNN-QR dan pengaturan secara manualPerformHPO = TRUE.

Rangkaian waktu terkait tambahan dan metadata item tidak selalu meningkatkan akurasi model CNN-QR Anda. Saat Anda menjalankan AutoML atau mengaktifkan HPO, CNN-QR menguji keakuratan model Anda dengan dan tanpa rangkaian waktu dan metadata item terkait yang disediakan, dan memilih model dengan akurasi tertinggi.

Amazon Forecast secara otomatis mengoptimalkan tiga hyperparameter berikut selama HPO dan memberi Anda nilai terlatih akhir:

  • context_length - menentukan seberapa jauh ke masa lalu jaringan dapat melihat. Proses HPO secara otomatis menetapkan nilai untukcontext_length itu memaksimalkan akurasi model, sambil mempertimbangkan waktu pelatihan.

  • use_related_data - menentukan bentuk data deret waktu terkait untuk disertakan dalam model Anda. Proses HPO secara otomatis memeriksa apakah data deret waktu terkait Anda meningkatkan model, dan memilih pengaturan yang optimal.

  • use_item_metadata - menentukan apakah akan menyertakan metadata item dalam model Anda. Proses HPO secara otomatis memeriksa apakah metadata item Anda meningkatkan model, dan memilih pengaturan optimal.

catatan

Jikause_related_data diatur keNONE atauHISTORICAL ketika fiturHoliday tambahan dipilih, ini berarti bahwa menyertakan data liburan tidak meningkatkan akurasi model.

Anda dapat mengatur konfigurasi HPO untukcontext_length hyperparameter jika Anda mengaturPerformHPO = TRUE selama pemilihan manual. Namun, Anda tidak dapat mengubah aspek apa pun dari konfigurasi HPO jika Anda memilih AutoML. Untuk informasi lebih lanjut tentang konfigurasi HPO, lihat IntergerParameterRangeAPI.

Tips dan Praktik Terbaik

Hindari nilai besar untuk ForecastHorizon - Menggunakan nilai lebih dari 100 untukForecastHorizon akan meningkatkan waktu pelatihan dan dapat mengurangi akurasi model. Jika Anda ingin meramalkan lebih jauh ke future, pertimbangkan untuk menggabungkan ke frekuensi yang lebih tinggi. Misalnya, gunakan 5min sebagai ganti dari 1min.

CNN memungkinkan panjang konteks yang lebih tinggi - Dengan CNN-QR, Anda dapat mengaturcontext_length sedikit lebih tinggi dari itu untuk DeepAR +, karena CNN umumnya lebih efisien daripada RNNS.

Rekayasa fitur data terkait - Bereksperimen dengan kombinasi berbeda dari rangkaian waktu dan metadata item terkait saat melatih model Anda, dan menilai apakah informasi tambahan meningkatkan akurasi. Kombinasi dan transformasi yang berbeda dari rangkaian waktu dan metadata item terkait akan memberikan hasil yang berbeda.

CNN-QR tidak memperkirakan pada kuantil rata-rata - Saat AndaForecastTypes menyetelmean dengan CreateForecastAPI, perkiraan akan dihasilkan pada kuantil median (0.5atauP50).