Fitur kalender untuk prakiraan rangkaian waktu di AutoML
Artikel ini berfokus pada fitur berbasis kalender yang dibuat AutoML untuk meningkatkan akurasi model regresi prakiraan. Karena liburan dapat memiliki pengaruh yang kuat pada bagaimana sistem yang dimodelkan bereaksi, waktu sebelum, selama, dan setelah liburan dapat memodelkan pola seri. Setiap hari libur menghasilkan jendela di atas himpunan data Anda yang ada yang dapat ditetapkan oleh pelajar. Ini dapat sangat berguna dalam skenario seperti hari libur yang menghasilkan permintaan tinggi untuk produk tertentu. Lihat artikel gambaran umum metode untuk informasi umum selengkapnya tentang metodologi prakiraan di AutoML. Instruksi dan contoh untuk model prakiraan pelatihan di AutoML dapat ditemukan di artikel prakiraan AutoML untuk rangkaian waktu kami.
Sebagai bagian dari rekayasa fitur, AutoML mengubah kolom jenis tanggalwaktu yang disediakan dalam data pelatihan menjadi kolom baru fitur berbasis kalender. Fitur-fitur ini dapat membantu model regresi mempelajari pola musiman pada beberapa irama. AutoML selalu dapat membuat fitur kalender dari indeks waktu rangkaian waktu karena ini adalah kolom yang diperlukan dalam data pelatihan. Fitur kalender juga dibuat dari kolom lain dengan jenis tanggalwaktu, jika ada. Lihat cara AutoML menggunakan panduan data Anda untuk informasi selengkapnya tentang persyaratan data.
AutoML mempertimbangkan dua kategori fitur kalender: fitur standar yang sepenuhnya didasarkan pada nilai tanggal dan waktu dan fitur liburan yang khusus untuk negara atau wilayah dunia. Kami membahas fitur-fitur ini di sisa artikel.
Fitur kalender standar
Tabel berikut ini memperlihatkan kumpulan lengkap fitur kalender standar AutoML bersama dengan contoh output. Contohnya menggunakan format standar YY-mm-dd %H-%m-%d
untuk representasi tanggalwaktu.
Nama fitur | Deskripsi | Contoh output untuk 2011-01-01 00:25:30 |
---|---|---|
year |
Fitur numerik yang mewakili tahun kalender | 2011 |
year_iso |
Mewakili tahun ISO seperti yang didefinisikan dalam ISO 8601. Tahun ISO dimulai pada minggu pertama tahun yang memiliki hari Kamis. Misalnya, jika 1 Januari adalah hari Jumat, tahun ISO dimulai pada 4 Januari. Tahun ISO mungkin berbeda dari tahun kalender. | 2010 |
half |
Fitur yang menunjukkan apakah tanggal berada di paruh pertama atau kedua tahun ini. Ini adalah 1 jika tanggal sebelum 1 Juli dan 2 sebaliknya. | |
quarter |
Fitur numerik yang mewakili kuartal dari tanggal yang diberikan. Dibutuhkan nilai 1, 2, 3, atau 4 yang mewakili kuartal pertama, kedua, ketiga, kuartal keempat tahun kalender. | 1 |
month |
Fitur numerik yang mewakili bulan kalender. Dibutuhkan nilai 1 hingga 12. | 1 |
month_lbl |
Fitur string yang mewakili nama bulan. | 'Januari' |
day |
Fitur numerik yang mewakili hari dalam sebulan. Dibutuhkan nilai dari 1 hingga 31. | 1 |
hour |
Fitur numerik yang mewakili jam dalam sehari. Dibutuhkan nilai 0 hingga 23. | 0 |
minute |
Fitur numerik yang mewakili menit dalam satu jam. Dibutuhkan nilai 0 hingga 59. | 25 |
second |
Fitur numerik yang mewakili detik dari tanggalwaktu yang diberikan. Dalam kasus di mana hanya format tanggal yang disediakan, maka diasumsikan sebagai 0. Dibutuhkan nilai 0 hingga 59. | 30 |
am_pm |
Fitur numerik yang menunjukkan apakah waktunya di pagi atau malam hari. Ini 0 untuk waktu sebelum pukul 12:00 dan 1 untuk waktu setelah pukul 12:00. | 0 |
am_pm_lbl |
Fitur string yang menunjukkan apakah waktunya di pagi atau malam hari. | 'am' |
hour12 |
Fitur numerik yang mewakili jam dalam sehari pada jam 12 jam. Dibutuhkan nilai 0 hingga 12 untuk paruh pertama hari dan 1 sampai 11 untuk paruh kedua. | 0 |
wday |
Fitur numerik yang mewakili hari dalam seminggu. Dibutuhkan nilai 0 sampai 6, di mana 0 sesuai dengan Senin. | 5 |
wday_lbl |
Fitur string yang mewakili nama hari dalam seminggu. | |
qday |
Fitur numerik yang mewakili hari dalam kuartal. Dibutuhkan nilai 1 hingga 92. | 1 |
yday |
Fitur numerik yang mewakili hari dalam setahun. Dibutuhkan nilai 1 hingga 365, atau 1 hingga 366 dalam kasus tahun kampung. | 1 |
week |
Fitur numerik yang mewakili minggu ISO seperti yang didefinisikan dalam ISO 8601. Minggu ISO selalu dimulai pada hari Senin dan berakhir pada hari Minggu. Dibutuhkan nilai 1 sampai 52, atau 53 selama bertahun-tahun memiliki 1 Januari jatuh pada hari Kamis atau untuk tahun kabut memiliki 1 Januari jatuh pada hari Rabu. | 52 |
Kumpulan lengkap fitur kalender standar mungkin tidak dibuat dalam semua kasus. Set yang dihasilkan tergantung pada frekuensi rangkaian waktu dan apakah data pelatihan berisi fitur tanggalwaktu selain indeks waktu. Tabel berikut ini memperlihatkan fitur yang dibuat untuk jenis kolom yang berbeda:
Tujuan kolom | Fitur kalender |
---|---|
Indeks waktu | Fitur kalender minus set lengkap yang memiliki korelasi tinggi dengan fitur lain. Misalnya, jika frekuensi rangkaian waktu adalah harian, maka fitur apa pun dengan frekuensi yang lebih terperinci daripada harian akan dihapus karena tidak memberikan informasi yang berguna. |
Kolom tanggalwaktu lainnya | Kumpulan berkurang yang Year terdiri dari , , Day Month , DayOfWeek , DayOfYear , QuarterOfYear , WeekOfMonth , Hour , Minute , dan Second . Jika kolom adalah tanggal tanpa waktu, , Hour , Minute dan Second akan menjadi 0. |
Fitur liburan
AutoML dapat secara opsional membuat fitur yang mewakili hari libur dari negara atau wilayah tertentu. Fitur-fitur ini dikonfigurasi di AutoML menggunakan country_or_region_for_holidays
parameter , yang menerima kode negara ISO.
Catatan
Fitur liburan hanya dapat dibuat untuk rangkaian waktu dengan frekuensi harian.
Tabel berikut ini meringkas fitur liburan:
Nama fitur | Deskripsi |
---|---|
Holiday |
Fitur string yang menentukan apakah tanggal adalah hari libur nasional/regional. Hari dalam beberapa rentang hari libur juga ditandai. |
isPaidTimeOff |
Fitur biner yang mengambil nilai 1 jika hari tersebut adalah "liburan cuti berbayar" di negara atau wilayah tertentu. |
AutoML menggunakan Azure Open Datasets sebagai sumber untuk informasi liburan. Untuk informasi selengkapnya, lihat dokumentasi PublicHolidays .
Untuk lebih memahami pembuatan fitur liburan, pertimbangkan contoh data berikut:
Untuk membuat fitur liburan Amerika untuk data ini, kami mengatur country_or_region_for_holiday
ke 'AS' dalam pengaturan prakiraan seperti yang ditunjukkan dalam sampel kode berikut:
from azure.ai.ml import automl
# create a forcasting job
forecasting_job = automl.forecasting(
compute='test_cluster', # Name of single or multinode AML compute infrastructure created by user
experiment_name=exp_name, # name of experiment
training_data=sample_data,
target_column_name='demand',
primary_metric='NormalizedRootMeanSquaredError',
n_cross_validations=3,
enable_model_explainability=True
)
# set custom forecast settings
forecasting_job.set_forecast_settings(
time_column_name='timeStamp',
country_or_region_for_holidays='US'
)
Fitur liburan yang dihasilkan terlihat seperti output berikut:
Perhatikan bahwa fitur yang dihasilkan memiliki awalan _automl_
yang diawali dengan nama kolomnya. AutoML umumnya menggunakan awalan ini untuk membedakan fitur input dari fitur yang direkayasa.
Langkah berikutnya
- Pelajari selengkapnya tentang cara menyiapkan AutoML untuk melatih model prakiraan rangkaian waktu.
- Telusuri Pertanyaan umum Prakiraan AutoML.
- Pelajari tentang Fitur AutoML Forecasting Lagged.
- Pelajari tentang cara AutoML menggunakan pembelajaran mesin untuk membangun model prakiraan.