Come gestire un modello di previsione "autolesionista"?


36

Stavo guardando una presentazione di uno specialista ML di un importante rivenditore, in cui avevano sviluppato un modello per prevedere eventi fuori stock.

Supponiamo per un momento che nel tempo il loro modello diventi molto preciso, non sarebbe in qualche modo "autolesionista"? Cioè, se il modello funziona davvero bene, allora saranno in grado di anticipare gli eventi esauriti ed evitarli, arrivando infine a un punto in cui hanno eventi scarsi o nulli. Ma in tal caso, non ci saranno abbastanza dati storici su cui eseguire il loro modello, o il loro modello verrà deragliato, perché gli stessi fattori causali utilizzati per indicare un evento di esaurimento non lo fanno più.

Quali sono le strategie per affrontare un simile scenario?

Inoltre, si potrebbe immaginare la situazione opposta: ad esempio un sistema di raccomandazione potrebbe diventare una "profezia che si autoavvera" con un aumento delle vendite di coppie di articoli guidate dall'output del sistema di raccomandazione, anche se i due articoli non sono proprio così relazionato.

Mi sembra che entrambi siano i risultati di una sorta di ciclo di feedback che si verifica tra l'output del predittore e le azioni che vengono eseguite sulla base di esso. Come si possono affrontare situazioni come questa?


7
(+1) In alcune situazioni analoghe che coinvolgono l'istruzione superiore, le persone parlano di un modello "cannabalizzante se stesso". I funzionari del college, usando i modelli, assegnano aiuti finanziari per raggiungere determinati obiettivi relativi all'iscrizione e agli aiuti finanziari, solo per scoprire che, di conseguenza, le decisioni di iscrizione dei potenziali studenti sono sempre meno determinate o prevedibili dal premio di aiuto finanziario .
rolando2,

1
A questa domanda è difficile rispondere in generale, in quanto dipende abbastanza dalla situazione. In caso di scorte di magazzino ci sono buone soluzioni, ma in caso di consiglieri potrebbe non esserci un grosso problema se il tuo modello diventa un po 'prescrittivo.
Dennis Jaheruddin,

Risposte:


15

Esistono due possibilità per cui un modello di rilevamento esaurito (OOS) potrebbe auto-deragliare:

  1. La relazione tra input e OOS potrebbe cambiare nel tempo. Ad esempio, le promozioni potrebbero portare a una maggiore OOS (le vendite promozionali sono più difficili da prevedere rispetto alle vendite normali, in parte perché non solo l' aumento medio delle vendite, ma anche la varianza delle vendite e "più difficile da prevedere" si traduce spesso in OOS), ma il sistema e i suoi utenti potrebbero apprenderlo e disporre di risorse aggiuntive per promozioni. Dopo un po ', la relazione originale tra promozioni e OOS non regge più.

    Questo è spesso chiamato "cambio di modello" o simile . Puoi superarlo adattando il tuo modello. Il modo più comune è di ponderare gli input in modo diverso, dando un peso inferiore alle osservazioni più vecchie.

  2. Anche se la relazione tra un predittore e OOS non cambia, la distribuzione del predittore potrebbe. Ad esempio, più giorni con zero vendite di una particolare unità di scorta (SKU) potrebbero segnalare un OOS - ma se il modello funziona bene, allora l'OOS potrebbe essere ridotto su tutta la linea e potrebbe semplicemente non esserci altrettante sequenze di zero vendite .

    I cambiamenti nella distribuzione di un predittore non dovrebbero essere un problema. Il tuo modello genererà semplicemente una probabilità inferiore di OOS.


Alla fine, probabilmente non dovrai preoccuparti troppo. Non ci sarà mai zero OOS. Si verificano meccanismi di feedback come quelli sopra, ma non funzioneranno fino a quando OOS non sarà completamente sradicato.

  • Alcuni OOS in sospeso potrebbero non essere mediabili. "Ho una unità sullo scaffale e probabilmente dovrò affrontare una domanda per cinque nella prossima settimana, ma la prossima consegna è prevista solo per una settimana da oggi."
  • Alcuni OOS saranno molto difficili da prevedere, anche se sono calcolabili, se fossero stati conosciuti in tempo. "Se avessimo saputo che avremmo lasciato cadere il pallet dal carrello elevatore e distrutto tutto il prodotto, ne avremmo ordinato un altro."
  • I rivenditori comprendono che devono puntare a un livello di servizio elevato, ma che il 100% non è raggiungibile. Le persone entrano e acquistano tutto il tuo magazzino per determinati prodotti. Questo è difficile da prevedere (vedi sopra) e abbastanza raro che non vuoi riempire i tuoi scaffali nel caso ciò accada. Confronta la legge di Pareto: un livello di servizio dell'80% (o addirittura del 90%) è abbastanza facile da raggiungere, ma il 99,9% è molto più difficile. Alcuni OOS sono consentiti consapevolmente.
  • Qualcosa di simile alla legge di Moore vale: più ML diventa alta, più le aspettative aumenteranno e più le persone più difficili daranno vita al modello. Mentre gli algoritmi di rilevamento (e previsione) di OOS migliorano, i rivenditori sono impegnati a rendere la nostra vita più difficile.
    • Ad esempio attraverso la proliferazione di varianti. È più facile rilevare OOS su quattro gusti di yogurt che su venti gusti diversi. Perché? Perché le persone non mangiano cinque volte più yogurt. Invece, la domanda totale pressoché invariata è ora distribuita su cinque volte il numero di SKU e ogni stock di SKU è un quinto più alto di prima. La coda lunga si sta espandendo e i segnali si stanno indebolendo.
    • O consentendo il checkout mobile utilizzando il proprio dispositivo. Ciò potrebbe ridurre le barriere psicologiche al taccheggio , quindi gli inventari di sistema saranno persino peggiori di quelli che sono già e, naturalmente, gli inventari di sistema sono probabilmente il miglior predittore di OOS, quindi se sono spenti, il modello peggiorerà.

Mi è capitato di lavorare nella previsione delle vendite al dettaglio da oltre dodici anni, quindi ho un po 'di idea su sviluppi come questo.


Potrei essere pessimista, ma penso che effetti molto simili siano in atto per altri casi d'uso ML rispetto al rilevamento OOS. O forse questo non è pessimismo: significa che i problemi probabilmente non saranno mai "risolti", quindi ci sarà ancora lavoro per noi anche tra decenni.


Sono particolarmente d'accordo con il tuo ultimo commento. La versione peggiore di questo scenario sembra il punto di partenza per un teorema della piena occupazione / nessun pranzo libero. Questo è ciò che rende questa una domanda interessante IMO!
Senderle,

26

Se si utilizza un modello per supportare le decisioni relative all'intervento in un sistema, logicamente, il modello dovrebbe cercare di prevedere il risultato condizionato su un determinato intervento. Quindi separatamente, è necessario ottimizzare per scegliere l'intervento con il miglior risultato atteso. Non stai cercando di prevedere il tuo intervento.

In questo caso, il modello potrebbe prevedere la domanda (la variabile che non controlli direttamente) e questo, in combinazione con la scelta dello stock, comporterebbe un evento esaurito o meno. Il modello dovrebbe continuare a essere "ricompensato" per prevedere correttamente la domanda poiché questo è il suo lavoro. Out-of-magazzino eventi dipenderà da questa variabile con la vostra scelta calza.


2
Questo è esattamente come è risolto in pratica. Un modello di scatola nera che non fornirebbe la comprensione dei fattori trainanti, ma che preveda semplicemente che uno stockout accadrà mercoledì avrebbe un uso molto limitato se le persone non riescono a capire le ipotesi. (Con un presupposto chiave che il modello non è a posto).
Dennis Jaheruddin,

@DennisJaheruddin: D'altra parte, crea un modello in grado di prevedere quando il prodotto sarà esaurito nonostante un riordino tempestivo e puoi effettuare un'uccisione.
Giosuè,

1
È un po 'più complesso di così, perché nel modello utilizzato, il segnale di domanda era solo un fattore. Ma hanno anche usato altri fattori, in base alle condizioni del negozio, per tenere conto delle situazioni in cui lo stock era nel negozio ma non sullo scaffale (ad esempio nel backroom o in uno dei registratori di cassa o dei banchi di servizio perché il cliente è cambiato la loro mente all'ultimo minuto). Per questo, non stavano usando solo la domanda ma anche altri driver causali.
Ripristina Monica il

@Alex che la complessità equivale a una rete di semplici meccanismi di domanda / offerta che governano posizioni diverse, indipendentemente dal fatto che il modello le rappresenti esplicitamente. L'obiettivo del modello è descritto in modo più accurato come la previsione dei livelli delle scorte, non della domanda, ma ciò diventa rilevante solo se si sta specificamente considerando che ci sono fattori incontrollati sia nell'offerta che nella domanda nel punto della rete (lo scaffale) in cui lo stock i livelli contano. Interventi come ordinare più scorte o avere il personale che rifornisce gli scaffali più regolarmente devono ancora essere fattori nel modello.
Sarà il

Potresti voler menzionare la possibilità che la domanda vari con lo stock.
Yakk,

9

Presumibilmente puoi tenere traccia degli eventi di riassortimento. Quindi è solo una questione di aritmetica capire quando lo stock sarebbe esaurito se il modello non fosse utilizzato per rifornire l'inventario.

Ciò presuppone che qualsiasi livello di scorte positivo sia indipendente dal livello delle vendite. Un commentatore afferma che questo assunto non vale nella realtà. Non lo so in entrambi i modi - non lavoro su set di dati al dettaglio. Ma come una semplificazione, il mio approccio proposto consente di fare inferenze usando il ragionamento controfattuale; se questa semplificazione sia troppo irrealistica per dare una visione significativa dipende da te.


Immagino di non vedere come questo risponda alla domanda. I problemi che ho capito sono: (a) Dopo aver implementato il modello in produzione, la funzione di previsione ottimale per gli stock è ora completamente diversa rispetto a prima, perché abbiamo cambiato la distribuzione dei dati; (b) Migliore è il nostro modello, più rari saranno gli eventi di stockout, e quindi sarà più difficile prevederli con precisione in futuro. Sapere "quando lo stock sarebbe esaurito se il modello non fosse utilizzato per rifornire l'inventario" non è né qui né lì perché il modello è in produzione da ora in poi
Jake Westfall,

@JakeWestfall Questo tipo di analisi si chiama ragionamento controfattuale. Se si conosce l'inventario in ogni momento e si sa quando è disponibile il riassortimento, è possibile creare un controfattuale che supponga che il riassortimento non si sia verificato: sottrarre il rifornimento dall'inventario dopo che si è verificato il riassortimento. Ora hai una serie temporale che riflette la supposizione che non hai mai rifornito. Porta avanti questa serie temporale fino allo stockout. Ora sai quando si sarebbe verificato uno stockout senza riassortimento. In che modo questo controfattuale ha una diversa distribuzione dei dati?
Sycorax dice di reintegrare Monica il

Capisco tutto ciò. Quello che non capisco è come questo risolva i problemi sollevati nel PO. Ad esempio, supponiamo che un forte predittore di stockout sia se è il primo giorno del mese (quando molte persone vengono pagate). Utilizzando il nostro nuovo modello, ora possiamo evitare questi eventi di stockout ordinando preventivamente più unità verso la fine di ogni mese. Quindi ora il "primo giorno del mese" non sarà più un utile predittore di stockout in futuro. Potremmo davvero calcolare la probabilità controfattuale di uno stock nel primo mese se non avessimo ordinato preventivamente, ma in che modo questo ci aiuta?
Jake Westfall,

2
Questo ci aiuta perché ti dà una probabilità controfattuale di uno stockout se il riassortimento non si è verificato. OP sta chiedendo "come gestire" il fatto che un modello che riduce le occorrenze di scorte non avrà altrettante occorrenze di scorte disponibili nei dati grezzi. Il mio punto è che puoi fare delle deduzioni sull'occorrenza controfattuale delle scorte e usarle come surrogato. Che tipo di aiuto volevi?
Sycorax dice di reintegrare Monica il

1
@Sycorax: supponi che il comportamento dell'acquirente non sia influenzato dal numero di articoli visibili sullo scaffale. Questa è un'ipotesi non valida. L'influenza può essere debole, ma non è assente.
Ben Voigt,


2

Una cosa da ricordare è che ML è un obiettivo strumentale. In definitiva, non vogliamo prevedere eventi fuori stock, vogliamo prevenire eventi fuori stock. La previsione di eventi esauriti è semplicemente un mezzo a tal fine. Per quanto riguarda gli errori di tipo II, questo non è un problema. O continuiamo ad avere OOSE, nel qual caso abbiamo i dati per addestrare il nostro modello, oppure no, in cui il problema che il modello è stato creato per risolvere è stato risolto. Ciò che può essere un problema è errori di tipo I. È facile cadere in una pattuglia dell'orsoerrore, in cui hai un sistema X creato per impedire Y, non vedi Y, quindi concludi che X impedisce Y e qualsiasi tentativo di arrestare X viene respinto sulla base "Ma sta facendo un ottimo lavoro impedendo Y! " Le organizzazioni possono essere bloccate in programmi costosi perché nessuno vuole rischiare che Y ritorni, ed è difficile scoprire se X è davvero necessario senza consentire tale possibilità.

Diventa quindi un compromesso di quanto sei disposto a impegnarti occasionalmente (secondo il tuo modello) in un comportamento non ottimale per ottenere un gruppo di controllo. Fa parte di qualsiasi esplorazione attiva: se hai un farmaco che ritieni efficace, devi avere un gruppo di controllo che non sta ottenendo il farmaco per confermare che è effettivamente efficace.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.