Langkah 2: Persiapan data - Prinsip Pemrakiraan Deret Waktu dengan Amazon Forecast

Langkah 2: Persiapan data

Setelah Anda memiliki data mentah, Anda harus menangani komplikasi, seperti data yang hilang, dan pastikan Anda mempersiapkan data untuk model prakiraan yang paling tepat menangkap interpretasi yang dimaksudkan.

Cara menangani data yang hilang

Kejadian umum dalam masalah prakiraan dunia nyata adalah adanya nilai yang hilang dalam data mentah. Nilai yang hilang dalam deret waktu berarti bahwa nilai bersangkutan yang benar pada setiap titik waktu dengan frekuensi yang ditentukan tidak tersedia untuk diproses lebih lanjut. Ada beberapa alasan di balik nilai-nilai yang ditandai sebagai nilai hilang.

Nilai yang hilang dapat terjadi karena tidak ada transaksi, atau kemungkinan kesalahan pengukuran (misalnya, karena layanan yang memantau data tertentu tidak berfungsi dengan benar atau karena pengukuran tidak dapat terjadi dengan benar). Contoh utama untuk pengukuran tidak dapat terjadi dengan benar dalam studi kasus retail adalah situasi kehabisan stok dalam prakiraan permintaan, yang berarti bahwa permintaan tidak sama dengan penjualan pada hari itu.

Efek serupa dapat terjadi dalam skenario komputasi cloud ketika layanan telah mencapai batas (misalnya, instans Amazon EC2 dalam Wilayah AWS tertentu semuanya sibuk). Contoh lain dari nilai yang hilang terjadi ketika produk atau layanan belum diluncurkan, atau tidak lagi diproduksi.

Nilai yang hilang juga dapat disisipkan oleh komponen pemrosesan fitur, untuk memastikan panjang deret waktu yang sama dengan padding. Jika cukup lazim, nilai yang hilang dapat berdampak signifikan pada akurasi model.

Contoh 1

Pengisian adalah proses menambahkan nilai standar ke entri yang hilang di set data Anda. Pada gambar berikut, berbagai strategi yang berbeda untuk menangani nilai yang hilang di Amazon Forecast—pengisian depan, tengah, belakang, dan masa depan—diilustrasikan untuk item 2 dalam set data yang terdiri dari tiga item.

Amazon Forecast mendukung pengisian untuk target dan deret waktu terkait. Tanggal mulai global ditetapkan sebagai tanggal mulai paling awal dari tanggal mulai semua item dalam set data Anda. Pada contoh di bawah ini, tanggal mulai global terjadi untuk item 1. Demikian pula, tanggal akhir global ditetapkan sebagai tanggal akhir terbaru dari deret waktu atas semua item, yang terjadi untuk item 2.

Pengisian depan mengisi setiap nilai dari awal deret waktu tertentu hingga tanggal mulai global. Pada saat penerbitan dokumen ini, Amazon Forecast tidak mengaktifkan pengisian depan apa pun, dan Amazon Forecast memungkinkan semua deret waktu dimulai pada titik waktu yang berbeda. Pengisian tengah menunjukkan nilai yang telah diisi di tengah deret waktu (misalnya, antara tanggal mulai dan tanggal akhir item), dan pengisian belakang mengisi dari tanggal terakhir deret waktu tersebut hingga tanggal akhir global.

Untuk deret waktu target, metode pengisian tengah dan belakang memiliki logika pengisian default nol. Pengisian masa depan (yang hanya berlaku untuk deret waktu terkait) mengisi nilai yang hilang antara tanggal akhir global item dan jangkauan prakiraan yang ditentukan oleh pelanggan. Nilai masa depan diperlukan untuk menggunakan set data deret waktu terkait dengan Prophet dan DeepAR+, dan opsional untuk CNN-QR.

Diagram yang menunjukkan strategi penanganan nilai yang hilang di Amazon Forecast

Strategi penanganan nilai yang hilang di Amazon Forecast

Pada gambar sebelumnya, tanggal mulai global menunjukkan tanggal mulai paling awal dari tanggal mulai semua item, dan tanggal akhir global menunjukkan tanggal akhir terbaru dari tanggal akhir semua item. Jangkauan Prakiraan adalah periode prediksi untuk nilai target yang diberikan Prakiraan.

Ini adalah skenario umum dalam studi retail yang mewakili nol penjualan untuk data transaksional untuk item yang tersedia. Nilai-nilai ini diperlakukan sebagai nol yang sebenarnya, dan digunakan dalam komponen evaluasi metrik. Amazon Forecast memungkinkan pengguna mengidentifikasi nilai yang benar-benar hilang dan menuliskannya dalam kode sebagai bukan angka (NaN) untuk diproses oleh algoritme. Laporan resmi ini selanjutnya meneliti mengapa kedua kasus ini berbeda dan kapan masing-masing kasus bermanfaat.

Dalam studi kasus retail, informasi bahwa peretail menjual nol unit item yang tersedia berbeda dari informasi bahwa nol unit barang yang tidak tersedia dijual, baik dalam periode di luar keberadaannya (misalnya, sebelum diluncurkan atau setelah dihentikan), atau dalam periode dalam keberadaannya (misalnya, sebagian kehabisan stok, atau ketika tidak ada data penjualan yang tercatat untuk rentang waktu ini). Pengisian nol default berlaku dalam kasus sebelumnya. Dalam kasus terakhir, meskipun nilai target yang bersangkutan biasanya nol, ada informasi tambahan yang disampaikan dalam nilai yang ditandai sebagai nilai hilang. Praktik terbaiknya yaitu mempertahankan informasi bahwa ada data yang hilang dan tidak membuang informasi ini. Lihat contoh berikut untuk ilustrasi mengapa menyimpan informasi itu penting.

Amazon Forecast mendukung logika pengisian tambahan nilai, rata-rata, median, minimum, dan maksimum. Untuk deret waktu terkait (misalnya, harga atau promosi), tidak ada default yang ditentukan untuk metode pengisian tengah, belakang, atau masa depan, karena logika nilai hilang yang benar bervariasi menurut jenis atribut dan kasus penggunaan. Logika pengisian yang didukung untuk deret waktu terkait termasuk nol, nilai, rata-rata, median, minimum, dan maksimum.

Untuk melakukan pengisian nilai yang hilang, tentukan jenis pengisian yang akan diterapkan saat Anda memanggil operasi CreatePredictor. Logika pengisian ditentukan dalam objek FeaturizationMethod. Misalnya, untuk menuliskan dalam kode nilai yang tidak mewakili nol penjualan produk yang tidak tersedia dalam deret waktu target, tandai nilai sebagai benar-benar hilang dengan menetapkan jenis pengisian yang sama dengan NaN. Tidak seperti pengisian nol, nilai yang dikodekan NaN diperlakukan sebagai benar-benar hilang, dan tidak digunakan dalam komponen evaluasi metrik

Diagram yang menunjukkan efek pengisian 0 vs pengisian dengan NaN pada prakiraan untuk item yang sama

Efek pengisian 0 vs pengisian dengan NaN pada prakiraan untuk item yang sama

Pada gambar sebelumnya, pada grafik kiri, nilai di sebelah kiri garis hitam vertikal diisi dengan 0, yang menghasilkan prakiraan underbias (di sebelah kanan garis hitam vertikal). Pada grafik kanan, nilai-nilai ini ditandai sebagai NaN, yang menghasilkan prakiraan yang tepat.

Contoh 2

Gambar sebelumnya menggambarkan pentingnya penanganan nilai yang hilang dengan benar untuk model linear state space, seperti ARIMA atau ETS. Gambar ini berisi prakiraan permintaan untuk item yang sebagian kehabisan stok. Wilayah pelatihan ditampilkan di grafik kiri berwarna hijau, rentang prediksi di panel kanan berwarna merah, dan target sebenarnya dalam warna hitam. Prakiraan median, p10, dan p90 masing-masing ditampilkan di garis merah dan wilayah berarsir. Bagian bawah menunjukkan item yang kehabisan stok (80% dari data) yang ditandai dengan warna merah. Di grafik kiri, area kehabisan stok diabaikan dan diisi dengan 0.

Ini menghasilkan model prakiraan dengan asumsi bahwa ada banyak angka nol untuk diprediksi, oleh karena itu prakiraannya terlalu rendah. Pada grafik kanan, area kehabisan stok diperlakukan sebagai pengamatan yang benar-benar hilang, dan permintaan menjadi tidak pasti di wilayah kehabisan stok. Dengan nilai yang hilang untuk item kehabisan stok yang ditandai dengan benar sebagai NaN, Anda tidak melihat underbias dalam rentang prediksi pada grafik ini. Amazon Forecast mengisi kesenjangan ini dalam data, sehingga memudahkan Anda menangani data yang hilang dengan benar, tanpa harus secara eksplisit memodifikasi semua data input mereka.

Amazon Forecast memungkinkan pengguna memasukkan data terkait untuk membantu meningkatkan akurasi model prakiraan tertentu yang didukung. Ada dua jenis wujud data ini: deret waktu terkait atau metadata item statis.

catatan

Metadata dan Data terkait disebut sebagai fitur dalam machine learning, dan kovariat dalam statistik.

Deret waktu terkait adalah deret waktu yang memiliki korelasi dengan nilai target, dan seharusnya memberikan kekuatan statistik untuk memperkirakan nilai target karena memberikan penjelasan dalam istilah intuitif (lihat Amazon Forecast: memprediksi deret waktu dalam skala besar sebagai contoh). Berbeda dengan deret waktu target, deret waktu terkait adalah nilai yang diketahui di masa lalu yang dapat memengaruhi deret waktu target, dan mungkin memiliki nilai yang diketahui di masa depan.

Di Amazon Forecast, Anda dapat menambahkan dua jenis deret waktu terkait: deret waktu historis dan deret waktu berwawasan ke depan. Deret waktu terkait historis berisi titik data hingga jangkauan prakiraan, dan tidak berisi titik data apa pun dalam jangkauan prakiraan di masa depan. Deret waktu terkait dengan wawasan ke depan berisi titik data hingga dan dalam jangkauan prakiraan.

Diagram yang menunjukkan pendekatan berbeda sehubungan penggunaan deret waktu terkait dengan Amazon Forecast

Pendekatan berbeda sehubungan penggunaan deret waktu terkait dengan Amazon Forecast

Contoh 3

Gambar berikut menunjukkan contoh bagaimana deret waktu terkait dapat digunakan untuk memprediksi permintaan akan sebuah buku populer di masa depan. Garis biru mewakili permintaan dalam deret waktu target. Harga ditampilkan sebagai garis hijau. Garis vertikal mewakili tanggal mulai prakiraan, dan prakiraan dalam dua kuantil ditampilkan di sebelah kanan garis vertikal.

Contoh ini menggunakan deret waktu terkait dengan wawasan ke depan yang selaras dengan deret waktu target pada granularitas prakiraan, dan yang diketahui pada setiap waktu (atau hampir setiap waktu) di masa depan dalam rentang tanggal mulai prakiraan hingga tanggal mulai prakiraan yang ditingkatkan dengan jangkauan prakiraan (tanggal akhir prakiraan).

Gambar berikut juga menunjukkan bahwa harga adalah fitur yang cocok untuk digunakan, karena Anda dapat melihat korelasi antara penurunan harga dengan peningkatan penjualan produk. Deret waktu terkait dapat diberikan ke Amazon Forecast melalui file CSV terpisah, yang berisi SKU item, tanda waktu, dan nilai deret waktu terkait (dalam hal ini, harga).

Amazon Forecast mendukung metode agregasi, seperti rata-rata dan penjumlahan untuk deret waktu target, tetapi tidak untuk deret waktu terkait. Misalnya, tidak masuk akal untuk menjumlahkan harga harian dengan harga mingguan, demikian juga untuk promosi harian.

Amazon Forecast dapat secara otomatis menyertakan informasi cuaca dan hari libur ke dalam model dengan menyertakan set data fitur bawaan (lihat SupplementaryFeature). Informasi cuaca dan hari libur dapat secara signifikan memengaruhi permintaan retail.

Diagram yang menunjukkan penjualan item tertentu

Penjualan item tertentu (dengan warna biru, di sebelah kiri garis merah vertikal)

Metadata item, juga dikenal sebagai variabel kategoris, adalah fitur bermanfaat lainnya yang dapat dimasukkan ke Amazon Forecast (lihat Amazon Forecast: memprediksi deret waktu dalam skala besar, sebagai contoh). Perbedaan utama antara variabel kategoris dan deret waktu terkait adalah bahwa variabel kategoris bersifat statis - variabel kategoris tidak berubah seiring waktu. Contoh retail umum antara lain warna item, kategori buku, dan indikator biner apakah TV adalah TV pintar atau tidak. Informasi ini dapat diambil oleh algoritme deep learning dalam mempelajari kesamaan antara unit penyimpanan stok (SKU), dengan asumsi bahwa SKU serupa memiliki penjualan yang serupa. Karena metadata ini tidak memiliki ketergantungan waktu, setiap baris dalam file CSV metadata item hanya terdiri dari SKU item dan label atau deskripsi kategori yang bersangkutan.