Porque os métodos de árvores de decisão não são os mais ideais para problemas de extrapolação?
2016 Dec 14Neste artigo do Peter Stats ele demonstra que métodos baseados em árvores como Random Forests e Árvores de Decisão não tem um bom desempenho quando trabalham com dados muito fora do range do seu conjunto de treinamento, ou em termos estatísticos não realizam uma boa extrapolação.
Isso acontece na prática devido a alguns fatores mais relacionados à natureza dos algoritmos de árvores de decisão do que uma limitação em si como:
(a) os particionamentos recursivos das árvores de decisão por si só no momento em que encontram os dados de treinamento já estabelecem implicitamente algumas fronteiras em relação aos seus critérios de divisão dos dados;
(b) os critérios de divisão de dados (split criteria) mais comuns (information gain, entropia, CHAID, et cetera) levam em consideração os valores dos atributos de forma completa, antes do particionamento, o que já contribuí para esses limites não considerarem dados fora de um range específico; e
(c) algumas ferramentas como o Spark MLIIb tem alguns parâmetros como Max Depth (máximo de profundidade) que controla a especificidade da árvore e de seus nós folha, e Max Bins (número máximo de agrupamento de dados dos valores de cada coluna) que determina por parametrização um range fixo (e com isso, mais fronteiras estabelecidas).
Dessa forma, para esse tipo de problema de séries temporais, o uso de algoritmos como o XGBoost ou até mesmo de Árvores de Decisão tem um bom desempenho quando aplicados em problemas em que a série temporal tem um comportamento bem previsível dentro de um range estabelecido (ou interpolação clássica) (não mais de 1 ou 2 desvios padrão) ou mesmo para problemas de previsão de limiares como usamos na Movile e que pode ser visto aqui.