Árvores de decisão e regressão - Os valores previstos podem estar fora do intervalo de dados de treinamento?

11

Quando se trata de árvores de decisão, o valor previsto pode estar fora do intervalo dos dados de treinamento?

Por exemplo, se o intervalo do conjunto de dados de treinamento da variável de destino for de 0 a 100, quando eu gerar meu modelo e aplicá-lo a outra coisa, meus valores podem ser -5? ou 150?

Dado que meu entendimento da regressão da árvore de decisão é que ela ainda é baseada em regras - progressão esquerda / direita e que, na parte inferior da árvore no conjunto de treinamento, ela nunca pode ver um valor fora de um determinado intervalo, nunca será capaz de prever isso?

user3788557
fonte
1
Para uma pergunta semelhante sobre árvores com aumento de gradiente, consulte stats.stackexchange.com/questions/304962/…
Adrian

Respostas:

10

Você está completamente certo: as árvores de decisão clássicas não podem prever valores fora do intervalo observado historicamente. Eles não vão extrapolar.

O mesmo se aplica a florestas aleatórias.

Teoricamente, às vezes você vê discussões de arquiteturas um pouco mais elaboradas (botânicas?), Onde as folhas da árvore não dão um único valor , mas contêm uma regressão simples , por exemplo, regredindo a variável dependente em uma variável independente numérica específica. Navegar pela árvore forneceria um conjunto de regras em que IV numérico para regredir o DV, em que caso. Nesse caso, essa regressão de "nível inferior" pode ser extrapolada para produzir valores ainda não observados.

No entanto, não acho que as bibliotecas padrão de aprendizado de máquina ofereçam essa estrutura um pouco mais complexa (recentemente procurei por meio das CRAN Task Views for R), embora não deva haver realmente nada de complexo nisso. Você pode implementar sua própria árvore contendo regressões nas folhas.

Stephan Kolassa
fonte
1
Tenho pouco li sobre mobForest que fazer folha de regressão suporte em R, stats.stackexchange.com/questions/48475/mobforest-r-package
Soren Havelund Welling
1
@SorenHavelundWelling: isso parece interessante. Obrigado pelo ponteiro!
precisa saber é o seguinte
1
Um dos primeiros algoritmos a fornecer modelos de regressão linear nas folhas de uma árvore foi o M5 de Quinlan, cuja aproximação está disponível em M5P () em Weka (interface em R a RWeka). Um algoritmo imparcial para o problema, chamado GUIDE, foi sugerido pela primeira vez por Loh. Binários para seu pacote autônomo estão em seu site. Finalmente, nosso algoritmo de particionamento recursivo baseado em modelo (MOB) abrange vários desses modelos. Está disponível no pacote R do partykit: mob () é a ferramenta genérica e lmtree () e glmtree () são sua adaptação a árvores com modelos lineares (generalizados) nas folhas.
Achim Zeileis
2
@SorenHavelundWelling: infelizmente, o mobForestpacote foi removido do CRAN . Vou dar uma olhada nopartykit pacote que Achim Zeileis recomendou .
Stephan Kolassa
1
Apenas um aviso de que o mobForest está de volta ao CRAN: cran.r-project.org/web/packages/mobForest/index.html
mkt - Reinstate Monica
6

Verifique também o cubist no pacote de intercalação. Ele cria regressões lineares nos nós terminais e pode extrapolar previsões acima e abaixo do intervalo de valores de resposta nos dados de treinamento. Os nós terminais também podem ser calculados com base nos vizinhos mais próximos, que são fornecidos como um hiperparâmetro, portanto, ele tem potencial para fornecer previsões validadas cruzadas extremamente precisas.

Scott Worland
fonte