Peramalan Permintaan – Menuju AI

Peramalan Permintaan – Menuju AI

Pengarang: Supreet Kaur

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Peramalan Permintaan adalah bidang analitik prediktif yang memprediksi permintaan pelanggan berdasarkan data historis dan variabel terkait lainnya untuk mendorong proses pengambilan keputusan rantai pasokan.

Model Machine Learning dapat membantu Anda untuk memprediksi permintaan yang akurat. Banyak model tersedia untuk Anda gunakan, tetapi penting untuk menyesuaikan model sesuai dengan industri dan data yang ada.

Blog ini adalah panduan menyeluruh tentang memanfaatkan AI untuk melakukan perkiraan permintaan, termasuk menyiapkan data Anda, memilih model, dan mengukur akurasinya.

Gambar oleh Martech.org

Dampak Peramalan Permintaan yang akurat

Meminimalkan pemborosan produk Mengurangi Biaya Persediaan Membantu dalam perencanaan produksi suatu produk Meningkatkan pengalaman pelanggan dengan menyediakan produk tepat pada saat dibutuhkan

Mempersiapkan Data Anda

Kita semua sadar akan konsep “Sampah Masuk, Sampah Keluar.” Oleh karena itu, tidak dapat dihindari untuk mempersiapkan data Anda sehingga siap untuk dicerna oleh ML atau model statistik.

Berikut adalah beberapa atribut utama yang Anda perlukan dalam kumpulan data Anda untuk melakukan perkiraan permintaan:

ID Unik(Pelanggan/Pasien) Nama Produk Jumlah unit yang terjual.

Catatan: Ini dapat bervariasi dari satu industri ke industri lainnya. Anda harus memastikan bahwa skalanya konsisten dalam kumpulan data. Contoh: Bisa jadi SKU produk tertentu

4. Stempel waktu

Setelah Anda memiliki set data, penting untuk mengamati beberapa hal sebelum melanjutkan ke model ML Anda:

Tren: Tren diamati untuk mengukur apakah itu permintaan yang meningkat atau menurun. Misalkan Anda mengamati beberapa titik tertinggi atau terendah yang tidak dapat dijelaskan. Dalam hal ini, sangat penting untuk menganalisis outlier tersebut sebelum melakukan model apa pun, karena dapat menciptakan bias yang tidak perlu dalam kumpulan data Anda. Musiman: Musim dipengaruhi oleh waktu tertentu dalam setahun. Misalnya, perusahaan ritel mengamati lonjakan penjualan selama musim liburan, yang bersifat siklik, yaitu berulang setiap tahun pada waktu yang sama. Hal penting yang perlu diperhatikan di sini adalah bahwa beberapa peristiwa seperti COVID memengaruhi penjualan saat orang-orang menimbun, tetapi itu adalah satu-satunya, jadi kami tidak dapat menganggapnya sebagai pola musiman. Kebisingan: Ini adalah pengamatan umum dalam kumpulan data deret waktu. Anda mungkin mengamati tren tertentu, tetapi pada saat yang sama, Anda mungkin melihat beberapa titik acak (pencilan) yang tidak dapat dijelaskan oleh pembenaran bisnis apa pun.

Model Pembelajaran Mesin

Aturan utama untuk membangun solusi berbasis AI adalah memulai dengan model vanilla dan menganalisis apakah itu cocok untuk data Anda. Bagian ini akan membahas algoritma vanilla dan ML lanjutan:

ARIMA

ARIMA adalah teknik statistik untuk meramalkan data deret waktu. Itu singkatan dari Autoregressive Integrated Moving Average. Setiap model pembelajaran mesin bersifat autoregresif jika memprediksi nilai masa depan berdasarkan bobot masa lalu. Mari kita uraikan lebih lanjut:

AR(Autoregression): mewakili penggunaan data sebelumnya untuk memprediksi nilai berikutnya I(Terintegrasi): mengurangkan nilai yang diberikan dengan nilai sebelumnya untuk membuat deret waktu stasioner MA(Moving Average): memanfaatkan istilah kesalahan itu sendiri untuk memprediksi nilai masa depan

Parameter ARIMA adalah sebagai berikut dan harus dipilih dengan bijak berdasarkan data Anda:

1. P: Jumlah pengamatan lag (data sebelumnya) dalam model

2. D: Berapa kali pengamatan mentah berbeda

3. Q: Urutan Rata-Rata Bergerak

Di R atau python, Anda dapat menggunakan Auto-Arima untuk menentukan rentang untuk hyperparameter di atas, dan hyperparameter tersebut akan memilih yang terbaik untuk dataset Anda pada nilai AIC dan BIC.

Keuntungan

Mudah ditafsirkan Ideal untuk prakiraan jangka pendek

Keterbatasan

Performa buruk dalam hal perkiraan jangka panjang Ini tidak dapat dimanfaatkan untuk rangkaian waktu musiman

2. METODE HOLT-WINTER

Metode Holt Winter disebut pemulusan eksponensial rangkap tiga karena tiga komponen perilaku deret waktu, seperti nilai (rata-rata), tren (kemiringan), dan musiman, dinyatakan sebagai tiga jenis pemulusan eksponensial. Model mengeluarkan ramalan dengan menghitung upaya gabungan dari ketiga pengaruh ini.

Parameter yang dibutuhkan untuk model ini adalah:

(ɑ, , ) satu untuk setiap perataan Panjang musim Jumlah periode dalam satu musim

Pemulusan diterapkan di seluruh musim, misalnya, komponen musiman dari poin ke-3 ke musim akan dihaluskan secara eksponensial dengan komponen dari poin ke-3 musim lalu, poin ke-3 dua musim lalu, dll. Dalam notasi matematika, kita sekarang memiliki empat persamaan (lihat catatan kaki):

x=α(yx−sx−L)+(1−α)(ℓx−1+bx−1)

bx=β(ℓx−ℓx−1)+(1−β)bx−1

sx=γ(yx−ℓx)+(1−γ)sx−L

y ^ x + m = x + mbx + sx L + 1 + (m 1) modL

Metode musim dingin Holt adalah perpanjangan dari metode rata-rata bergerak tertimbang eksponensial (EWMA). EWMA tidak cocok untuk deret waktu dengan tren linier. Metode Holt-Winters menggunakan pemulusan eksponensial untuk mengkodekan nilai dari masa lalu dan kemudian menggunakannya untuk memprediksi nilai tipikal dari masa depan.

Keuntungan

Memberikan prediksi akurat pada data dunia nyata karena mempertimbangkan musim dan tren, yang tidak dapat dihindari dalam data dunia yang benar

Keterbatasan

Model mungkin tidak paling cocok ketika kita memiliki kerangka waktu dengan jumlah yang sedikit, seperti kerangka waktu dengan titik data 10 atau 1 mungkin memiliki perbedaan aktual 9, tetapi ada perbedaan relatif sekitar 1000%.

3. NABI oleh Facebook

Nabi adalah perpustakaan di R dan Python yang dilengkapi untuk meramalkan deret waktu. Sangatlah kuat untuk menangkap titik perubahan seperti naik turunnya kasus COVID. Anda juga memiliki fleksibilitas untuk mengontrol kekuatan titik perubahan ini.

Parameternya meliputi:

pertumbuhan: pilih antara titik perubahan tren ‘linier’ atau ‘logistik’: Daftar tanggal yang mengakomodasi titik perubahan potensial (otomatis jika tidak ditentukan) n_titik perubahan: Jika titik perubahan tidak diberikan, berikan jumlah titik perubahan yang akan disertakan secara otomatis changepoint_prior_scale: Parameter untuk mengubah fleksibilitas pemilihan titik perubahan otomatis

Keuntungan

Fleksibilitas untuk mengontrol ketidakpastian, tren, titik perubahan, dan efek liburan Mudah diinterpretasikan dan digunakan bahkan untuk orang dengan sedikit atau tanpa pengetahuan tentang ilmu data/peramalan

Keterbatasan

Akurasi Rendah Tidak dapat mendeteksi hubungan sebab akibat antara data masa lalu dan masa depan Kurangnya kemampuan untuk meramalkan data dengan musim yang lemah

4. LSTM

Memori Jangka Pendek Panjang RNN dikenal untuk mempelajari urutan jangka panjang. Itu tidak tergantung pada pengamatan tertinggal jendela yang ditentukan sebelumnya sebagai input. RNN mengalami kehilangan informasi karena masalah gradien yang hilang. Namun, LSTM tidak mengalami masalah ini karena larik bobot berulang digantikan oleh fungsi identitas dan dikendalikan oleh serangkaian gerbang seperti gerbang input, output, dan lupa.

Beberapa langkah persiapan data perlu dilakukan sebelum menyiapkan model ini:

· Membuat dataset stasioner: Anda dapat melakukannya dengan teknik sederhana seperti differencing.

· Ubah data sesuai skala fungsi aktivasi

Keuntungan

· Akurasi lebih tinggi

Gambar oleh colah.github.io

Memvalidasi Model/Mengukur Akurasi Anda

Anda dapat menggunakan perhitungan yang berbeda untuk mengukur keakuratan model Anda tergantung pada industri dan data. Beberapa langkah standar adalah sebagai berikut:

1. PETA

MAPE (Mean Absolute Percentage Error) mengukur ukuran kesalahan dalam bentuk persentase. MAPE tidak boleh digunakan dengan data volume rendah karena akan mengambil nilai ekstrim.

(1/n∑|Perkiraan-Aktual|/|Aktual|) *100

2. RMSE

Root Mean Squared Error adalah salah satu ukuran yang paling sering digunakan untuk mengevaluasi kualitas prediksi. Ini menunjukkan seberapa jauh prediksi jatuh ketika diukur dari nilai sebenarnya menggunakan jarak Euclidean. Ini adalah ukuran yang baik untuk prakiraan LSTM.

N adalah jumlah titik data, y(i) adalah pengukuran ke-i, dan y (i) adalah prediksi yang sesuai.

N adalah jumlah titik data, y(i) adalah pengukuran ke-i, dan y (i) adalah prediksi yang sesuai

Selamat membaca!

Referensi:

How to Create an ARIMA Model for Time Series Forecasting in Python

Understanding The Basics of Time Series Forecasting

https://www.rdocumentation.org/packages/forecast/versions/8.16/topics/auto.arima

https://grisha.org/blog/2016/02/17/triple-exponential-smoothing-forecasting-part-iii/

https://www.capitalone.com/tech/machine-learning/understanding-arima-models/

https://medium.com/swlh/facebook-prophet-426421f7e331

https://analyticsindiamag.com/why-are-people-bashing-facebook-prophet/

Time Series Forecasting with the Long Short-Term Memory Network in Python

Bagaimana cara mengukur akurasi perkiraan?

Generate Quick and Accurate Time Series Forecasts using Facebook’s Prophet (with Python & R codes)

AI at Rescue: Demand Forecasting awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Scott Anderson