Comment créer un arbre de classification (CHAID) avec XLSTAT ?

Une feuille Excel contenant les données et les résultats de cet exemple peut être téléchargée en cliquant ici. Les données proviennent de [Fisher M. (1936). The Use of Multiple Measurements in Taxonomic Problems. Annals of Eugenics, 7, pp 179 -188] et correspondent à 150 fleurs d'Iris, décrites par 4 variables quantitatives (longeur des sépales, largeur des sépales, longueur des pétales, largeur des pétales, et par leur espèce. Trois différentes espèces font partie de cette étude : setosa, versicolor and virginica.

Notre but est de vérifier si les quatre variables descriptives permettent de prédire efficacement à quelle espèce appartient une fleur, et si tel est le cas, d'identifier les règles qui permettent de déterminer l'espèce d'une fleur connaissant la valeur des 4 variables descriptives.

iris_setosa.jpgiris_versicolor.jpgiris_virginica.jpg

Iris setosa, versicolor et virginica.

Une fois XLSTAT lancé, choisissez la commande XLSTAT/Modélisation des données/Arbres de classification et régression ou cliquez sur le bouton correspondant de la barre d'outils "Modélisation".

bartreef.gif

Une fois le bouton cliqué, la boîte de dialogue apparaît. Vous pouvez alors sélectionner les données sur la feuille Excel. On sélectionne la variable dépendante, qui est dans ce cas précis, l'espèce d'Iris, est une variable qualitative. Les variables explicatives sont les quatre variables descriptives dont on dispose. L'option "Libellés des variables" est laissée activée car la première ligne des colonnes sélectionnées comprend le nom des variables. Nous choisissons la méthode CHAID pour créer l'arbre, et nous précisons que nous ne voulons pas que la profondeur de l'arbre dépasse 3.

tree1f.gif

Les options permettent d'ajuster plusieurs paramètres ayant une incidence sur la construction des arbres. Les options par défaut ont été utilisées dans cet exemple.

tree2f.gif

En ce qui concerne les graphiques, nous choisissons d'afficher d'abord l'arbre en utilisant des diagrammes en bâtons pour représenter les fréquence des espèces au niveau de chaque noeud de l'arbre. Les résultats présentés ci-dessous utilisent aussi la représentation des noeuds avec des diagrammes circulaires.

tree3f.gif

Une fois que vous avez cliqué sur le bouton "OK", les calculs commencent et les résultats sont affichés. Après les statistiques descriptives concernant les différentes variables, XLSTAT affiche les premières informations concernant la structure de l'arbre. Ce tableau permet de voir la p-value des tests calculés pour les différents noeuds, le nombre d'objets au niveau de chaque noeud, le % correspondant, les noeuds parent et fils, la variable de séparation, la ou les valeurs correspondantes (des intervalles pour les variables quantitatives explicatives), et la pureté qui mesure le % d'objets se trouvant dans la classe (ou modalité) dominante au niveau du noeud.

tree4f.gif

L'arbre de classification est ensuite affiché.

tree5f.gif

Ce diagramme permet de visualiser les étapes successives au cours desquelles l'algorithme CHAID identifie les variables qui permettent de séparer au mieux les différentes catégories de la variable dépendante. Ainsi, on voit qu'en se basant uniquement sur la longueur des pétales, l'algorithme a créé une règle qui permet de séparer les iris setosa des autres : si "Long. Pét." est comprise entre 10 et 24.5 alors l'iris appartient à l'espèce setosa.

Les différentes informations fournies au niveau de chaque noeud sont détaillées ci-dessous.

tree51f.gif

L'algorithme s'arrête lorsque plus aucune règle ne peut être trouvée, ou lorsque l'une des limites fixée par l'utilisateur est atteinte (nombre d'objets au niveau du noeud parent ou fils, profondeur de l'arbre, p-value limite pour retenir une variable de séparation).

Une visualisation alternative est proposée par XLSTAT. Au lieu de représenté les distributions au niveau de chaque noeud avec des diagrammes en bâtons, XLSTAT permet aussi de les représenter avec des diagrammes circulaires, qui s'avèrent plus lisibles lorsqu'il y a de nombreux noeuds et plus de 4 ou 5 modalités pour la variable dépendante. Le disque intérieur permet de visualiser la distribution des différentes modalités (ou intervalles) au niveau de ce nœud. L’anneau extérieur correspond à la distribution de ces mêmes modalités au niveau du nœud parent.

tree6f.gif

Le tableau suivant présente une lecture de l'arbre sous forme de règles en language naturel. Pour chaque noeud, la règle correspondant à la modalité dominante de la variable dépendante est affichée. Le % correspondant à la modalité dominante au niveau du noeud étant lui donné par la pureté. L'effectif de la modalité concernée par la règle est affiché dans la colonne "Effectif".

tree7f.gif

Ainsi voit que :
"Si Long. Pét. est dans l'intervalle [30; 49,5[ et que Larg. Pét. est dans l'intervalle [10; 16,5[ alors l'Espèce est Versicolor dans 100% des cas"
cette règle étant vérifiée pour 47 fleurs.

Les règles correspondant aux feuilles de l'arbres (les noeuds terminaux) permettent de calculer les prédictions pour chacune des observations, avec une probabilité dépendant de la distribution des modalités au niveau de chacune des feuilles. Ces résultats sont affichés dans le tableau des "résultats par objet".

tree8f.gif

Nous voyons dans le tableau ci-dessus que 3 observations ont été mal classées. Ce résultat est quasiment identique à celui obtenu avec l'analyse discriminante pour laquelle les observations 5, 9 et 12 sont mal-classées.

La matrice de confusion résume l'information concernant les reclassements d'observations, et on peut en déduire les taux de bon et mauvais classement. Le "% correct" correspond au rapport du nombre d'observations bien classées, sur le nombre total d'observations.

tree9f.gif

Les arbres créés sont partiellement dynamiques. Il est possible d'élaguer l'arbre soit à un niveau donné pour l'ensemble des branches, soit pour une branche donnée. Pour élaguer, il faut cliquer sur un noeud. Lorsque 6 points gris apparaissent autour du noeud, un clic droit de la souris permet d'afficher le menu contextuel :

tree10f.gif

Si l'on décide de cacher une branche, l'arbre est ensuite affiché avec les branches coupées au niveau du noeud choisi. Les contours du noeud sont alors affichés en rouge.

tree11f.gif

Il est bien entendu possible de réafficher ensuite les branches partant du noeud au niveau duquel l'élagage a été effectué.

Cliquez ici pour accéder à d'autres tutoriels.