Propomos um novo método para codificar recursos categóricos especificamente adaptados para aplicativos de previsão. Em essência, essa abordagem codifica recursos categóricos modelando a tendência das quantidades associadas a cada categoria. Em nossos experimentos, essa abordagem mostra benefícios substanciais de desempenho, tanto em termos de precisão de previsão quanto de viés, pois permite que os modelos de conjunto baseados em árvore modelem e extrapolem melhor as tendências.
Introdução
A motivação para este trabalho surgiu de vários projetos de previsão de clientes no Artefact, nos quais nossos modelos de reforço apresentaram alta tendência no momento da previsão. Por meio de uma fase de diagnóstico, identificamos que uma das principais fontes de viés nos modelos de aprendizado de conjunto decorria de seus desafios em modelar com precisão as tendências e os níveis flutuantes.
A seguir, demonstraremos por que e como usamos uma nova abordagem para codificar recursos categóricos. Com base em nossos experimentos envolvendo um projeto de previsão de varejo de um cliente e vários datasets públicos, provamos que essa técnica pode efetivamente atenuar o viés e aumentar a precisão.
Boosting e tendências, por que é complexo?
Os algoritmos de reforço têm dificuldade para extrapolar
Os algoritmos de reforço têm dificuldade para modelar e extrapolar tendências, pois não podem prever novos valores não vistos no conjunto de treinamento/ausentes nas folhas. “Árvore Linear”Os modelos " tentam aliviar esse problema, mas nossos testes produziram resultados inconclusivos com esse método.
Codificações clássicas levam a previsões estáticas
Os métodos de codificação mais comuns empregados no boosting promovem relações estáticas entre variáveis independentes e dependentes, o que, por sua vez, contribui para aumentar o viés na presença de tendências. O diagrama abaixo ilustra esse fenômeno:

Representação visual simplificada que destaca a natureza estática da codificação de características categóricas empregada em algoritmos de reforço
Reconhecemos que a representação acima é uma simplificação exagerada, pois as árvores de decisão são mais complexas e capazes de identificar relações não lineares com base em vários fatores. De fato, a condição “a cor é preta” poderia estar associada a “o mês é junho”. Nesse caso, o fato de a cor ser preta não teria o mesmo impacto em todos os momentos. Mas vamos analisar o quadro geral:
Nossa nova abordagem: Codificação dinâmica de características categóricas
Base da codificação dinâmica (v1 sem nível de item)
Em uma frase, nosso método de codificação de recursos categóricos poderia ser descrito como: modelamos o componente de tendência de cada categoria e usamos esses valores de tendência para codificar esse recurso categórico.
O diagrama abaixo ilustra a diferença entre uma codificação média estática e uma codificação baseada em tendências para duas categorias de cores: preto e dourado.

Ilustração mostrando o princípio da codificação dinâmica, que envolve a modelagem de tendências para cada categoria
Em nossos experimentos, optamos por usar o Prophet para extrair o componente de tendência. Naturalmente, também é possível considerar outros modelos de previsão de séries temporais.
Observe que a codificação média estática implica que as vendas de itens pretos estão em um nível médio de 100 unidades/mês em qualquer momento. A codificação dinâmica, por outro lado, permite levar em conta a tendência de aumento observada nos itens pretos e é capaz de extrapolá-la no futuro. Uma afirmação semelhante pode ser feita com relação aos itens de ouro. Portanto, nossa abordagem será especialmente útil em conjuntos data em que a variável-alvo a ser prevista segue tendências acentuadas nas diversas categorias disponíveis.
Nosso foco principal é permitir que o modelo se adapte mais facilmente às relações mutáveis entre as variáveis independentes e a variável dependente a ser prevista. Portanto, esse método de codificação dinâmica também poderia ser aplicado a recursos numéricos. Considere o exemplo do preço. Embora o preço seja numérico e o modelo possa criar regras diretamente com base nele, as preferências das pessoas por itens baratos ou caros ainda podem evoluir com o tempo e seguir uma tendência de vendas específica. No contexto de uma crise econômica, por exemplo, os produtos acessíveis podem seguir uma tendência de aumento de vendas, enquanto os caros podem seguir uma tendência de redução. Considerando ‘acessível’ como uma categoria e ‘caro’ como outra, poderíamos propor uma codificação dinâmica para o recurso de preço, assim como fizemos com as cores.
É importante observar que, para recursos numéricos, tanto as variáveis de base quanto as codificadas dinamicamente podem ser usadas no modelo, pois elas fornecerão diferentes tipos de informações.
Dar mais importância aos recursos dinâmicos (v2 com nível de item)
Embora esse novo método de codificação seja uma melhoria, muitas vezes a importância dos recursos categóricos não é alta o suficiente para afetar significativamente as previsões ao examinar a importância dos recursos. Para dar mais importância aos recursos dinâmicos e, assim, promover uma melhor modelagem e extrapolação de tendências, adaptamos os valores de codificação a cada série temporal/item individualmente.

Fórmula que representa os dois componentes da codificação dinâmica: nível de categoria e nível de item
Voltando ao nosso exemplo de cor, com dois itens pretos diferentes, isso permite que a codificação dinâmica da categoria “preto” para cada item seja diferente com base em suas vendas individuais anteriores.

Tabela que ilustra o cálculo da codificação dinâmica por meio de um exemplo simples
Experimentos e resultados
Cliente dataset
Usamos nossa abordagem para prever as vendas de um de nossos clientes do setor de varejo. Validamos completamente nosso método em uma ampla gama de escopos para garantir sua eficácia. Aqui estão alguns pontos data referentes ao contexto experimental:

Em geral, o método provou ser altamente eficiente, resultando em uma redução absoluta média na tendência de 9,82% e um aumento absoluto médio na precisão da previsão de 6,29% nos 9 escopos de produtos e 5 dobras de validação cruzada.
A próxima seção valida a relevância do nosso método testando-o em um dataset público.
Vendas em lojas públicas dataset
Neste estudo de caso simplificado, usamos o Vendas na loja - Previsão de séries temporais Kaggle dataset. Esse dataset apresenta uma tendência acentuada ao examinar a série temporal média de vendas, o que torna nosso método particularmente relevante. Além disso, o horizonte de previsão escolhido é de três meses, o que é distante o suficiente para se beneficiar dos recursos extras de extrapolação da codificação dinâmica. Para fins de demonstração, limitamos o dataset a 31 de março de 2016, logo antes da ocorrência de um terremoto, o que fez com que a curva de vendas se achatasse.
Antes de qualquer codificação, nosso conjunto inicial de data compreende aproximadamente 75% de características numéricas, incluindo defasagens, médias móveis, características de calendário e eventos de feriados. Os 25% restantes consistem em atributos categóricos, como família de produtos, número da loja, cidade e outros.
Dois modelos distintos são treinados: um emprega os recursos categóricos que foram codificados dinamicamente usando nosso método personalizado, enquanto o outro usa o tratamento nativo de recursos categóricos do LightGBM.
Ao compararmos seu desempenho, observamos um aprimoramento significativo na abordagem de codificação dinâmica. A tabela a seguir apresenta um resumo dos resultados:

Comparação de RMSE, FA e %Bias entre o método de codificação LightGBM e a codificação dinâmica

Média de vendas semanais + previsões de 3 meses (codificação dinâmica vs. método de codificação LightGBM)
Conforme ilustrado no gráfico acima, o modelo que incorpora codificações dinâmicas captura efetivamente a tendência e a extrapola, enquanto o modelo alternativo tem dificuldade para fazer isso.
Uso e limites
Nosso método se mostra especialmente valioso em cenários em que a série temporal exibe tendências acentuadas e o horizonte de previsão é distante o suficiente para se beneficiar da extrapolação de tendências. Além disso, à medida que codificamos e incorporamos dinamicamente características mais categóricas com preditivo significativo potência no modelo, o efeito obtido por meio de nossa abordagem sobre as previsões aumenta. No entanto, é importante reconhecer que outros métodos de codificação têm suas próprias vantagens e podem ser mais vantajosos em diferentes contextos. Além disso, existe a possibilidade de combinar os dois tipos de codificação para obter resultados potencialmente melhores.
Conclusão
Temos planos de publicar um documento nos próximos meses, que incluirá detalhes completos de nossa abordagem e implementação. Fique atento para mais atualizações!

BLOG







