Partager :

Concepts Fondamentaux en Statistique


Data Mining :

Boosting - Arbres de Classification et de Régression



Sommaire :


Boosting d'Arbres de Décision - Présentation du Programme

Le module STATISTICA Boosting d'Arbres de Décision vous permet de mettre en oeuvre la technique connue sous le nom de stochastic gradient boosting trees [Friedman, 1999a, b ; Hastie, Tibshirani, & Friedman, 2001 ; également connue comme TreeNet (Salford Systems, Inc.) et MART (Jerill, Inc.)]. Dans STATISTICA, vous pouvez utiliser ces techniques dans des problématiques de régression (pour prévoir une variable dépendante continue) ou de classification (pour prévoir une variable dépendante catégorielle).

Estimation. Vous avez un contrôle total sur tous les aspects essentiels de la procédure d'estimation, notamment la complexité des arbres de décision ajustés aux données, le nombre maximum d'étapes pour le boosting, le taux de sous-échantillonnage de l'échantillon d'apprentissage à chaque étape du boosting, le taux d'apprentissage ou le taux de rétrécissement (shrinkage), etc... Vous pouvez également spécifier un échantillon indépendant de test afin d'estimer la validité prédictive de chaque solution dans cet échantillon au cours de la séquence des étapes du boosting. Si vous ne spécifiez pas d'échantillon de test spécifique, STATISTICA va sélectionner de façon aléatoire un échantillon de ce type à chaque étape du boosting, puis déterminer la meilleure solution (le meilleur nombre d'expansions additives ou d'arbres simples) en fonction de la performance des modèles respectifs pour prévoir les observations appartenant à ces échantillons de test.

Résultats. Comme dans tous les modules de STATISTICA, de STATISTICA Data Miner, de WebSTATISTICA, et de WebSTATISTICA Data Miner, vous avez une large palette de graphiques à votre disposition pour vous aider à évaluer le modèle final.

Déploiement dans le Cadre du Data Mining. Comme pour l'ensemble des modules de data mining prédictif, vous pouvez déployer la solution finale en générant du code machine en C/C++, STATISTICA Visual Basic (SVB), ou en PMML (pour un déploiement ultérieur à l'aide du moteur STATISTICA Déploiement Rapide de Modèles Prédictifs).

Boosting d'Arbres de Régression et de Classification - Introduction

(Stochastic Gradient Boosting) - Principes Fondamentaux

Le module STATISTICA Boosting d'Arbres de Décision vous permet de mettre en oeuvre la technique connue sous le nom de stochastic gradient boosting trees. L'approche de calcul est également connue sous le nom TreeNet (Salford Systems, Inc.) et MART (Jerill, Inc.)]. Au cours des dernières années, cette technique a su s'imposer comme l'une des méthodes les plus puissantes de data mining prédictif. Les algorithmes puissants utilisés dans STATISTICA Boosting - Arbres de Décision vous permettent de traiter à la fois des problèmes de régression et de classification, avec des prédicteurs continus et/ou catégoriels, mais offre également des options pour déployer vos modèles afin de calculer des prévisions ou des classifications prévues (scoring). Pour plus d'informations sur ces méthodes, veuillez vous reporter aux ouvrages de Friedman (1999a, b) et de Hastie, Tibshirani, & Friedman (2001 ; voir aussi la rubrique Détail des Calculs).

Comme pour toutes les fonctionnalités d'analyse statistique de STATISTICA, STATISTICA Data Miner et de WebSTATISTICA, vous pouvez utiliser ces méthodes en complément (ou en comparaison avec) d'autres techniques de data mining prédictif, ou techniques graphiques pour évaluer vos modèles de régression et de classification.

Gradient Boosting Trees

L'algorithme du Boosting d'Arbres de Décision est issu de l'application des méthodes de boosting aux arbres de régression [voir également le module Modèles d'Arbres de Classification et de Régression (GC&RT)]. L'idée générale consiste à calculer une série d'arbres de décision (très) simple, où chaque arbre de décision consécutif est construit pour prévoir les résidus de la prévision de l'arbre précédent. Comme indiqué dans les rubriques Modèles d'Arbres de Classification et de Régression - Introduction, cette méthode va construire des arbres de décision binaires, c'est-à-dire répartir les données en deux ensembles à chaque noeud de division. Supposons à présent que vous souhaitiez limiter la complexité des arbres à 3 noeuds seulement (en fait, la complexité des arbres de décision peut être déterminée par l'utilisateur) : un noeud racine et deux noeuds enfant, c'est-à-dire une seule division. Ainsi, à chaque étape du boosting (de l'algorithme du boosting d'arbres de décision), nous déterminons une simple partition (la meilleure possible) des données, et nous calculons les écarts entre les valeurs observées et les moyennes respectives (résidus pour chaque partition). L'arbre suivant à 3 noeuds est alors ajusté à ces résidus, afin de trouver une autre partition qui va permettre de réduire encore la variance résiduelle (erreur) des données, compte tenu de la séquence précédente des arbres de décision.

Nous pouvons montrer que ces "expansions additives pondérées" des arbres de décision peuvent éventuellement produire un excellent ajustement des valeurs prévues aux valeurs observées, même lorsque la nature spécifique des relations entre les variables prédictives et la variable dépendante étudiée sont particulièrement complexes (de nature non-linéaire). Par conséquent, la méthode du gradient boosting - ajuster une expansion additive pondérée d'arbres de décision élémentaires - représente un algorithme très généraliste et puissant de machine learning.

Le Problème du Sur-Ajustement ; Stochastic Gradient Boosting

L'un des problèmes majeurs de tous les algorithmes de machine learning consiste à "déterminer le moment où il faut s'arrêter", c'est-à-dire en empêchant l'algorithme d'apprentissage d'ajuster des aspects ésotériques des données d'apprentissage qui ne sont pas en mesure d'améliorer la validité prédictive du modèle respectif. Ce problème est également connu sous le nom de problème de sur-ajustement. Il s'agit en fait d'un problème applicable à la plupart des algorithmes de machine learning utilisés en data mining prédictif (voir par exemple les modules STATISTICA Réseaux de Neurones (SNN), MARSplines (Multivariate Adaptive Regression Splines), etc...).

Une solution à ce problème, utilisée notamment dans MARSplines et dans SNN, consiste à évaluer la qualité du modèle ajusté en réalisant des prévisions sur les observations d'un échantillon de test qui n'ont pas été utilisées pour estimer le ou les modèles respectifs. De cette manière, nous cherchons à évaluer la qualité prédictive de la solution respective, et détecter le moment où le sur-ajustement s'est produit (ou commence à s'observer).

Les solutions intégrées dans STATISTICA Boosting - Arbres de Décision utilisent une approche similaire. Tout d'abord, chacun des arbres de décision élémentaires successifs est construit à partir d'un sous-échantillon aléatoire issu du jeu de données complet. En d'autres termes, chaque arbre de décision successif est construit pour les résidus de la prévision (issus de tous les arbres précédents) sur un échantillon aléatoire tiré de façon indépendante. L'introduction d'une certaine dose de hasard dans l'analyse peut de cette manière jouer un rôle de protection efficace contre le sur-ajustement (dans la mesure où chaque arbre de décision successif est construit à partir d'un échantillon d'observations différent), et permet de trouver des modèles (expansions additives pondérées d'arbres de décision élémentaires) qui se généralisent bien sur de nouvelles données, c'est-à-dire qui produisent une bonne validité prédictive. Cette technique, c'est-à-dire, le fait de réaliser des calculs de boosting consécutifs sur des échantillons d'observations tirés de façon indépendante, est connue sous le nom de stochastic gradient boosting.

En second lieu, la boîte de dialogue STATISTICA Boosting - Arbres de Décision - Résultats contient une option permettant de représenter non seulement la fonction de l'erreur de prévision sur les données d'apprentissage des arbres de décision successifs, mais également sur les données de test d'un échantillon indépendant à chaque étape.

Grâce à ce graphique, nous sommes en mesure d'identifier rapidement le moment où le modèle (constitué d'un certain nombre d'arbres de décision successifs) commence à sur-ajuster les données ; voir par exemple la rubrique Exemple 1 : Classification à l'aide du Boosting d'Arbres de Décision pour plus d'informations).

Stochastic Gradient Boosting Trees et Classification

Jusqu'à présent, nous n'avons évoqué le boosting des arbres de décision que sous l'angle des problèmes de régression, c'est-à-dire, visant à prévoir une variable dépendante continue. La technique peut aisément de généraliser aux problèmes de classification (voir l'ouvrage de Friedman, 1999a, section 4.6 pour plus d'informations ; notamment l'Algorithme 6) :

Tout d'abord, nous construisons différents boosting d'arbres de décision pour les (ajustés aux) différentes catégories ou classes de la variable dépendante catégorielle, après avoir créé une variable (vecteur) codée des valeurs de chaque classe avec les valeurs 1 ou 0 qui représentent respectivement l'appartenance ou la non-appartenance d'une observation à la classe respective. Au cours des étapes successives du boosting, l'algorithme va appliquer une transformation logistique (voir également le module Estimation Non-Linéaire) afin de calculer les résidus pour les étapes ultérieures du boosting. Pour calculer les probabilités finales de classification, nous appliquons à nouveau la transformation logistique aux prévisions de chaque vecteur (classe) codé 0/1. Cet algorithme est décrit en détail dans l'ouvrage de Friedman (1999a ; voir aussi Hastie, Tibshirani et Freedman, 2001, pour une description de cette procédure).

Nombre important de catégories. Remarque : la procédure qui permet d'appliquer cette méthode aux problèmes de classification nécessite la construction d'autant de séquences d'arbres de décision (boostés) séparées qu'il existe de catégories ou classes. Par conséquent, les ressources nécessaires sont multipliées d'autant par rapport à la résolution d'un simple problème de régression (pour une seule variable dépendante continue). Il n'est donc pas conseillé d'analyser des variables dépendantes catégorielles (représentant des classes) comportant plus d'une centaine de modalités ; au delà de ce seuil, les calculs réalisés par le programme peuvent nécessiter des efforts et des temps de calcul prohibitifs (par exemple, un problème avec 200 étapes de boosting et 100 catégories ou classes dans la variable dépendante vont nécessiter la construction de 200 * 100 = 20.000 arbres de décision individuels !)

Paramètres du Stochastic Gradient Boosting

En bref, le module STATISTICA Boosting d'Arbres de Décision va calculer une généralisation "additive" pondérée d'arbres de régression élémentaires, ajustée aux résidus de la prévision qui sont calculés sur la base de tous les arbres de décision antérieurs. Dans le cadre de cette procédure, chaque arbre de décision individuel est ajusté aux résidus calculés pour un échantillon d'observations tiré de façon indépendante, ce qui permet d'introduire une certaine dose de hasard dans la procédure d'estimation et qui permet de lutter efficacement contre le sur-ajustement, en produisant des solutions avec une bonne validité prédictive.

Vous pouvez déterminer les paramètres suivants pour contrôler cet algorithme :

Nombre maximum de noeuds pour chaque arbre de décision. Tout d'abord, vous pouvez déterminer le nombre maximum de noeuds de chaque arbre de décision individuel dans la séquence du boosting. Pour la plupart des applications, un arbre de décision élémentaire à 3 noeuds est suffisant, c'est-à-dire avec une seule division ou partition de l'échantillon d'apprentissage à chaque étape.  

Nombre de termes additifs. Vous pouvez ensuite déterminer le nombre d'arbres de décision consécutifs (termes additifs) à calculer. Pour des problèmes analytiques et des relations complexes (entre les variables prédictives et la variable dépendante), plusieurs centaines d'arbres de décision peuvent être nécessaires pour parvenir à un bon modèle prédictif ; pour les problèmes de classification, le nombre d'arbres nécessaires doit être multiplié autant de fois qu'il existe de catégories ou de classes dans la variable dépendante catégorielle.

Le module STATISTICA Boosting d'Arbres de Décision calcule également, pour chaque terme additif ou chaque étape de la séquence du boosting, l'erreur de prévision pour un échantillon de test sélectionné de façon aléatoire (ou déterminé par l'utilisateur). En représentant l'erreur de prévision des échantillons d'apprentissage et de test sur les arbres de décision boostés successifs, nous sommes généralement en mesure d'identifier de façon assez évidente le moment où le sur-ajustement se produit.

Par exemple, considérons les résultats illustrés ci-dessus. Vous pouvez constater que l'erreur de prévision des données d'apprentissage diminue de plus en plus à mesure que nous ajoutons des termes additifs (arbres de décision) au modèle. Toutefois, au delà du 35° arbre, la performance sur des données de test tirées de façon indépendante commence à se dégrader, ce qui de façon claire le moment où le modèle commence à sur-ajuster les données. STATISTICA Boosting d'Arbres de Décision va automatiquement déterminer ce point pour vous, et calculer les valeurs ou classifications prévues (et produire le code pour le déploiement afin de calculer les valeurs ou classifications prévues ; par exemple, à l'aide du module Déploiement Rapide de Modèles Prédictifs) pour le nombre d'arbres de décision respectif.

Taux d'apprentissage. Comme indiqué ci-dessus, le module STATISTICA Boosting d'Arbres de Décision va calculer une généralisation "additive" pondérée d'arbres de régression élémentaires (voir aussi la rubrique Détail des Calculs). La pondération spécifique avec laquelle les arbres de décision élémentaires successifs sont ajoutés dans l'équation de la prévision est généralement une constante, appelée taux d'apprentissage ou paramètre de rétrécissement (shrinkage). Selon Friedman (1999b, p. 2 ; 1999a), des études empiriques ont montré que des valeurs de rétrécissement inférieures ou égales à 0,1 produisent généralement de meilleurs modèles (avec une meilleure validité prédictive). Voir la rubrique Détail des Calculs pour plus d'informations.

Valeurs manquantes. L'algorithme du stochastic gradient boosting dans STATISTICA n'est pas perturbé par la présence de valeurs manquantes dans les prédicteurs. Si, au cours de la procédure de construction du modèle, le programme rencontre les valeurs manquantes pour une observation particulière, une prévision de cette observation sera réalisée à partir du dernier noeud (non-terminal) précédent de l'arbre de décision respectif. Ainsi, par exemple, si une variable prédictive est sélectionnée à un moment donné de la séquence des arbres au niveau du noeud racine (ou d'un autre noeud non-terminal) et que certaines observations ne possèdent pas de valeurs valides, la prévision de ces observations sera simplement basée sur la moyenne générale du noeud racine (ou du noeud non-terminal). Par conséquent, il n'est pas nécessaire d'éliminer les observations de l'analyse si elles possèdent des valeurs manquantes sur certains des prédicteurs, et il n'est pas nécessaire non plus de calculer des statistiques sur les divisions de remplaçants (voir aussi le descriptif de l'option Nombre de remplaçants dans l'onglet Avancé de la boîte de dialogue Arbres de Décision Interactifs - Spécifications du module C&RT).

Synthèse

Les méthodes proposées dans le module STATISTICA Boosting d'Arbres de Décision constituent des outils extrêmement puissants de machine learning pour vos tâches de data mining prédictif. Cette technique peut assez bien formaliser la plupart des types de relations non-linéaires entre des variables prédictives et une variable dépendante, et va bien souvent produire plus rapidement des solutions généralement plus simples que, par exemple, les diverses architectures de réseaux de neurones disponibles dans STATISTICA Réseaux de Neurones (SNN). L'implémentation de ces techniques dans STATISTICA est très généraliste, ce qui lui permet de traiter des problèmes de régression et de classification, avec des prédicteurs continus et/ou catégoriels.

Boosting d'Arbres - Détail des Calculs

La mise en oeuvre des algorithmes dans STATISTICA Boosting d'Arbres de Décision pour traiter des problèmes de régression respecte fidèlement la description donnée dans l'ouvrage de Friedman (1999a, 1999b).

Problèmes de régression. Plus précisément, comme indiqué dans l'Algorithme 2 de Friedman (1999b, p. 3), nous appliquons les étapes suivantes :

1. Pour les M arbres de décision demandés par l'utilisateur, et pour chaque catégorie ou classe dans les analyses de classification :

2. Nous tirons un échantillon aléatoire d'observations selon la fraction d'échantillonnage demandée par l'utilisateur ;

3. Nous calculons les valeurs prévues pour les observations de cet échantillon ;

4. Nous ajustons un arbre de régression de la complexité demandée sur les résidus. Remarque STATISTICA utilise systématiquement une fonction d'erreur des moindres carrés pour l'ajustement de l'arbre de décision ;

5. Nous mettons à jour "l'expansion additive pondérée" (par une constante d'apprentissage ou paramètre de rétrécissement (shrinkage)) des termes (arbres de régression élémentaires) ;

En outre, le programme va calculer à chaque étape du boosting, les résidus de la prévision pour un échantillon d'observations tiré de façon aléatoire ; nous pouvons représenter l'erreur quadratique moyenne (résidus) de cet échantillon sur un tracé curviligne (dans la boîte de dialogue des Résultats), avec les résidus calculés pour l'échantillon d'apprentissage. À partir de cette fonction d'erreur sur les données de test, le programme va automatiquement déterminer le nombre optimal d'expansions additives, c'est-à-dire le nombre optimal d'arbres boostés permettant d'obtenir une bonne validité prédictive. Plus précisément, le programme va sélectionner la solution qui permet d'obtenir l'erreur quadratique moyenne la plus faible sur les données de test.

Problèmes de classification. L'algorithme utilisé pour les problèmes de classification suit fidèlement l'Algorithme 6 décrit dans l'ouvrage de Friedman (1999a, p. 11), et s'apparente à celui que nous avons décrit dans le cadre des problèmes de régression, à quelques exceptions près.

Au lieu d'un seul ensemble d'arbres de régression successifs, le programme va construire différents ensembles indépendants d'arbres boostés pour chaque catégorie (modalité) de la variable dépendante catégorielle. Ensuite, au lieu des simples résidus de la régression (calculés à chaque étape), le programme va appliquer une transformation logistique aux valeurs prévues (voir aussi le module Estimation Non-Linéaire) avant de calculer les résidus (ramenés sur une échelle de probabilité). Pour calculer les classifications finales, nous appliquons à nouveau la transformation logistique aux prévisions de la régression pour chacune des catégories et pour les différents arbres de décision successifs ; voir aussi la description du modèle logistique de régression et de classification multi-classes dans l'ouvrage de Friedman, 1999a, p. 10. Remarque : dans la description de Friedman (1999a, c'est-à-dire l'Algorithme 6), l'algorithme n'ajuste par les probabilités de prévision de chaque classe et chaque arbre de décision pour tenir compte des probabilités a priori différentes ou des coûts d'erreur de classement des différentes classes. En revanche, avec l'implémentation de cet algorithme dans STATISTICA, les probabilités de prévision pour chaque classe sont ajustées en fonction des différentes probabilités a priori et des différents coûts d'erreur de classement [comme l'ont décrit par exemple Breiman et al., 1984 ; voir aussi le module Modèles d'Arbres de Classification et de Régression (GC&RT)].

Importance des prédicteurs. Les options de la boîte de dialogue Résultats - onglet Base vous permettent de produire une feuille de données et représenter graphiquement l'importance relative de chaque prédicteur dans la solution finale (séquence d'arbres de décision). L'importance des prédicteurs se calcule de la manière suivante :

Lors de la construction de chaque arbre de décision, à chaque division, nous calculons les statistiques des prédicteurs (c'est-à-dire la régression des sommes des carrés, dans la mesure où nous construisons des arbres élémentaires de régression dans tous les cas) pour chaque variable prédictive ; la meilleure variable prédictive (qui produit la meilleure division pour le noeud respectif) est alors choisie pour réaliser la division. Le programme calcule également la moyenne de la statistique des prédicteurs pour toutes les variables, pour toutes les divisions, et pour tous les arbres de décision de la séquence du boosting. Les valeurs finales de l'importance des prédicteurs sont alors calculées en normant ces moyennes de sorte que la plus forte moyenne prenne la valeur 1, et que l'importance de tous les autres prédicteurs s'exprime par rapport à la valeur de ce prédicteur le plus important.

Répartition par défaut des données entre échantillons d'apprentissage et de test. Si vous n'avez spécifié aucun Échantillon de test ni aucun code dans l'onglet Avancé de la boîte de dialogue Spécifications du Boosting, le programme va automatiquement créer un sous-échantillon aléatoire constitué de 30% des observations du jeu de données, et les traiter comme un échantillon de test afin d'estimer l'ajustement du modèle au cours des itérations successives dans cet échantillon séparé. Il reste donc 70% des observations pour réaliser les analyses à l'aide du stochastic gradient boosting (par exemple, pour la sélection d'échantillons pour les étapes consécutives du boosting). Par défaut, le programme va retenir la solution spécifique (avec le nombre spécifié d'arbres de décision élémentaires boostés) qui produit la plus faible erreur absolue (taux d'erreur de classement) sur l'ensemble des itérations du boosting. Les options Échantillon de test dans la boîte de dialogue Spécifications du Boosting - onglet Avancé vous permettent de sélectionner un sous-échantillon spécifique à utiliser comme échantillon de test.

Classification à l'Aide du Boosting d'Arbres de Décision

Cet exemple illustre l'utilisation des arbres de classification dans une problématique de reconnaissance de formes. Ce fichier d'exemple est également présenté dans le cadre du module Arbres de Décision [Classification] , et dans le cadre du module Modèles d'Arbres de Classification et de Régression (GC&RT).

Les données de l'analyse ont été produites de la même manière qu'une calculette défectueuse afficherait des chiffres sur un écran numérique (pour une description de la manière dont ces données ont été produites, voir Breiman et. al., 1984). Les classes observées de la variable dépendante Chiffre sont constituées des valeurs zéro à neuf que nous avons entrées sur le clavier de la calculette. Nous avons 7 prédicteurs catégoriels, Var1 à Var7. Les niveaux de ces prédicteurs catégoriels (0 = absent ; 1 = présent) correspondent à la présence ou à l'absence de chacun des 7 segments digitaux (3 segments horizontaux et 4 verticaux) sur l'affichage digital lorsque nous avons entré la valeur sur le clavier. La correspondance entre les variables prédictives et les segments est la suivante : Var1 - horizontal supérieur, Var2 - vertical supérieur gauche, Var3 - vertical supérieur droit, Var4 - horizontal du milieu, Var5 - vertical inférieur gauche, Var6 - vertical inférieur droit, et Var7 - horizontal inférieur. Les 10 premières observations du fichier sont illustrées ci-dessous.  Vous trouverez le fichier de données complet avec ses 500 observations dans le fichier d'exemple Digit.sta. Ouvrez ce fichier de données à l'aide de la commande Ouvrir des Exemples du menu Fichier ; ce fichier se situe dans le dossier Fichiers de Données de votre installation STATISTICA.

Spécifier l'Analyse. Nous utiliserons les paramètres analytiques par défaut du module Boosting d'Arbres de Régression et de Classification. Sélectionnez la commande Boosting - Arbres de Classification et de Régression dans le menu Data Mining afin d'accéder à la boîte de dialogue Boosting - Arbres de Décision (Panneau de Démarrage).

Dans la mesure où l'objectif de l'analyse consiste construire un modèle de prévision des différents chiffres sur la base de différentes variables catégorielles prédictives (défectueuses), acceptons l'option Analyse de Classification par défaut et cliquons sur le bouton OK afin d'accéder à la boîte de dialogue Boosting d'Arbres de Décision - Spécifications.

Dans l'onglet Base, cliquons sur le bouton Variables afin d'accéder à une boîte de dialogue de sélection de variable, et sélectionnons la variable Chiffre comme variable dépendante catégorielle et toutes les autres variables comme variables prédictives catégorielles, puis cliquons sur le bouton OK afin de retourner à la boîte de dialogue des Spécifications.

Un certain nombre d'options complémentaires sont proposées dans l'onglet Classification et dans l'onglet Avancé de cette boîte de dialogue, pour affiner l'analyse. Les options de l'onglet Classification vous permettent de spécifier des probabilités de classes particulières a priori et des coûts distincts d'erreur de classement ; les options de l'onglet Avancé, vous permettent de déterminer la complexité des arbres de décision individuels à construire à chacune des étapes du boosting, ainsi que le nombre total d'étapes pour le boosting.

Pour cette analyse (et comme "préalable" utile dans la plupart des analyses), acceptons les paramètres par défaut ; cliquez par conséquent sur le bouton OK. Vous allez vois apparaître brièvement la boîte de dialogue Calculs en Cours à mesure de la progression des étapes successives du boosting, avant l'apparition de la boîte de dialogue des Résultats.

Étude des Résultats. Tout d'abord, cliquez sur le bouton Synthèse afin de visualiser la manière dont les étapes successives du boosting ont permis d'améliorer la précision (qualité du modèle de prévision) sur les données d'apprentissage et de test sélectionnées au hasard.

Ce graphique illustre le mécanisme élémentaire selon lequel l'algorithme du stochastic gradient boosting est implémenté dans STATISTICA et peut éviter le sur-ajustement (voir aussi la rubrique Principes Fondamentaux). À mesure que nous ajoutons de nouveaux termes additifs (arbres de décision élémentaires) dans notre modèle, la fonction d'erreur quadratique moyenne décroît sur les données d'apprentissage (à partir desquelles nous estimons les arbres de décision respectifs). Toutefois, l'estimation de l'erreur sur les données de test commence à augmenter à partir d'un certain stade, ce qui indique clairement le moment où nous commençons à observer un sur-ajustement.

Par défaut, le programme détermine que le nombre optimal d'arbres de décision est égal à 54 (dans ce cas, en raison du sous-échantillonnage aléatoire des données d'apprentissage au cours des étapes successives du boosting, vos résultats peuvent être sensiblement différents) ; cette valeur correspond au moment où nous observons l'erreur la plus faible sur les données de test. Vous pouvez utiliser l'option Nombre d'arbres dans la boîte de dialogue Boosting d'Arbres de Décision - Résultats - onglet Base afin de sélectionner une solution spécifique, c'est-à-dire un nombre donné d'arbres de décision dans le modèle final.

Précision de la Prévision. Cliquez ensuite sur l'onglet Classification dans la boîte de dialogue Résultats, sélectionnez le bouton d'option Ensemble de test dans le groupe Échantillon, puis cliquez sur le bouton Valeurs prévues vs. valeurs observées par classe. Le programme va alors calculer la matrice de classification des effectifs prévus et observés, qu'il va reporter dans une feuille de données et sous forme d'un histogramme bivarié.

Comme vous pouvez le constater, la solution finale est assez précise pour l'ensemble des chiffres. Vous pouvez produire d'autres statistiques de synthèse (par exemple, les Estimations du risque) afin de vérifier la qualité des différentes solutions, c'est-à-dire pour des nombres de termes additifs différents (arbres de décision élémentaires).

Courbes de gain. Une autre manière de vérifier la précision de la prévision consiste à calculer des courbes de gain pour chaque catégorie de la variable dépendante. Sélectionnez l'onglet Classification dans la boîte de dialogue des Résultats afin de produire une courbe de gain ou une courbe de lift des différents échantillons.

Interprétation des Résultats. D'une manière générale, le stochastic gradient boosting d'arbres de décision élémentaires (voir la rubrique Principes Fondamentaux) peut être considéré comme un algorithme de machine learning, c'est-à-dire une "boîte noire" qui permet (généralement) d'obtenir de très bonnes prévisions, mais qui produit souvent des modèles qui sont difficilement interprétables (contrairement, par exemple, aux arbres de classification et de régression ou aux modèles linéaires, dans lesquels nous pouvons généralement "exprimer" (c'est-à-dire expliquer) simplement le modèle de prévision final). Pour interpréter les résultats du module STATISTICA Boosting d'Arbres de Décision, nous disposons de deux outils :

Importance des prédicteurs. Le tracé en bâtons et la feuille de données de l'importance des prédicteurs nous font généralement ressortir les variables qui ont une contribution importante sur la prévision de la variable dépendante étudiée. Par exemple, le tracé en bâtons de l'importance des prédicteurs de notre exemple actuel est reporté ci-dessous.

L'importance des prédicteurs se calcule comme la valeur moyenne relative (réduite) de la statistique du prédicteur sur l'ensemble des arbres de décision. Ainsi, par exemple, il s'agit dans ce cas de la valeur moyenne de prévision de la somme des carrés sur l'ensemble des catégories et pour l'ensemble des arbres de décision et des noeuds, que nous réduisons de sorte que la valeur maximum de cette somme soit égale à 1. Par conséquent, ces valeurs reflètent l'intensité de la relation entre les prédicteurs et la variable dépendante sur l'ensemble des étapes successives du boosting. Dans ce cas, les variables Var2, Var5 et Var7 apparaissent comme les prédicteurs les plus importants.

Arbres de décision finaux. Vous pouvez également visualiser la séquence finale des arbres de décision (boostés), soit graphiquement, soit dans une séquence de feuilles de données (une pour chaque arbre de décision). Toutefois, cette manière de dégager le "sens" du modèle final peut ne pas s'avérer très pratique lorsque la solution finale intègre un nombre important de termes additifs (arbres de décision élémentaires). Dans le cas présent, la solution finale comporte 54 arbres de décision binaires, chacun reposant sur une division élémentaire. Il ne sera donc sans doute pas très utile ici d'examiner ces arbres de décision.

Déploiement du Modèle pour la Prévision. Nous pouvons enfin déployer ce modèle à l'aide du Générateur de code dans la boîte de dialogue Résultats - onglet Rapport. En particulier, vous avez la possibilité d'enregistrer le code PMML pour le déploiement du modèle final, et utiliser ce code dans le module Déploiement Rapide de Modèles Prédictifs afin de prévoir (classer) de nouvelles observations.



Prévision d'une Variable Dépendante Continue

Cet exemple s'appuie sur le fichier de données Poverty.sta. Ouvrez ce fichier à l'aide de la commande Ouvrir des Exemples du menu Fichier ; vous le trouverez dans le répertoire Fichiers de Données. Les données représentent l'évolution de la population entre les recensements de 1960 et de 1970 sur une sélection aléatoire de 30 comtés américains. Le nom des observations du fichier de données contient le nom de ces comtés.

L'information relative aux différentes variables est accessible par la boîte de dialogue de Spécifications de Toutes les Variables (pour y accéder, sélectionnez la commande Spécs de Toutes les Variables du menu Données).

Problématique. L'objectif de cette étude consiste à analyser les indicateurs liés à la pauvreté, c'est-à-dire les variables qui permettent de prévoir au mieux le part de foyers situés en deçà du seuil de pauvreté dans un comté. Nous allons par conséquent traiter la variable 3 (Pt_Pauvr) comme variable dépendante (ou critère), et toutes les autres variables comme des variables indépendantes (ou prédicteurs).

Configuration de l'analyse. Sélectionnez la commande Boosting - Arbres de Classification et de Régression dans le menu Data Mining afin d'accéder à la boîte de dialogue Boosting - Arbres de Décision (Panneau de Démarrage). Sélectionnez une Analyse de Régression comme Type d'analyse dans l'onglet Base, puis cliquez sur le bouton OK afin d'accéder à la boîte de dialogue Boosting d'Arbres de Décision - Spécifications. Dans l'onglet Base, cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue de sélection de variables, puis sélectionnez la variable PT_PAUVR comme variable dépendante et toutes les autres variables comme prédicteurs continus, avant de cliquer sur le bouton OK pour retourner à la boîte de dialogue Spécifications.

Cliquez ensuite sur l'onglet Avancé, et fixez la Proportion du sous-échantillon à 0,66.

Le fichier de données Poverty.sta étant relativement petit (30 observations seulement), nous allons augmenter le taux de sous-échantillonnage pour l'apprentissage de chaque arbre de décision individuel à un niveau plus important que la proportion par défaut (voir aussi la rubrique Principes Fondamentaux pour plus d'informations).

Cliquez à présent sur le bouton OK, et après quelques instants, la boîte de dialogue des Résultats apparaît.

Étude des Résultats. Cliquez sur le bouton Synthèse dans la boîte de dialogue Boosting d'Arbres de Décision - Résultats - onglet Base afin de visualiser la représentation de l'erreur quadratique moyenne au cours des étapes successives du boosting dans les échantillons d'apprentissage et de test.

Dans le cas présent, le programme a choisi une solution relativement simple avec seulement 15 termes additifs ; il s'agit de la solution qui a permis d'obtenir la plus faible Erreur Quadratique Moyenne sur les Données de test.

Importance des prédicteurs. Cliquez ensuite sur le bouton Tracé de l'importance des prédicteurs.

L'importance des prédicteurs se calcule comme la valeur moyenne relative (réduite) de la statistique du prédicteur sur l'ensemble des arbres de décision et des noeuds ; ainsi, ces valeurs reflètent l'intensité de la relation entre les prédicteurs et la variable dépendante sur l'ensemble des étapes successives du boosting. Comme dans les analyses réalisées dans le module Modèles d'Arbres de Classification et de Régression, la variable Pt_Phone (pourcentage de foyers équipés d'une installation téléphonique) apparaît comme le prédicteur le plus important.

Tracé des valeurs observées et prévues. Sélectionnez ensuite l'onglet Prévision ; vous pouvez examiner ici divers tracés des valeurs prévues et des résidus afin d'évaluer dans quelle mesure le modèle actuel prévoit correctement la variable dépendante étudiée. Dans le cas présent, les résultats indiquent que les (rares) observations de l'échantillon de test sont raisonnablement bien prévues ; toutefois, compte tenu de la taille relativement faible de l'échantillon global et des différences dans les échantillons aléatoires qui sont créés lorsque vous suivez pas-à-pas cet exemple, la solution finale que vous obtenez peut être sensiblement différente de la solution reportée ici.

Arbres de décision finaux. Vous pouvez également visualiser la séquence finale des arbres de décision (boostés), soit graphiquement, soit dans une séquence de feuilles de données (une pour chaque arbre de décision). Toutefois, cette manière de dégager le "sens" du modèle final peut ne pas s'avérer très pratique lorsque la solution finale intègre un nombre important de termes additifs (arbres de décision élémentaires). Dans le cas présent, la solution finale comporte 15 arbres de décision binaires, chacun reposant sur une division élémentaire. Il peut s'avérer utile d'étudier les arbres de décision individuels de la séquence du boosting (comme nous pouvions nous y attendre à l'examen du tracé en bâtons de l'importance des prédicteurs, la plupart des arbres de décision de la séquence du boosting possèdent des divisions élémentaires binaires reposant sur les variables Pt_Phone, N_Agric, Pt_rural et Vari_pop).

Déploiement du Modèle pour la Prévision. Nous pouvons enfin déployer ce modèle à l'aide du Générateur de code dans la boîte de dialogue Résultats - onglet Rapport. En particulier, vous avez la possibilité d'enregistrer le code PMML pour le déploiement du modèle final, et utiliser ce code dans le module Déploiement Rapide de Modèles Prédictifs afin de prévoir de nouvelles observations (réaliser un scoring d'un fichier de données comportant de nouvelles observations).

Didacticiels

Vous pouvez visionner l'intégralité de la série de tutoriels Le Data Mining en 35 Leçons avec STATISTICA en remplissant le formulaire d'inscription. Vous serez alors notifié(e) automatiquement de la disponibilité des nouveaux épisodes et recevrez d'autres informations utiles.

StatSoft propose par ailleurs une série de didacticiels et présentations interactives décrivant pas-à-pas différentes opérations que vous pouvez réaliser à l'aide de STATISTICA. Si vous souhaitez voir aborder un thème particulier, merci de nous écrire.