Estou desenvolvendo um aplicativo de previsão cujo objetivo é permitir que um importador preveja a demanda por seus produtos de sua rede de distribuidores de clientes. Os números de vendas são um bom proxy para a demanda, desde que haja estoque adequado para atender à demanda. Porém, quando o estoque é reduzido a zero (a situação que estamos procurando ajudar nosso cliente a evitar), não sabemos muito sobre o que perdemos a meta. Quantas vendas o cliente teria feito, se tivesse suprimento suficiente? As abordagens padrão de ML baseadas em regressão que usam Sales como uma variável-alvo simples produzirão estimativas inconsistentes da relação entre tempo, minhas variáveis descritivas e demanda.
A modelagem Tobit é a maneira mais óbvia de abordar o problema: http://en.wikipedia.org/wiki/Tobit_model . Estou me perguntando sobre adaptações de ML de florestas aleatórias, GBMS, SVMs e redes neurais que também são responsáveis por uma estrutura de dados censurada à esquerda.
Em resumo, como aplico ferramentas de aprendizado de máquina a dados de regressão censurados à esquerda para obter estimativas consistentes das relações entre minhas variáveis dependentes e independentes? A primeira preferência seria por soluções disponíveis em R, seguidas por Python.
Felicidades,
Aaron
Respostas:
Se você pode escrever uma probabilidade e virar o sinal para menos, então você tem uma função de perda que pode ser usada para muitos modelos de aprendizado de máquina. No aumento de gradiente, isso geralmente é chamado de aumento de modelo . Veja, por exemplo, Boosting Algorithms: Regularization, Prediction and Model Fitting .
Como um exemplo do modelo Tobit, consulte Modelos de Tobit reforçados em árvores de gradiente para o papel Predição padrão . O método deve estar disponível no ramo scikit-learn mencionado no artigo.
A mesma idéia é usada para dados censurados à direita em, por exemplo, os pacotes
gbm
emboost
em R para dados censurados à direita.fonte