Bagaimana cara menangani model prediksi "mengalahkan diri sendiri"?


36

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?


7
(+1) Dalam beberapa situasi analog yang melibatkan pendidikan tinggi, orang-orang berbicara tentang model "kanalkan itu sendiri." Pejabat perguruan tinggi, dengan menggunakan model, memberikan bantuan keuangan untuk mencapai tujuan tertentu yang terkait dengan pendaftaran dan bantuan keuangan, hanya untuk menemukan bahwa, sebagai hasilnya, pada akhirnya keputusan penerimaan calon mahasiswa semakin kurang ditentukan oleh atau dapat diprediksi dari pemberian bantuan keuangan .
rolando2

1
Pertanyaan ini sulit dijawab secara umum, karena sangat tergantung pada situasinya. Dalam hal stockout ada solusi yang baik, tetapi dalam kasus rekomendasi mungkin tidak ada masalah besar jika model Anda menjadi sedikit preskriptif.
Dennis Jaheruddin

Jawaban:


15

Ada dua kemungkinan dimana model pendeteksi stok habis (OOS) mungkin gagal:

  1. 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.

  2. 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.

  • Beberapa OOS yang tertunda mungkin tidak bisa dihindari. "Saya punya satu unit di rak dan mungkin akan menghadapi permintaan lima selama minggu mendatang, tetapi pengiriman berikutnya hanya jatuh tempo seminggu dari hari ini."
  • Beberapa OOS akan sangat sulit untuk diprediksi, bahkan jika mereka dapat dihindari, jika mereka sudah diketahui pada waktunya. "Jika kita tahu kita akan menjatuhkan palet dari forklift dan menghancurkan semua produk, kita akan memesan yang lain."
  • Pengecer memahami bahwa mereka perlu membidik tingkat layanan yang tinggi, tetapi 100% tidak dapat dicapai. Orang-orang datang dan membeli seluruh stok Anda untuk produk-produk tertentu. Ini sulit untuk diperkirakan (lihat di atas) dan cukup jarang bahwa Anda tidak ingin mengisi rak Anda jika hal ini mungkin terjadi. Bandingkan hukum Pareto: tingkat layanan 80% (atau bahkan 90%) cukup mudah untuk dicapai, tetapi 99,9% jauh lebih sulit. Beberapa OOS diizinkan secara sadar.
  • Sesuatu yang mirip dengan hukum Moore berlaku: semakin baik ML, semakin banyak harapan akan meningkat, dan semakin sulit orang membuat hidup untuk model. Sementara algoritma pendeteksian OOS (dan perkiraan) meningkat, pengecer sibuk membuat hidup kita lebih sulit.
    • Misalnya melalui varian proliferasi. Lebih mudah untuk mendeteksi OOS pada empat rasa yoghurt daripada pada dua puluh rasa yang berbeda. Mengapa? Karena orang tidak makan yoghurt lima kali lebih banyak. Sebaliknya, permintaan total yang tidak berubah sekarang didistribusikan di lima kali lebih banyak SKU, dan setiap persediaan SKU adalah seperlima dari sebelumnya. Long Tail berkembang, dan sinyal semakin lemah.
    • Atau dengan mengizinkan checkout seluler menggunakan perangkat Anda sendiri. Ini mungkin menurunkan hambatan psikologis untuk mengutil , sehingga inventaris sistem akan menjadi lebih buruk daripada yang sudah ada , dan tentu saja, inventaris sistem mungkin merupakan prediktor terbaik untuk OOS, jadi jika mereka mati, modelnya akan memburuk.

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.


Saya terutama setuju dengan komentar terakhir Anda. Versi terburuk dari skenario ini tampaknya merupakan titik awal untuk pekerjaan penuh / tanpa teorema makan siang gratis. Yang membuat ini pertanyaan menarik IMO!
pengirim

26

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 .


2
Inilah tepatnya bagaimana itu diselesaikan dalam praktek. Model kotak hitam yang tidak akan memberikan pemahaman tentang faktor-faktor pendorong tetapi hanya memprediksi bahwa kehabisan stok akan terjadi pada hari Rabu akan memiliki penggunaan yang sangat terbatas jika orang tidak dapat memahami asumsi. (Dengan asumsi utama adalah bahwa model tidak ada di tempat).
Dennis Jaheruddin

@DennisJaheruddin: Di sisi lain, buat model yang dapat memprediksi kapan produk akan kehabisan stok meskipun dipesan ulang tepat waktu dan Anda dapat melakukan pembunuhan.
Joshua

1
Ini sedikit lebih kompleks dari itu, karena dalam model yang mereka gunakan, sinyal permintaan hanya satu faktor. Tetapi mereka juga menggunakan faktor-faktor lain, berdasarkan pada kondisi toko, untuk menjelaskan situasi di mana stok berada di toko tetapi tidak di rak (Misalnya di ruang belakang, atau di salah satu mesin kasir atau meja layanan karena pelanggan berubah pikiran mereka pada menit terakhir). Untuk itu, mereka tidak hanya menggunakan permintaan tetapi juga driver penyebab lainnya.
Pasang kembali Monica

@Alex kompleksitas itu hanya berjumlah ke jaringan mekanisme penawaran / permintaan sederhana yang mengatur lokasi yang berbeda, terlepas dari apakah model tersebut menggambarkannya secara eksplisit atau tidak. Tujuan model ini lebih akurat digambarkan sebagai memprediksi tingkat stok, bukan permintaan, tetapi itu hanya menjadi relevan jika Anda secara khusus mempertimbangkan ada faktor-faktor yang tidak terkendali dalam penawaran dan permintaan pada titik di jaringan (rak) di mana stok level penting. Intervensi seperti memesan lebih banyak stok atau meminta staf mengisi rak lebih teratur masih perlu menjadi faktor dalam model.
Will

Anda mungkin ingin menyebutkan kemungkinan bahwa permintaan bervariasi dengan stok.
Yakk

9

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.


Saya kira saya tidak melihat bagaimana ini menjawab pertanyaan. Masalah yang saya pahami adalah: (a) Setelah menerapkan model dalam produksi, fungsi prediksi optimal untuk stockout sekarang benar-benar berbeda dari sebelumnya, karena kami mengubah distribusi data; (b) Semakin baik model kita, semakin jarang peristiwa kehabisan stok akan terjadi, dan oleh karena itu semakin sulit untuk memprediksi secara akurat mereka ke depan. Mengetahui "kapan stok akan habis seandainya model tersebut tidak digunakan untuk mengisi kembali persediaan" tidak ada di sini maupun di sana karena model ini dalam produksi mulai sekarang
Jake Westfall

@JakeWestfall Jenis analisis ini disebut penalaran kontrafaktual. Jika Anda mengetahui inventaris setiap saat, dan Anda tahu kapan itu mengisi kembali, maka Anda dapat membuat kontrafaktual yang mengandaikan pengisian ulang tidak terjadi: kurangi saja persediaan dari inventaris setelah pengisian kembali terjadi. Sekarang Anda memiliki serangkaian waktu yang mencerminkan anggapan Anda tidak pernah mengisi kembali. Bawa seri waktu ini ke depan hingga kehabisan. Sekarang Anda tahu kapan kehabisan stok akan terjadi tanpa mengisi ulang. Bagaimana kontrafaktual ini memiliki distribusi data yang berbeda?
Sycorax berkata Reinstate Monica

Saya mengerti semua itu. Yang tidak saya mengerti adalah bagaimana ini memecahkan masalah yang diangkat dalam OP. Sebagai contoh, anggaplah prediksi kuat kehabisan stok adalah apakah itu hari pertama dalam sebulan (ketika banyak orang dibayar). Menggunakan model baru kami, kami sekarang dapat menghindari acara kehabisan stok ini dengan memesan terlebih dahulu unit lebih dekat akhir setiap bulan. Jadi sekarang "hari pertama bulan ini" tidak akan lagi menjadi alat prediksi yang berguna untuk stockout ke depan. Kita memang bisa menghitung probabilitas kontrafaktual dari kehabisan stok pada bulan pertama bulan itu seandainya kita tidak memesan sebelumnya, tetapi bagaimana sebenarnya hal ini membantu kita?
Jake Westfall

2
Ini membantu kami karena itu memberi Anda kemungkinan konteraktual dari stockout seandainya persediaan tidak terjadi lagi. OP bertanya "bagaimana menghadapi" fakta bahwa model yang mengurangi kejadian kehabisan stok tidak akan memiliki sebanyak banyaknya kehabisan stok yang tersedia dalam data mentah. Maksud saya adalah Anda dapat membuat kesimpulan tentang terjadinya stockout kontrafaktual, dan menggunakannya sebagai pengganti. Bantuan apa yang Anda inginkan?
Sycorax berkata Reinstate Monica

1
@ Scorax: Anda menganggap bahwa perilaku pembeli tidak dipengaruhi oleh jumlah barang yang terlihat di rak. Itu asumsi yang tidak valid. Pengaruhnya mungkin lemah, tapi itu tidak ada.
Ben Voigt

8

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.


2

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.