Saya sedang menonton presentasi oleh spesialis ML dari pengecer besar, di mana mereka telah mengembangkan model untuk memprediksi kehabisan stok acara.
Mari kita asumsikan sejenak bahwa dari waktu ke waktu, model mereka menjadi sangat akurat, bukankah itu entah bagaimana akan "mengalahkan diri sendiri"? Artinya, jika model tersebut benar-benar berfungsi dengan baik, maka mereka akan dapat mengantisipasi peristiwa stok habis dan menghindarinya, akhirnya sampai pada titik di mana mereka memiliki sedikit atau tidak ada acara stok sama sekali. Tetapi kemudian jika itu masalahnya, tidak akan ada cukup data historis untuk menjalankan model mereka, atau model mereka akan tergelincir, karena faktor-faktor penyebab yang sama yang digunakan untuk menunjukkan peristiwa stock out tidak lagi melakukannya.
Apa strategi untuk menghadapi skenario seperti itu?
Selain itu, orang dapat membayangkan situasi yang berlawanan: Misalnya sistem rekomendasi dapat menjadi "ramalan yang terpenuhi sendiri" dengan peningkatan penjualan pasangan barang yang didorong oleh output dari sistem rekomendasi, bahkan jika kedua item tidak benar-benar seperti itu. terkait.
Tampak bagi saya bahwa keduanya adalah hasil dari semacam umpan balik yang terjadi antara output dari prediktor dan tindakan yang diambil berdasarkan itu. Bagaimana seseorang bisa menghadapi situasi seperti ini?
sumber
Jawaban:
Ada dua kemungkinan dimana model pendeteksi stok habis (OOS) mungkin gagal:
Hubungan antara input dan OOS mungkin berubah seiring waktu. Misalnya, promosi dapat menyebabkan OOS lebih tinggi (penjualan promosi lebih sulit diprediksi daripada penjualan reguler, sebagian karena tidak hanya peningkatan penjualan rata-rata , tetapi juga varians penjualan, dan "sulit diprediksi" sering diterjemahkan ke dalam OOS), tetapi sistem dan penggunanya dapat mempelajari ini dan memberikan stok tambahan untuk promosi. Setelah beberapa saat, hubungan asli antara promosi dan OOS tidak berlaku lagi.
Ini sering disebut "model shift" atau serupa . Anda dapat mengatasinya dengan mengadaptasi model Anda. Cara yang paling umum adalah memasukkan bobot secara berbeda, memberi bobot lebih rendah pada pengamatan yang lebih lama.
Bahkan jika hubungan antara prediktor dan OOS tidak berubah, distribusi prediktor itu mungkin. Misalnya, beberapa hari dengan nol penjualan unit penyimpanan stok (SKU) tertentu mungkin menandakan OOS - tetapi jika model berkinerja baik, maka OOS mungkin berkurang di seluruh papan, dan mungkin tidak ada sekuens sebanyak nol penjualan .
Perubahan dalam distribusi prediktor seharusnya tidak menjadi masalah. Model Anda hanya akan menampilkan probabilitas OOS yang lebih rendah.
Pada akhirnya, Anda mungkin tidak perlu terlalu khawatir. Tidak akan ada nol OOS. Mekanisme umpan balik seperti yang di atas memang terjadi, tetapi mereka tidak akan berfungsi sampai OOS benar-benar diberantas.
Kebetulan saya telah bekerja dalam meramalkan penjualan ritel selama lebih dari dua belas tahun sekarang, jadi saya punya sedikit gagasan tentang perkembangan seperti ini.
Saya mungkin pesimis, tetapi saya pikir efek yang sangat mirip bekerja untuk kasus penggunaan ML lainnya daripada deteksi OOS. Atau mungkin ini bukan pesimisme: itu berarti bahwa masalah kemungkinan tidak akan pernah "diselesaikan", jadi masih akan ada pekerjaan untuk kita bahkan beberapa dekade dari sekarang.
sumber
Jika Anda menggunakan model untuk mendukung keputusan tentang campur tangan dalam suatu sistem, maka secara logis, model tersebut harus berusaha untuk memprediksi hasil yang dikondisikan pada intervensi yang diberikan. Kemudian secara terpisah, Anda harus mengoptimalkan untuk memilih intervensi dengan hasil terbaik yang diharapkan. Anda tidak mencoba memprediksi intervensi Anda sendiri.
Dalam hal ini, model dapat memprediksi permintaan (variabel yang tidak Anda kendalikan secara langsung) dan ini, bersama dengan pilihan stocking, akan menghasilkan acara yang tidak ada stok atau tidak. Model harus terus "dihargai" untuk memprediksi permintaan dengan benar karena ini adalah tugasnya. Acara kehabisan stok akan tergantung pada variabel ini bersama dengan pilihan stocking Anda .
sumber
Agaknya Anda dapat melacak ketika mengisi kembali acara terjadi. Maka itu hanya masalah aritmatika untuk mengetahui kapan stok akan habis seandainya model tidak digunakan untuk mengisi kembali persediaan.
Ini mengasumsikan bahwa setiap tingkat stok positif tidak tergantung pada tingkat penjualan. Seorang komentator mengatakan bahwa asumsi ini tidak berlaku dalam kenyataan. Saya juga tidak tahu - saya tidak bekerja pada set data ritel. Tetapi sebagai penyederhanaan, pendekatan yang saya usulkan memungkinkan seseorang membuat kesimpulan menggunakan alasan kontrafaktual; apakah penyederhanaan ini terlalu tidak realistis untuk memberikan wawasan yang berarti terserah Anda.
sumber
Skenario Anda memiliki banyak kemiripan dengan Kritik Lucas dalam bidang ekonomi. Dalam pembelajaran mesin, ini disebut " dataset shift ".
Anda dapat mengatasinya, seperti yang dikatakan @ Scorax, dengan memodelkannya secara eksplisit.
sumber
Satu hal yang perlu diingat adalah bahwa ML adalah tujuan instrumental. Pada akhirnya, kami tidak ingin memprediksi peristiwa stok, kami ingin mencegah peristiwa stok. Memprediksi kehabisan stok acara hanyalah sarana untuk mencapai tujuan itu. Jadi sejauh menyangkut kesalahan Tipe II, ini bukan masalah. Entah kita terus memiliki OOSE, dalam hal ini kita memiliki data untuk melatih model kita, atau kita tidak, di mana masalah bahwa model dibuat untuk mengatasi telah diselesaikan. Apa yang bisa menjadi masalah adalah kesalahan Tipe I. Sangat mudah untuk jatuh ke dalam Patroli Beruangfallacy, di mana Anda memiliki sistem X yang dibangun untuk mencegah Y, Anda tidak melihat Y, sehingga Anda menyimpulkan bahwa X mencegah Y, dan segala upaya untuk mematikan X dihentikan berdasarkan "Tapi itu melakukan pekerjaan yang begitu baik mencegah Y! " Organisasi dapat dikunci ke dalam program mahal karena tidak ada yang mau mengambil risiko bahwa Y akan kembali, dan sulit untuk mengetahui apakah X benar-benar diperlukan tanpa membiarkan kemungkinan itu.
Ini kemudian menjadi pertukaran dari seberapa besar Anda bersedia untuk sesekali terlibat dalam (menurut model Anda) perilaku suboptimal untuk mendapatkan kelompok kontrol. Itu bagian dari setiap eksplorasi aktif: jika Anda memiliki obat yang menurut Anda efektif, Anda harus memiliki kelompok kontrol yang tidak mendapatkan obat untuk memastikan bahwa itu sebenarnya efektif.
sumber