Eu estava assistindo a uma apresentação de um especialista em ML de um grande varejista, onde eles haviam desenvolvido um modelo para prever eventos fora de estoque.
Vamos supor por um momento que, com o tempo, o modelo deles se torne muito preciso, não seria de alguma maneira "autodestrutivo"? Ou seja, se o modelo realmente funcionar bem, eles serão capazes de antecipar eventos fora de estoque e evitá-los, chegando a um ponto em que eles têm pouco ou nenhum evento fora de estoque. Mas, se for esse o caso, não haverá dados históricos suficientes para executar o modelo, ou o modelo será descarrilhado, porque os mesmos fatores causais que costumavam indicar um evento de falta de estoque não o fazem mais.
Quais são as estratégias para lidar com esse cenário?
Além disso, pode-se imaginar a situação oposta: por exemplo, um sistema de recomendação pode se tornar uma "profecia auto-realizável" com um aumento nas vendas de pares de itens impulsionados pela saída do sistema de recomendação, mesmo que os dois itens não sejam realmente assim. relacionados.
Parece-me que ambos são resultados de um tipo de loop de feedback que ocorre entre a saída do preditor e as ações executadas com base nele. Como alguém pode lidar com situações como essa?
fonte
Respostas:
Há duas possibilidades pelas quais um modelo de detecção de falta de estoque (OOS) pode se auto-descarrilar:
O relacionamento entre entradas e OOS pode mudar com o tempo. Por exemplo, promoções podem levar a OOS mais alto (as vendas promocionais são mais difíceis de prever do que as vendas regulares, em parte porque não apenas o aumento médio das vendas, mas também a variação das vendas, e "mais difícil de prever" se traduz frequentemente em OOS), mas o sistema e seus usuários podem aprender isso e depositar em estoque adicional para promoções. Depois de um tempo, o relacionamento original entre promoções e OOS não se mantém mais.
Isso geralmente é chamado de "mudança de modelo" ou similar . Você pode superá-lo adaptando seu modelo. A maneira mais comum é ponderar as entradas de maneira diferente, atribuindo menor peso às observações mais antigas.
Mesmo que o relacionamento entre um preditor e OOS não mude, a distribuição do preditor pode mudar. Por exemplo, vários dias com zero de vendas de uma determinada unidade de manutenção de estoque (SKU) podem sinalizar um OOS - mas se o modelo tiver um bom desempenho, o OOS poderá ser reduzido em todos os aspectos, e pode não haver tantas sequências de zero de vendas .
Alterações na distribuição de um preditor não devem ser um problema. Seu modelo simplesmente produzirá uma menor probabilidade de OOS.
No final, você provavelmente não precisa se preocupar muito. Nunca haverá zero OOS. Mecanismos de feedback como os mencionados acima ocorrem, mas eles não funcionarão até que os OOS sejam completamente erradicados.
Por acaso, estou trabalhando na previsão de vendas no varejo há mais de doze anos, então tenho uma idéia um pouco sobre desenvolvimentos como esse.
Posso ser pessimista, mas acho que efeitos muito semelhantes estão funcionando para outros casos de uso de ML que a detecção de OOS. Ou talvez isso não seja pessimismo: significa que os problemas provavelmente nunca serão "resolvidos"; portanto, ainda haverá trabalho para nós daqui a algumas décadas.
fonte
Se você estiver usando um modelo para apoiar decisões sobre a intervenção em um sistema, logicamente, o modelo deve procurar prever o resultado condicionado a uma determinada intervenção. Em seguida, separadamente, você deve otimizar para escolher a intervenção com o melhor resultado esperado. Você não está tentando prever sua própria intervenção.
Nesse caso, o modelo poderia prever a demanda (a variável que você não controla diretamente) e isso, em combinação com a opção de estoque, resultaria em um evento de falta de estoque ou não. O modelo deve continuar sendo "recompensado" por prever a demanda corretamente, pois esse é o seu trabalho. Eventos de falta de estoque dependerão dessa variável junto com a sua escolha de estoque.
fonte
Presumivelmente, você pode acompanhar quando os eventos de reabastecimento acontecem. Então é apenas uma questão de aritmética determinar quando o estoque seria esgotado se o modelo não tivesse sido usado para reabastecer o estoque.
Isso pressupõe que qualquer nível de estoque positivo seja independente do nível de vendas. Um comentarista diz que essa suposição não se aplica à realidade. Não sei de nenhuma maneira - não trabalho em conjuntos de dados de varejo. Mas, como simplificação, minha abordagem proposta permite fazer inferências usando o raciocínio contrafactual; se essa simplificação é ou não irrealista demais para fornecer insights significativos é com você.
fonte
Seu cenário tem muita semelhança com a crítica de Lucas em economia. No aprendizado de máquina, isso é chamado de " mudança de conjunto de dados ".
Você pode superá-lo, como diz o Sycorax, modelando-o explicitamente.
fonte
Uma coisa a lembrar é que o ML é um objetivo instrumental. Por fim, não queremos prever eventos de falta de estoque, queremos evitar eventos de falta de estoque. Prever eventos fora de estoque é simplesmente um meio para esse fim. Portanto, no que diz respeito aos erros do tipo II, isso não é um problema. Ou continuamos a ter OOSE, caso em que temos dados para treinar nosso modelo, ou não, no qual o problema que o modelo foi criado para resolver foi resolvido. O que pode ser um problema são erros do tipo I. É fácil cair em uma Patrulha do Ursofalácia, em que você tem um sistema X construído para impedir Y, você não vê Y, então conclui que X impede Y e qualquer tentativa de desligar o X é descartada com base "Mas está fazendo um bom trabalho" impedindo Y! " As organizações podem ser trancadas em programas caros porque ninguém quer arriscar que Y volte, e é difícil descobrir se X é realmente necessário sem permitir essa possibilidade.
Torna-se então uma troca de quanto você está disposto a se envolver ocasionalmente (de acordo com o seu modelo) em um comportamento subótimo para obter um grupo de controle. Isso faz parte de qualquer exploração ativa: se você tem um medicamento que considera eficaz, precisa ter um grupo de controle que não está recebendo o medicamento para confirmar que é realmente eficaz.
fonte