Comment les fractionnements d'arbre de décision devraient-ils être mis en œuvre lors de la prévision des variables continues?

15

J'écris actuellement une implémentation de Random Forests mais je crois que la question est spécifique aux arbres de décision (indépendants des RF).

Le contexte est donc que je crée un nœud dans un arbre de décision et que les variables de prédiction et de cible sont continues. Le nœud a un seuil divisé pour partitionner les données en deux ensembles, et je crée une nouvelle prédiction pour chaque sous-ensemble en fonction de la valeur cible moyenne dans chaque ensemble. Est-ce la bonne approche?

La raison pour laquelle je demande, c'est que lors de la prédiction de variables binaires , je crois que l'approche typique (correcte?) Consiste à diviser les données en sous-ensembles 0 et 1 sans prendre une moyenne sur les lignes de données de chaque sous-ensemble. Les divisions ultérieures se diviseront en sous-ensembles à grains plus fins et une moyenne à chaque division résultera des divisions ultérieures (plus bas dans l'arbre de décision) opérant sur ce qui sont maintenant des variables continues plutôt que des variables binaires (parce que nous opérons sur les valeurs d'erreur résiduelles au lieu de l'original cibles).

Question secondaire: la distinction entre les deux approches (binaire vs continue) est-elle significative - ou donnera-t-elle réellement des résultats identiques pour un arbre de décision complet?

redcalx
la source
1
Le fractionnement sur une variable continue garantira que le "modèle" résultant ne correspondra pas correctement aux données. Si vous avez un X continu et un Y continu, envisagez d'utiliser le lisseur non paramétrique Loess.
Frank Harrell
Le problème sur lequel je travaille en ce moment a de nombreuses variables prédictives (un mélange de continu et binaire) et une seule variable cible. Par conséquent, je pense que RF est une approche raisonnable à adopter.
redcalx
2
Très probablement. Mais une forêt aléatoire est un mélange d'arbres (ce n'est pas un arbre de décision), donc elle se rapproche des relations continues en faisant de multiples divisions, et en fait, en utilisant le rétrécissement. Je ne pense donc pas que votre question initiale s'applique, si je comprends bien.
Frank Harrell
Je suis tenté de dire que votre description du cas continu est correcte (c'est-à-dire la façon standard de faire les choses), mais votre description du cas de variable binaire ne correspond pas du tout à ma compréhension de la façon dont les forêts aléatoires (ou décision les arbres) fonctionnent, donc je crains que l’un d’entre nous soit confus.
joran
@joran. Yah, en forçant les prévisions à 0 ou 1, vous perdez la capacité de faire des ajustements subtils aux prévisions (entre 0 et 1) qui peuvent réduire l'erreur (par exemple, erreur quadratique moyenne de prédiction). En tant que tel, je soupçonne que cette approche est inférieure. Je l'ai essayé et la plupart des tentatives de construction d'un arbre de décision ne parviennent même pas à trouver un seul fractionnement qui améliore l'erreur.
redcalx

Réponses:

10

Un problème potentiel avec les arbres est qu'ils ont tendance à mal s'insérer dans la queue. Imaginez un nœud terminal qui capture la plage basse de l'ensemble d'entraînement. Il prédira en utilisant la moyenne de ces points de consigne d'entraînement, qui sous-estimeront toujours le résultat (puisque c'est la moyenne).

Vous pouvez essayer des arbres modèles [1]. Ceux-ci s'adapteront aux modèles linéaires dans les nœuds terminaux et (je pense) font un meilleur travail que les arbres de régression. Mieux encore, utilisez une version plus évoluée appelée Cubist qui combine différentes approches ([1] et [2] ci-dessous).

Ces modèles gèrent également différemment les prédicteurs continus et discrets. Ils peuvent effectuer des séparations multidirectionnelles pour les variables catégorielles. Le critère de division est très similaire aux arbres CART.

Les arbres modèles se trouvent dans R dans le package RWeka (appelé 'M5P') et Cubist est dans le package Cubist. Bien sûr, vous pouvez également utiliser Weka et Cubist a une version C disponible sur le site RuleQuest.

[1] Quinlan, J. (1992). Apprendre avec des classes continues. Actes de la 5e Conférence conjointe australienne sur l'intelligence artificielle, 343–348.

[2] Quinlan, J. (1993). Combiner l'apprentissage basé sur l'instance et basé sur le modèle. Actes de la dixième conférence internationale sur l'apprentissage automatique, 236–243.

topepo
la source
1
Ne pourriez-vous pas simplement avoir des arbres plus profonds pour minimiser le mauvais ajustement à la queue?
Jase