Melatih parameter untuk model perkiraan

Halaman ini memberikan informasi mendetail tentang parameter yang digunakan dalam pelatihan model perkiraan. Untuk mempelajari cara melatih model perkiraan, lihat Melatih model perkiraan dan Melatih model dengan Alur Kerja Tabel untuk Perkiraan.

Metode pelatihan model

Anda dapat memilih di antara metode berikut untuk melatih model:

Dense Encoder (TiDE) deret waktu: Model encoder-decoder berbasis DNN padat yang dioptimalkan. Kualitas model yang bagus dengan pelatihan dan inferensi yang cepat, terutama untuk konteks dan cakrawala yang panjang. Pelajari lebih lanjut.

Temporal Fusion Transformer (TFT): Model DNN berbasis perhatian yang dirancang untuk menghasilkan akurasi dan interpretasi yang tinggi dengan menyelaraskan model dengan tugas perkiraan multi-horizon umum. Pelajari lebih lanjut.

AutoML (L2L): Pilihan yang tepat untuk berbagai kasus penggunaan. Pelajari lebih lanjut.

Seq2Seq+: Pilihan yang bagus untuk eksperimen. Algoritma ini cenderung berpadu lebih cepat daripada AutoML karena arsitekturnya lebih sederhana dan menggunakan ruang penelusuran yang lebih kecil. Eksperimen kami menemukan bahwa Seq2Seq+ berperforma baik dengan anggaran waktu yang kecil dan pada set data yang berukuran lebih kecil dari 1 GB.

Jenis dan ketersediaan fitur di perkiraan

Setiap kolom yang digunakan untuk melatih model perkiraan harus memiliki jenis: atribut atau kovariat. Kovariat selanjutnya ditetapkan sebagai tersedia atau tidak tersedia pada waktu perkiraan.

Jenis seri Tersedia pada waktu perkiraan Deskripsi Contoh Kolom API
Atribut Tersedia Atribut adalah fitur statis yang tidak berubah seiring waktu. Warna item, deskripsi produk. time_series_attribute_columns
Kovariat Tersedia

Variabel eksogen yang diharapkan berubah dari waktu ke waktu. Kovariat yang tersedia pada waktu perkiraan merupakan indikator utama.

Anda harus memberikan data prediksi untuk kolom ini untuk setiap titik di cakrawala perkiraan.

Liburan, promosi, atau acara yang direncanakan. available_at_forecast_columns
Kovariat Tidak tersedia Kovariat tidak tersedia pada waktu perkiraan. Anda tidak perlu memberikan nilai untuk fitur ini saat membuat perkiraan. Cuaca sebenarnya. unavailable_at_forecast_columns

Pelajari lebih lanjut hubungan antara ketersediaan fitur dan horizon perkiraan, periode konteks, dan periode perkiraan.

Horizon perkiraan, periode konteks, dan periode perkiraan

Fitur perkiraan dibagi menjadi atribut statis dan kovariat varian waktu.

Saat melatih model perkiraan, Anda harus menentukan data pelatihan kovariat mana yang paling penting untuk diambil. Hal ini dinyatakan dalam bentuk Periode perkiraan, yang merupakan serangkaian baris yang terdiri dari hal berikut:

  • Konteks atau data historis, hingga saat prediksi.
  • Horizon atau baris yang digunakan untuk prediksi.

Secara bersama-sama, baris dalam periode menentukan instance deret waktu yang berfungsi sebagai input model: inilah yang menjadi tempat pelatihan Vertex AI, tempat evaluasi, dan penggunaan untuk prediksi. Baris yang digunakan untuk menghasilkan periode adalah baris pertama horizon dan secara unik mengidentifikasi periode dalam deret waktu.

Horizon perkiraan menentukan seberapa jauh model akan memperkirakan nilai target untuk setiap baris data prediksi pada masa mendatang.

Periode konteks menetapkan rentang waktu ke belakang model selama pelatihan (dan untuk perkiraan). Dengan kata lain, untuk setiap titik data pelatihan, periode konteks menentukan seberapa jauh model mencari pola prediktif. Pelajari praktik terbaik untuk menemukan nilai yang tepat untuk periode konteks.

Misalnya, jika Periode konteks = 14 dan Rentang waktu perkiraan = 7, setiap contoh periode akan memiliki 14 + 7 = 21 baris.

Ketersediaan sesuai perkiraan

Kovariat perkiraan dapat dibagi menjadi kovariat yang tersedia pada waktu perkiraan dan yang tidak tersedia pada waktu perkiraan.

Saat menangani kovariat yang tersedia pada waktu perkiraan, Vertex AI mempertimbangkan nilai kovariat dari periode konteks dan horizon perkiraan untuk pelatihan, evaluasi, dan prediksi. Saat menangani kovariat yang tidak tersedia pada waktu perkiraan, Vertex AI mempertimbangkan nilai kovariat dari periode konteks, tetapi secara eksplisit mengecualikan nilai kovariat dari horizon perkiraan.

Strategi periode berkelanjutan

Vertex AI menghasilkan Periode perkiraan dari data input menggunakan strategi periode yang bergulir. Strategi defaultnya adalah Jumlah.

  • Jumlah. Jumlah periode yang dihasilkan oleh Vertex AI tidak boleh melebihi jumlah maksimum yang disediakan pengguna. Jika jumlah baris dalam set data input kurang dari jumlah maksimum periode, setiap baris akan digunakan untuk membuat periode. Jika tidak, Vertex AI akan melakukan pengambilan sampel acak untuk memilih baris. Nilai default untuk jumlah maksimum periode adalah 100,000,000. Jumlah maksimum periode tidak boleh melebihi 100,000,000.
  • Jangka (Stride). Vertex AI menggunakan satu dari setiap X baris input untuk menghasilkan periode, hingga maksimum 100.000.000 periode. Opsi ini berguna untuk prediksi musiman atau berkala. Misalnya, Anda dapat membatasi perkiraan ke satu hari dalam seminggu dengan menetapkan nilai panjang jangka ke 7. Nilainya dapat antara 1 dan 1000.
  • Kolom. Anda dapat menambahkan kolom ke data input dengan nilai True atau False. Vertex AI menghasilkan periode untuk setiap baris input dengan nilai kolom True. Nilai True dan False dapat ditetapkan dalam urutan apa pun, selama jumlah total baris True kurang dari 100,000,000. Nilai Boolean lebih diutamakan, tetapi nilai string tetap diterima. Nilai string tidak peka huruf besar/kecil.

Dengan menghasilkan lebih sedikit dari periode 100,000,000 default, Anda dapat mengurangi waktu yang diperlukan untuk pra-pemrosesan dan evaluasi model. Selain itu, pengurangan sampel periode memberi Anda lebih banyak kontrol atas distribusi periode yang terlihat selama pelatihan. Jika digunakan dengan benar, ini dapat memberikan hasil yang lebih baik dan lebih konsisten.

Cara jendela konteks dan horizon perkiraan digunakan selama pelatihan dan perkiraan

Misalkan Anda memiliki data yang dikumpulkan setiap bulan, dengan periode konteks 5 bulan dan jangka waktu perkiraan 5 bulan. Melatih model Anda dengan data selama 12 bulan akan menghasilkan kumpulan input dan perkiraan berikut:

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Setelah pelatihan, model ini dapat digunakan untuk memprediksi bulan 13 hingga 17:

  • [8-12]:[13-17]

Model hanya menggunakan data yang masuk ke periode konteks untuk membuat perkiraan. Data apa pun yang Anda berikan yang berada di luar periode konteks akan diabaikan.

Setelah dikumpulkan untuk bulan ke-13, data dapat digunakan untuk memprediksi hingga bulan 18:

  • [9-13]:[14-18]

Hal ini dapat berlanjut pada masa mendatang, selama Anda mendapatkan hasil yang baik. Pada akhirnya, Anda dapat melatih ulang model dengan data baru. Misalnya, jika Anda melatih ulang model setelah menambahkan data selama 6 bulan lagi, data pelatihan akan digunakan sebagai berikut:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Selanjutnya, Anda dapat menggunakan model ini untuk memprediksi bulan 19 hingga 23:

  • [14-18]:[19-23]

Tujuan pengoptimalan untuk model perkiraan

Saat Anda melatih model, Vertex AI akan memilih tujuan pengoptimalan default berdasarkan jenis model Anda dan jenis data yang digunakan untuk kolom target Anda. Tabel berikut memberikan beberapa detail tentang model perkiraan masalah yang paling cocok untuk:

Tujuan pengoptimalan Nilai API Gunakan tujuan ini jika Anda ingin ...
RMSE minimize-rmse Meminimalkan error akar rataan kuadrat (RMSE). Menangkap nilai yang lebih ekstrem secara akurat dan tidak terlalu bias saat menggabungkan prediksi. Nilai default.
MAE minimize-mae Meminimalkan error rata-rata absolut (MAE). Melihat nilai ekstrem sebagai pencilan dengan dampak yang lebih sedikit terhadap model.
RMSLE minimize-rmsle Meminimalkan error log akar rataan kuadrat (RMSLE). Menindak error pada ukuran relatif, bukan nilai absolut. Berguna saat nilai aktual dan yang diprediksi berukuran besar.
RMSPE minimize-rmspe Minimalkan error persentase akar rata-rata kuadrat (RMSPE). Merekam rentang nilai yang besar secara akurat. Mirip dengan RMSE, tetapi relatif terhadap besaran target. Berguna jika rentang nilainya besar.
WAPE minimize-wape-mae Meminimalkan kombinasi error persentase absolut berbobot (WAPE) dan rata-rata error absolut (MAE). Berguna jika nilai aktual rendah.
Kebocoran kuantil minimize-quantile-loss Meminimalkan hilangnya pinball berskala dari kuantil yang ditentukan untuk mengukur ketidakpastian dalam perkiraan. Prediksi kuantil mengukur ketidakpastian prediksi. Prediksi kuantil mengukur kemungkinan prediksi yang berada dalam rentang.

Wilayah liburan

Untuk kasus penggunaan tertentu, data perkiraan dapat menunjukkan perilaku yang tidak teratur pada hari-hari yang sesuai dengan hari libur regional. Jika Anda ingin model mempertimbangkan efek ini, pilih wilayah geografis atau region yang sesuai dengan data input Anda. Selama pelatihan, Vertex AI membuat fitur kategoris liburan dalam model berdasarkan tanggal dari kolom waktu dan wilayah geografis yang ditentukan.

Berikut adalah kutipan tanggal dan fitur kategori hari libur untuk Amerika Serikat. Perhatikan bahwa fitur kategoris ditetapkan ke tanggal utama, satu atau beberapa hari sebelum hari libur, dan satu atau beberapa hari setelah hari libur. Misalnya, tanggal utama Hari Ibu di AS pada tahun 2013 adalah tanggal 12 Mei. Fitur Hari Ibu ditetapkan ke tanggal utama, enam hari sebelum liburan, dan satu hari pascaliburan.

Tanggal Fitur kategori hari libur
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

Nilai yang dapat diterima untuk wilayah liburan mencakup hal berikut:

  • GLOBAL: Mendeteksi hari libur untuk semua wilayah di dunia.
  • NA: Mendeteksi hari libur untuk Amerika Utara.
  • JAPAC: Mendeteksi hari libur untuk Jepang dan Asia Pasifik.
  • EMEA: Mendeteksi hari libur di Eropa, Timur Tengah, dan Afrika.
  • LAC: Mendeteksi hari libur untuk Amerika Latin dan Karibia.
  • Kode negara ISO 3166-1: Mendeteksi hari libur untuk setiap negara.

Untuk melihat daftar lengkap tanggal hari libur untuk setiap wilayah geografis, lihat tabel holidays_and_events_for_forecasting di BigQuery. Anda dapat membuka tabel ini melalui Konsol Google Cloud menggunakan langkah-langkah berikut:

  1. Di konsol Google Cloud, di bagian BigQuery, buka halaman BigQuery Studio.

    Buka BigQuery Studio

  2. Di panel Penjelajah, buka project bigquery-public-data. Jika Anda tidak dapat menemukan project ini atau mempelajari lebih lanjut, lihat Membuka set data publik.
  3. Buka set data ml_datasets.
  4. Buka tabel holidays_and_events_for_forecasting.

Berikut adalah kutipan dari tabel holidays_and_events_for_forecasting:

contoh hari libur untuk perkiraan