Estaba viendo una presentación de un especialista de ML de un minorista importante, donde habían desarrollado un modelo para predecir eventos agotados.
Supongamos por un momento que con el tiempo, su modelo se vuelve muy preciso, ¿no sería de alguna manera "autodestructivo"? Es decir, si el modelo realmente funciona bien, entonces podrán anticipar eventos agotados y evitarlos, llegando finalmente a un punto en el que tengan pocos o ningún evento agotado. Pero si ese es el caso, no habrá suficientes datos históricos para ejecutar su modelo, o su modelo se descarrilará, porque los mismos factores causales que solían indicar un evento de desabastecimiento ya no lo hacen.
¿Cuáles son las estrategias para lidiar con tal escenario?
Además, uno podría imaginar la situación opuesta: por ejemplo, un sistema de recomendación podría convertirse en una "profecía autocumplida" con un aumento en las ventas de pares de artículos impulsados por la salida del sistema de recomendación, incluso si los dos artículos no son realmente tan relacionado.
Me parece que ambos son resultados de una especie de ciclo de retroalimentación que ocurre entre la salida del predictor y las acciones que se toman en base a él. ¿Cómo se puede lidiar con situaciones como esta?
fuente
Respuestas:
Hay dos posibilidades por las cuales un modelo de detección agotado (OOS) podría descarrilarse automáticamente:
La relación entre entradas y OOS puede cambiar con el tiempo. Por ejemplo, las promociones pueden conducir a una mayor OOS (las ventas promocionales son más difíciles de predecir que las ventas regulares, en parte porque no solo el aumento promedio de las ventas, sino también la variación de las ventas, y "más difícil de predecir" se traduce a menudo en OOS), pero el sistema y sus usuarios pueden aprender esto y acumular existencias adicionales para promociones. Después de un tiempo, la relación original entre promociones y OOS ya no se mantiene.
Esto a menudo se llama "cambio de modelo" o similar . Puedes superarlo adaptando tu modelo. La forma más común es ponderar las entradas de manera diferente, dando menor peso a las observaciones más antiguas.
Incluso si la relación entre un predictor y OOS no cambia, la distribución del predictor podría cambiar. Por ejemplo, varios días con cero ventas de una determinada unidad de mantenimiento de existencias (SKU) puede indicar un OOS, pero si el modelo funciona bien, entonces OOS podría reducirse en todos los ámbitos, y simplemente podría no haber tantas secuencias de cero ventas .
Los cambios en la distribución de un predictor no deberían ser un problema. Su modelo simplemente generará una probabilidad menor de OOS.
Al final, probablemente no necesites preocuparte demasiado. Nunca habrá cero OOS. Se producen mecanismos de retroalimentación como los anteriores, pero no funcionarán hasta que se eliminen por completo los OOS.
Por casualidad, he estado trabajando en pronosticar las ventas minoristas durante más de doce años, así que tengo una pequeña idea sobre desarrollos como este.
Puedo ser pesimista, pero creo que efectos muy similares están funcionando para otros casos de uso de ML que no sean la detección de OOS. O tal vez esto no sea pesimismo: significa que los problemas probablemente nunca serán "resueltos", por lo que todavía habrá trabajo para nosotros, incluso dentro de décadas.
fuente
Si está utilizando un modelo para respaldar decisiones sobre la intervención en un sistema, entonces, lógicamente, el modelo debe buscar predecir el resultado condicionado a una intervención dada. Luego, por separado, debe optimizar para elegir la intervención con el mejor resultado esperado. No estás tratando de predecir tu propia intervención.
En este caso, el modelo podría predecir la demanda (la variable que usted no controla directamente) y esto, en combinación con la elección de inventario, daría lugar a un evento de desabastecimiento o no. El modelo debe continuar siendo "recompensado" por predecir la demanda correctamente, ya que este es su trabajo. Los eventos agotados dependerán de esta variable junto con su elección de inventario .
fuente
Presumiblemente, puede rastrear cuándo ocurren los eventos de reposición. Entonces es solo una cuestión de aritmética determinar cuándo se agotaría el stock si el modelo no se hubiera utilizado para reponer el inventario.
Esto supone que cualquier nivel de stock positivo es independiente del nivel de ventas. Un comentarista dice que esta suposición no se cumple en la realidad. No sé de ninguna manera: no trabajo en conjuntos de datos minoristas. Pero como simplificación, mi enfoque propuesto permite hacer inferencias usando razonamiento contrafactual; si esta simplificación es demasiado poco realista para dar una idea significativa depende de usted.
fuente
Su escenario se parece mucho a la Crítica de Lucas en economía. En el aprendizaje automático, esto se llama " cambio de conjunto de datos ".
Puede superarlo, como dice @Sycorax, modelando explícitamente.
fuente
Una cosa para recordar es que ML es un objetivo instrumental. En última instancia, no queremos predecir eventos fuera de stock, queremos evitar eventos fuera de stock. Predecir eventos agotados es simplemente un medio para ese fin. Entonces, en lo que respecta a los errores de Tipo II, esto no es un problema. O seguimos teniendo OOSE, en cuyo caso tenemos datos para entrenar a nuestro modelo, o no, en el que se ha resuelto el problema para el que se creó el modelo. Lo que puede ser un problema son los errores de Tipo I. Es fácil caer en una patrulla de ososfalacia, donde tienes un sistema X que está construido para prevenir Y, no ves Y, entonces concluyes que X previene Y, y cualquier intento de cerrar X se descarta sobre la base "Pero está haciendo un buen trabajo evitando Y! " Las organizaciones pueden estar encerradas en programas caros porque nadie quiere arriesgarse a que Y regrese, y es difícil averiguar si X es realmente necesario sin permitir esa posibilidad.
Luego se convierte en una compensación de cuánto está dispuesto a participar ocasionalmente (según su modelo) en un comportamiento subóptimo para obtener un grupo de control. Eso es parte de cualquier exploración activa: si tiene un medicamento que cree que es efectivo, debe tener un grupo de control que no esté recibiendo el medicamento para confirmar que en realidad es efectivo.
fuente