Partager :

Concepts Fondamentaux en Statistique


Data Mining :

Machine Learning : SVM (Séparateurs à Vaste Marge),Réseaux Bayésiens et K-Plus Proches Voisins



Sommaire :


Présentation du Programme

STATISTICA Machine Learning offre un certain nombre de méthodes statistiques avancées pour traiter des tâches de régression et de classification avec plusieurs variables dépendantes et indépendantes. Parmi ces méthodes, citons la méthode des Séparateurs à Vaste Marge (SVM - Support Vector Machines) pour des problèmes de régression et de classification, la méthode des Réseaux Bayésiens Naïfs pour des problèmes de classification, et la méthodes des K Plus Proches Voisins pour des problèmes de régression et de classification. Vous trouverez une présentation de ces techniques dans l'ouvrage de Hastie, Tibshirani, & Freedman (2001) ; l'ouvrage de Cristianini et Shawe-Taylor (2000) constitue une introduction technique complète des support vector machines.

Séparateurs à Vaste Marge (SVM - Support Vector Machines) (SVM). Cette méthode permet d'effectuer des tâches de régression et de classification en construisant des règles (frontières) de décision non-linéaires. En raison de la nature de l'espace des prédicteurs dans lequel nous trouvons ces frontières de décision, les Support Vector Machines peuvent s'adapter aisément au traitement de problèmes plus ou moins complexes de classification et de régression. STATISTICA SVM intègre quatre types de modèles de Support Vector avec différents noyaux pour l'expansion des fonctions de base, notamment linéaire, polynomial, RBF (fonction à base radiale) et sigmoïde. Ce module permet également de traiter des données déséquilibrées.

Réseaux Bayésiens Naïfs. Il s'agit d'une méthode Bayésienne bien connue, initialement développée pour traiter des tâches de classification. Compte tenu de sa simplicité, c'est-à-dire sous l'hypothèse que les variables indépendantes sont statistiquement indépendantes, les modèles Bayésiens Naïfs constituent des outils efficaces de classification, simples à utiliser et  à interpréter. Les Réseaux Bayésiens Naïfs sont particulièrement efficaces lorsque le nombre de dimensions de l'espace des variables indépendantes (c'est-à-dire le nombre de variables en entrée) est élevé (un problème connu sous le nom du "problème" de dimensionnalité). Pour les raisons évoquées précédemment, les Réseaux Bayésiens Naïfs produisent souvent de meilleurs résultats que d'autres méthodes plus élaborées de classification. STATISTICA Réseaux Bayésiens Naïfs vous permet d'utiliser diverses méthodes pour modéliser les distributions conditionnelles des entrées, notamment la distribution normale, lognormale, gamma et Poisson.

K Plus Proches Voisins. STATISTICA K Plus Proches Voisins est une méthode basée sur la mémoire, qui contrairement à d'autres méthodes statistiques, ne nécessite aucun apprentissage (c'est-à-dire qu'il n'y a aucun modèle à ajuster). Elle appartient à la catégorie des Méthodes Prototypes. Elle fonctionne selon le principe intuitif que les objets les plus proches ont le plus de chances d'appartenir à la même catégorie. Ainsi, avec la méthode des K Plus Proches Voisins, les prévisions reposent sur un ensemble d'exemples prototypes qui servent à prévoir de nouvelles données (c'est-à-dire, inconnues) sur la base du vote majoritaire (pour les tâches de classification) ou sur la base de la moyenne (pour les tâches de régression) des K plus proches prototypes (d'où le nom K Plus Proches Voisins).

Ces programmes ont la faculté de traiter des fichiers de données comportant de très nombreuses observations. En outre, ils peuvent traiter à la fois des variables indépendantes (prédicteurs) continues et catégorielles. Dans certains cas, vous pouvez effectuer un traitement préalable des données en les réduisant afin d'améliorer le pouvoir prédictif du modèle (c'est-à-dire la possibilité de prévoir correctement des données inconnues). Tous les programmes offrent trois méthodes distinctes pour répartir les données en sous-ensemble d'apprentissage et de test. Par ailleurs, vous pouvez, dans certains cas, utiliser la technique de la validation croisée sur les données d'apprentissage afin de sélectionner divers paramètres du modèle parmi un ensemble de valeurs données. Ces options permettent de résoudre le problème du sur-ajustement en limitant la complexité du modèle ou en offrant un contrôle indépendant de la performance du modèle à l'aide de l'ensemble de test.

Vous pouvez produire un grand nombre de graphiques et de feuilles de données pour tester la qualité de l'ajustement et vous aider à interpréter les résultats. Différentes options du générateur de code vous permettent d'enregistrer les modèles estimés (avec tous leurs paramètres) en vue du déploiement, en langage C/C++/C#, Visual Basic ou PMML (voir aussi la rubrique Utiliser du Code C/C++/C# pour le Déploiement). En outre, STATISTICA Machine Learning est totalement automatisé et fait partie intégrante de STATISTICA Data Miner, que vous pouvez utiliser vous construire vos applications sur mesure.

Séparateurs à Vaste Marge (SVM - Support Vector Machines)

La technique des Séparateurs à Vaste Marge (SVM - Support Vector Machines) (également appelées Machines à Vecteur de Support) repose sur le concept de plans de décision définissant des frontières de décision. Un plan de décision est un plan qui permet de séparer un ensemble d'objets appartenant à des classes différentes. L'illustration ci-dessous constitue un exemple représentatif. Dans cet exemple, les objets appartiennent soit à la classe VERTE, soit à la classe ROUGE. La droite de séparation définit une frontière à droite de laquelle tous les objets sont VERTS et à gauche de laquelle tous les objets sont ROUGES. Tout nouvel objet (matérialisé par un cercle blanc) apparaissant à gauche sera affecté à la classe ROUGE (ou au contraire affecté à la classe VERTE s'il se trouve à droite de la ligne de séparation).

L'exemple classique illustré ci-dessus est un modèle de classification linéaire, c'est-à-dire un modèle de classification qui va répartir un ensemble d'objets dans leurs groupes respectifs (VERT et ROUGE dans le cas présent) à l'aide d'une droite. La plupart des tâches de classification n'est malheureusement pas aussi simple, et il faut souvent recourir à des structures plus complexes pour trouver une séparation optimale, c'est-à-dire classer correctement de nouveaux objets (les observations de test) sur la base des exemples disponibles (observations d'apprentissage). C'est le cas dans l'illustration ci-dessous. Par rapport au schéma précédent, il est évident qui nous avons besoin d'une courbe (qui est plus complexe qu'une droite) pour séparer totalement les objets VERTS des objets ROUGES. Les tâches de classification qui utilisent des lignes de séparation pour faire la distinction entre des objets appartenant à des classes distinctes sont connues sous le nom de modèles de classification (ou classifieurs ou encore classificateurs) par hyperplans de séparation. Les Support Vector Machines sont particulièrement bien adaptés pour traiter ce type de tâches.

Le schéma ci-dessous illustre le principe fondamental des Support Vector Machines. Ici, nous pouvons voir que les objets originaux (situés à gauche du schéma) sont transformés, c'est-à-dire réorganisés, à l'aide d'un ensemble de fonctions mathématiques appelées noyaux. Le processus de réorganisation des objets est appelé projection (transformation). Remarque : dans cette nouvelle configuration, nous pouvons séparer les objets projetés (situés à droite du schéma) par une ligne droite, et par conséquent, au lieu de construire une courbe complexe (comme à gauche du schéma), nous pouvons nous contenter de trouver une droite qui va séparer de façon optimale les objets VERTS des objets ROUGES.

Notes et Informations Techniques

STATISTICA Support Vector Machine (SVM) est avant tout une méthode de classification qui permet de réaliser des tâches de classification en construisant des hyperplans dans un espace multidimensionnel, afin de séparer des observations appartenant à des classes différentes. STATISTICA SVM permet également de traiter des tâches de régression et peut utiliser à la fois des variables catégorielles et continues. Pour les variables catégorielles, le programme va créer des variables muettes (dummies) avec les modalités 0 ou 1. Ainsi, une variable dépendante catégorielle à trois modalités, disons (A, B, C), sera représentée par un ensemble de trois variables muettes :

A: {1 0 0}, B: {0 1 0}, C: {0 0 1}

Afin de construire un hyperplan optimal, SVM va utiliser un algorithme itératif d'apprentissage, qui va permettre de minimiser la fonction d'erreur. Selon la forme de la fonction d'erreur, nous pouvons classer les modèles SVM en quatre groupes distincts :

  • SVM de Type 1 pour la Classification (également appelée Classification C-SVM)

  • SVM de Type 2 pour la Classification (également appelée Classification nu-SVM)

  • SVM de Type 1 pour la Régression (également appelée Régression epsilon-SVM)

  • SVM de Type 2 pour la Régression (également appelée Régression nu-SVM)

Ci-dessous, une brève synthèse de chaque modèle.

SVM pour la Classification

SVM de Type 1 pour la Classification

Pour ce type de SVM, l'apprentissage va chercher à minimiser la fonction d'erreur suivante :

sous les contraintes :

C représente la constante de capacité, w représente le vecteur des coefficients, b représente une constant et représente des paramètres permettant de traiter les données non séparables (entrées). L'indice i varie pour les N observations d'apprentissage. Remarque : représente les libellés de classes et xi représente les variables indépendantes. Le noyau permet de transformer les données de l'espace original (indépendant) dans l'espace caractéristique (feature space). Plus C sera important, plus l'erreur sera pénalisée. Par conséquent, il faut choisir C avec soin afin d'éviter le sur-ajustement.

SVM de Type 2 pour la Classification

Contrairement aux SVM de Type 1 pour la Classification, le modèle SVM de Type 2 pour la Classification va chercher à minimiser la fonction d'erreur suivante :

sous les contraintes :

SVM pour la Régression

Dans un modèle SVM pour la régression, nous devons estimer la dépendance fonctionnelle entre la variable dépendante y et un ensemble de variables indépendantes x. Nous supposons, comme pour d'autres problèmes de régression, que la relation entre les variables indépendantes et la variable dépendante s'exprime comme la somme d'une fonction déterministe f et d'une certaine composante additive de bruit :

y = f(x) + bruit

La tâche consiste alors à trouver la forme fonctionnelle de f qui permet de prévoir correctement de nouvelles observations encore inconnues de SVM. C'est ce que nous obtenons en effectuant l'apprentissage du modèle SVM sur un échantillon, c'est-à-dire l'ensemble d'apprentissage ; ce processus, tout comme pour la classification (voir ci-dessous), consiste à optimiser de façon séquentielle une fonction d'erreur. Selon la forme de cette fonction d'erreur, nous pouvons définir deux types de modèles SVM :

SVM de Type 1 pour la Régression

Pour ce type de SVM, la fonction d'erreur s'exprime comme suit :

que nous minimisons sous les contraintes :

SVM de Type 2 pour la Régression

Pour ce type de SVM, la fonction d'erreur est donnée par la formule :

que nous minimisons sous les contraintes :

Fonctions Noyaux

STATISTICA SVM vous permet d'utiliser un certain nombre de noyaux dans vos modèles de Support Vector Machines. Ces noyaux peuvent être de type linéaire, polynomial, fonction gaussienne radiale (RBF) et sigmoïde :

La fonction gaussienne radiale (RBF) est de loin le type de noyaux le plus fréquent en Séparateurs à Vaste Marge (SVM - Support Vector Machines). Ceci, en raison de ses réponses localisées et finies sur toute l'étendue de l'axe réel x.

Réseaux Bayésiens Naïfs (Classification)

La technique de classification par les Réseaux Bayésiens Naïfs repose sur le théorème appelé théorème Bayésien et donne généralement d'excellents résultats lorsque le nombre de dimensions en entrée est élevé. Malgré leur simplicité, les Réseaux Bayésiens Naïfs donnent souvent de meilleurs résultats que certaines méthodes plus sophistiquées de classification.

Afin d'illustrer le concept de Classifieur Bayésien Naïf, considérons l'exemple reporté ci-dessus. Comme indiqué, nous pouvons classer les objets dans la catégorie VERT ou dans la catégorie ROUGE. Notre problème va consister à classer de nouvelles observations, c'est-à-dire de décider à quelles classes nous devrons les affecter, sur la base des objets actuellement disponibles.

Dans la mesure où il existe deux fois plus d'objets VERTS que de ROUGES, il est raisonnable de penser qu'une nouvelle observation (que nous n'avons pas encore observée) a deux fois plus de chances d'appartenir à la catégorie VERT qu'à la catégorie ROUGE. Dans l'analyse Bayésienne, ce phénomène est appelé probabilité a priori. Les probabilités a priori reposent sur notre expérience passée, qui dans le cas présent se résume au pourcentage d'objets VERTS et d'objets ROUGES, et permettent généralement de prévoir des événements avant qu'ils ne se produisent.

Nous pouvons donc écrire :

Dans la mesure où nous avons au total 60 objets, dont 40 sont VERTS et 20 sont ROUGES, nous pouvons écrire les probabilités a priori d'appartenance aux différentes classes comme suit :

Nos probabilités a priori étant formulées, nous pouvons à présent classer un nouvel objet (matérialisé par un cercle BLANC). Puisque la séparation entre les classes d'objets est relativement nette, nous pouvons raisonnablement considérer que plus nous avons d'objets VERTS (ou ROUGES) à proximité de X, plus nous avons de chances pour que la nouvelle observation appartienne à cette couleur particulière. Pour mesurer cette vraisemblance, nous traçons un cercle autour de X de sorte qu'il contienne un certain nombre de points (déterminé a priori) indépendamment de leur classe d'appartenance. Nous comptabilisons ensuite le nombre de points présents dans le cercle qui appartiennent à chacune des classes. Ce calcul nous permet de déterminer la vraisemblance :

D'après l'illustration ci-dessus, il est évident que la Vraisemblance de X sachant VERT est plus faible que la Vraisemblance de X sachant ROUGE, puisque le cercle contient 1 objet VERT et 3 objets ROUGES. Par conséquent :

Alors que les probabilités a priori indiquent que X a plus de chances d'appartenir à la catégorie VERT (puisqu'il existe deux fois plus de VERTS que de ROUGES) la vraisemblance donne le résultat inverse (puisqu'il existe plus d'objets ROUGES à proximité de X qu'il n'en existe de VERTS). Dans l'analyse Bayésienne, la classification finale est obtenue en combinant ces deux sources d'informations, c'est-à-dire les probabilités a priori et la vraisemblance, en une probabilité a posteriori à l'aide de la règle dite de Bayes (du nom du célèbre mathématicien anglais, le Révérend Thomas Bayes 1702-1761).

Nous allons donc en fin de compte classer X comme un ROUGE puisque cette classe obtient la plus forte probabilité a posteriori.

Remarque. Les probabilités ci-dessus ne sont pas normalisées. Toutefois, ceci n'affecte en rien le résultat de la classification puisque leurs constantes de normalisation sont identiques.

Notes et Informations Techniques

Dans la sections précédente, nous avons traité un exemple intuitif pour expliquer le fonctionnement de la classification par les Réseaux Bayésiens Naïfs. Dans cette section, nous allons maintenant nous attacher aux questions techniques sous-jacentes. STATISTICA Réseaux Bayésiens Naïfs peut traiter un nombre arbitraire de variables indépendantes, qu'elles soient de nature catégorielles ou continues. Étant donné un ensemble de variables, X = {x1,x2,x...,xd}, nous souhaitons calculer la probabilité a posteriori de l'événement Cj parmi un ensemble de possibles C = {c1,c2,c...,cd}. Dans une terminologie plus courante, X représente les prédicteurs et C représente l'ensemble des modalités de la variable dépendante. En utilisant la règle de Bayes, nous pouvons écrire :

p(Cj | x1,x2,x...,xd) représente la probabilité a posteriori d'appartenir à la classe, c'est-à-dire la probabilité que X appartienne à Cj. Puisque les Réseaux Bayésiens Naïfs considèrent que les probabilités conditionnelles des variables indépendantes sont statistiquement indépendantes, nous pouvons décomposer la vraisemblance en un produit de termes :

et reformuuler la probabilité a posteriori comme suit :

Grâce à la règle de Bayes ci-dessus, nous allons affecter une nouvelle observation X à la classe Cj qui possède la plus forte probabilité a posteriori.

Bien que l'hypothèse selon laquelle les variables prédictives (indépendantes) sont indépendantes entre elles ne soit pas toujours vérifiée, elle simplifie grandement le problème de classification, puisqu'elle permet aux densités conditionnelles de classes p(xk | Cj) d'être calculées séparément pour chaque variable, c'est-à-dire que nous allons ainsi passer d'un problème multidimensionnel à un certain nombre de problèmes à une seule dimension. En pratique, les Réseaux Bayésiens Naïfs vont réduire un problème d'estimation de densité à multiples dimensions à une estimation de la densité de noyaux à une dimension. Empiriquement, cette hypothèse semble affecter assez peu les probabilités a posteriori, notamment dans les régions proches des frontières de décision, et par conséquent le problème de classification lui-même s'en trouve peu affecté.

STATISTICA Réseaux Bayésiens Naïfs vous propose différents choix de modélisations en fonction de vos besoins analytiques. Vous pourrez notamment utiliser des fonctions de densité normale, lognormale, gamma et de Poisson :

Remarque : les indices k et j s'interprètent comme suit : prenons par exemple µkj pour la distribution normale. Pour k=1 et j=2, µ12 représente simplement la moyenne de la distribution normale de la 1ère variable indépendante pour la 2ème modalité C1 de la variable dépendante. Ainsi, µ12 représente la moyenne de la 1ère variable indépendante pour laquelle les entrées de la variable dépendante appartiennent au 2ème niveau catégoriel C1. De la même manière, σ12 représente l'écart-type de la distribution normale de la 1ère variable indépendante pour la 2ème modalité C2 de la variable dépendante. Par conséquent p(xk | Cj) représente la distribution de la 1ère variable indépendante pour la 2ème modalité C1 de la variable dépendante.

Remarque. Les variables de Poisson sont considérées comme des variables continues puisqu'elles sont davantage ordinales que véritablement catégorielles. Pour les variables catégorielles, nous utilisons une probabilité discrète dont les valeurs des niveaux catégoriels sont proportionnels à leurs effectifs conditionnels dans les données d'apprentissage.

K-Plus Proches Voisins

Afin d'illustrer l'analyse des K Plus Proches Voisins, considérons la problématique de la classification d'un nouvel objet (point de requête) parmi un ensemble d'exemples connus. C'est le schéma reporté ci-dessous, qui matérialise les exemples connus (instances) par des signes plus et moins et le point de requête par un cercle rouge. Notre problème consiste à déterminer le résultat (affecter à une classe) du point de requête en fonction d'un certain nombre de voisins les plus proches. En d'autres termes, nous voulons savoir si nous devons classer le point de requête comme un signe plus ou comme un signe moins.

Considérons le résultat de la procédure des Plus Proches Voisins sur la base du (premier) plus proche voisin. Il est évident dans ce cas que la procédure des Plus Proches Voisins va affecter un signe plus au point de requête (puisque le point le plus proche est matérialisé par un signe plus). Passons à présent le nombre des plus proches voisins à 2, c'est-à-dire les 2 plus proches voisins. Cette fois, la procédure des Plus Proches Voisins ne va pas être en mesure de classer le résultat du point de requête puisque le second point le plus proche est un moins, et que les deux signes plus et moins obtiennent le même score (c'est-à-dire obtiennent le même nombre de votes). Augmentons encore le nombre des plus proches voisins et passons cette fois à 5 (5 plus proches voisins). Nous allons ainsi définir la zone des plus proches voisins, que nous avons matérialisée par un cercle sur la figure précédente. Dans la mesure où nous avons 2 signes plus et 3 signes moins dans ce cercle, la procédure des Plus Proches Voisins va affecter un signe moins au résultat du point de requête.

Régression

Dans cette section, nous allons généraliser le concept des K Plus Proches Voisins aux problèmes de régression. Les problèmes de régression s'attachent à prévoir le résultat d'une variable dépendante à partir d'un ensemble de variables indépendantes. Examinons tout d'abord le schéma ci-dessus où un ensemble de points (matérialisés par des carrés verts) sont issus de la relation entre une variable indépendante x et une variable dépendante y (la courbe rouge). Pour un ensemble donné d'objets verts (connus et appelés exemples) nous utilisons la méthode des K Plus Proches Voisins pour prévoir le résultat de X (appelé point de requête) à partir de l'ensemble d'exemple (les carrés verts).

Pour commencer, considérons l'exemple de la méthode du plus proche voisin (un seul point). Dans ce cas, nous allons rechercher dans l'ensemble des exemples (les carrés verts) celui qui est le plus proche du point de requête X. Dans notre cas particulier, il s'agit de x4. Nous utilisons alors le résultat de x4 (c'est-à-dire y4) comme réponse au résultat de X (c'est-à-dire Y). Ainsi, pour la solution à 1 plus proche voisin, nous pouvons écrire :

Y = y4

Considérons à présent la méthode des 2 plus proches voisins. Dans ce cas, nous allons identifier les deux points les plus proches de X, c'est-à-dire dans notre exemple, y3 et y4. Nous calculons la moyenne de leurs résultats, pour obtenir la solution de Y qui s'exprime comme suit :

La logique ci-dessus peut être étendue à un nombre arbitraire K de plus proches voisins. Pour résumer, avec la méthode des K plus proches voisins, le résultat Y du point de requête X se calcule comme la moyenne des résultats de ses K plus proches voisins.

Détails Techniques

STATISTICA K Plus Proches Voisins est un modèle fondé sur la mémoire ; il est défini par un ensemble d'objets appelés exemples (ou encore, instances) pour lesquels les résultats sont connus (c'est-à-dire que ces exemples possèdent des libellés). Chaque exemple est représenté par une observation constituée d'un ensemble de valeurs indépendantes auxquelles correspondent un ensemble de résultats dépendants (libellés). Les variables dépendantes et indépendantes peuvent être continues ou catégorielles. Dans le cas de variables dépendantes continues, nous avons affaire à un problème de régression ; dans l'autre cas, il s'agit d'un problème de classification. Par conséquent, STATISTICA K Plus Proches Voisins peut traiter à la fois des problèmes de régression et de classification.

Étant donnée une nouvelle observation avec des valeurs indépendantes connues (le point de requête), nous souhaitons estimer le résultat de cette nouvelle observation à partir d'exemples connus constitués par les K plus proches voisins. STATISTICA K Plus Proches Voisins va alors identifier les K exemples les plus proches du point de requête (dont la distance avec le point de requête est la plus faible), d'où le nom K Plus Proches Voisins. Dans les problèmes de régression, les prévisions par les K Plus Proches Voisins sont calculées en prenant la moyenne des résultats des K plus proches voisins ; pour les problèmes de classification, c'est le vote majoritaire qui est utilisé.

Le choix de K est essentiel dans la construction du modèle des K Plus Proches Voisins. En fait, K constitue l'un des paramètres les plus importants du modèle, et peut influencer fortement la qualité des prévisions. Vous pouvez considérer que d'une certaine manière, le nombre K de plus proches voisins est un paramètre de lissage. Pour un problème donné, une valeur faible de K va conduire à une variance importante dans les prévisions. Au contraire, si vous affectez une valeur importante à K, vous allez introduire un biais important dans votre modèle. Par conséquent, la valeur de K doit être suffisamment importante pour minimiser la probabilité d'erreur de classement mais aussi, raisonnablement faible (par rapport au nombre d'observations dans l'échantillon des exemples) pour que les K points les plus proches soient suffisamment proches du point de requête. Ainsi, comme pour tout paramètre de lissage, il existe une valeur optimale de K qui permet d'obtenir un bon compromis entre le biais et la variance du modèle. STATISTICA K Plus Proches Voisins peut fournir une estimation de K en utilisant un algorithme connu sous le nom de validation croisée (Bishop, 1995).

Validation Croisée

La validation croisée est une technique bien établie permettant d'estimer les paramètres inconnus du modèle. Penchons-nous sur la mise en oeuvre de cette technique pour estimer K.

Le principe fondamental de cette méthode consiste à répartir l'échantillon de données en un certain nombre v d'ensembles (des segments ou sous-échantillons disjoints, tirés au hasard). Pour une valeur déterminée de K, nous appliquons le modèle des K Plus Proches Voisins pour calculer les prévisions sur le v-ième segment (c'est-à-dire que nous utilisons les v-1 segments comme des exemples) puis nous estimons l'erreur. Le choix de l'erreur est généralement la somme des carrés pour les problèmes de régression, et la précision (calculée comme le pourcentage d'observations correctement classées) dans les problèmes de classification. Ce processus est alors appliqué successivement à tous les choix possibles de v. À l'issue des v ensembles (cycles), nous prenons la moyenne de ces erreurs ainsi calculées pour définir une mesure de la stabilité du modèle (c'est-à-dire dans quelle mesure le modèle peut prévoir les points de requête). Les étapes précédentes sont ensuite répétées pour différentes valeurs de K et la valeur qui permet d'obtenir l'erreur la plus faible (ou la meilleure précision de classification) est alors choisie comme valeur optimale de K (optimale au sens de la validation croisée). Remarque : le processus de validation croisée nécessite de très nombreux calculs et vous devez prévoir un certain temps pour l'exécution de cet algorithme, en particulier lorsque la taille de l'échantillon d'exemple est important. Vous pouvez également spécifier manuellement la valeur de K. Cette démarche reste acceptable si vous avez déjà une idée de la valeur de K à appliquer (c'est-à-dire, à partir d'analyses antérieures des K Plus Proches Voisins que vous avez déjà réalisées sur des données similaires).

Métrique des Distances

Comme indiqué précédemment, pour un point de requête déterminé, la méthode des K Plus Proches Voisins va réaliser ses prévisions à partir du résultat des K voisins les plus proches de ce point. Par conséquent, pour effectuer des prévisions par les K Plus Proches Voisins, nous devons préalablement définir une certaine métrique pour mesurer les distances entre le point de requête est les observations issues de l'échantillon des exemples. La mesure la plus courante est de loin la distance euclidienne. Mais vous pouvez également utiliser d'autres mesures comme la distance euclidienne au carré, le City-block ou la distance de Chebychev :

x et p représentent respectivement le point de requête et une observation issue de l'échantillon des exemples.

Prévisions des K Plus Proches Voisins

Après avoir sélectionné la valeur de K, vous pouvez effectuer vos prévisions sur la base des exemples des K Plus Proches Voisins. Pour les problèmes de régression, les prévisions des K Plus Proches Voisins se calculent comme la moyenne des résultats des K plus proches voisins.

yi représente la i-ième observation de l'échantillon des exemples et y représente la prévision (résultat) du point de requête. Contrairement à la régression, les prévisions des K Plus Proches Voisins dans les problèmes de classification reposent sur un schéma de vote où le vainqueur détermine le libellé qui est affecté au point de requête.

Remarque. Pour les problèmes de classification binaires, le programme utilise des valeurs impaires de y = 1,3,5 pour éviter les ex-aequos, c'est-à-dire deux classes obtenant le même score.

Husqu'à présent, nous avons parlé de l'analyse des K Plus Proches Voisins sans nous attacher aux distances relatives entre les K exemples les plus proches et le point de requête. En d'autres termes, nous avons considéré que les K voisins avaient la même influence sur les prévisions, quelle que soit leur distance relative au point de requête. Une autre approche (défendue par Shepard, 1968) consiste à utiliser des valeurs relativement grandes de K (voire l'ensemble de l'échantillon des prototypes) avec une importance d'autant plus élevée que les observations sont proches du point de requête. C'est ce que permet la technique dite des distances pondérées.

Pondération des Distances

Dans la mesure où les prévisions des K Plus Proches Voisins se fondent sur l'hypothèse intuitive que les objets les plus proches sont potentiellement similaires, il est assez logique de discriminer les K voisins les plus proches dans le calcul des prévisions, c'est-à-dire d'affecter un rôle plus important aux points les plus proches du point de requête parmi l'ensemble des K plus proches voisins pour déterminer le résultat de ce point de requête. L'introduction d'un ensemble de W pondérations, une pour chacun des voisins les plus proches, permet de définir la proximité relative de chaque voisin par rapport au point de requête. Ainsi, nous pouvons écrire :

D(x, pi ) représente la distance entre le point de requête x et la i-ième observation pi de l'échantillon des exemples. Les pondérations ainsi définies satisfont l'expression :

Par conséquent, pour les problèmes de régression, nous avons :

Pour les problèmes de classification, nous prenons le maximum de l'équation précédente pour chacune des variables de classement.

Ainsi, lorsque K>1, nous pouvons naturellement définir l'écart-type des prévisions dans les problèmes de régression en utilisant la formule :




K Plus Proches Voisins: Classification

Dans cet exemple, nous allons analyser un problème de classification, c'est-à-dire un problème avec une variable dépendante catégorielle. Nous allons chercher à construire un modèle de classification par les K Plus Proches Voisins afin de prévoir correctement la classe d'appartenance (catégorie) des variables indépendantes.

Pour cet exemple, nous utiliserons le fichier d'exemple classique Iris, qui contient des informations sur trois différents types d'Iris - Versicolor, Virginica et Setosa. Les données contiennent des mesures pour quatre variables - la longueur et la largeur des sépales (LONSEPAL et LARSEPAL) ainsi que la longueur et la largeur des pétales (LONPETAL et LARPETAL). Le fichier de données Iris possède un certain nombre de propriétés intéressantes :

  1. L'une des classes (Setosa) peut être séparée des deux autres de façon linéaire. En revanche, les deux autres classes ne peuvent pas être séparées de façon linéaire.

  2. Il existe une certaine superposition entre les classes Versicolor et Virginica, ce qui rend impossible un taux de classification parfaite.

Fichier de données. Ouvrez le fichier de données IrisSNN.sta à 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.  

Démarrage de l'analyse. Dans le menu Statistiques - Data Mining, sélectionnez la commande Machine Learning (Bayésien, Support Vectors, Plus Proches Voisins) afin d'accéder à la boîte de dialogue Machine Learning (Panneau de Démarrage).

Sélectionnez l'option K Plus Proches Voisins et cliquez sur le bouton OK afin d'accéder à la boîte de dialogue K Plus Proches Voisins. Vous pouvez également double-cliquer sur l'option K Plus Proches Voisins afin d'accéder à cette boîte de dialogue.

Cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue standard de sélection de variables. Sélectionnez la variable FLEUR comme variable Dépendante catégorielle et les variables 2-5 comme liste de Prédicteurs continus (variables indépendantes), puis cliquez sur le bouton OK.

À ce stade, vous pouvez modifier les spécifications de l'analyse, par exemple, la technique d'échantillonnage à utiliser (voir le descriptif de l'onglet Échantillonnage) pour répartir les données entre l'échantillon des exemples et l'échantillon de test, le nombre K de voisins les plus proches, ou encore la mesure des distances (métrique) ou le type de moyenne (voir le descriptif de l'onglet Options). Pour les analyses intégrant des variables indépendantes dont les ordres de grandeur sont assez différents, vous pouvez centrer-réduire les distances (pour les variables indépendantes continues uniquement). Pour plus d'informations, voir ci-dessous. L'importance du choix du type de moyenne est également abordée ci-dessous.

L'un des paramètres importants à considérer est celui de la technique d'échantillonnage permettant de répartir les données dans les échantillons d'exemple et de test (dans l'onglet Échantillonnage). Bien que le choix d'une variable d'échantillonnage ne constitue pas le paramétrage par défaut (dans la mesure où votre jeu de données peut ne pas comporter de variable d'échantillonnage), il est préconisé d'utiliser cette option dans la mesure où, contrairement à l'échantillonnage aléatoire, elle permet de répartir les données sur une base déterminée, ce qui vous permet de comparer les résultats obtenus avec différents paramètres expérimentaux, c'est-à-dire le choix de K, la mesure des distances, etc...

Dans cet exemple, ouvrons l'onglet Échantillonnage, et sélectionnons le bouton d'option Utiliser une variable avec identifiants d'échantillons, puis cliquons sur le bouton Échantillon afin d'accéder à la boîte de dialogue Variable pour l'Échantillonnage. Dans cette boîte de dialogue, cliquons sur le bouton Variable avec Identifiants d'Échantillons, sélectionnons la variable NN_ECH comme variable d'échantillonnage, et cliquons sur le bouton OK. Double-cliquons ensuite dans le champ Code de l'échantillon d'analyse, sélectionnons Apprentissage comme code de l'échantillon d'analyse, et cliquons sur le bouton OK. Dans le groupe Statut, cliquons enfin sur le bouton d'option Actif, et cliquons sur le bouton OK.

Dans une analyse par les K Plus Proches Voisins, il est conseillé de toujours réduire les variables indépendantes afin de leur attribuer un ordre de grandeur (et donc une influence) similaire. Ceci permet d'éviter aux variables indépendantes avec des ordres de grandeur plus importants de biaiser les prévisions. Pour appliquer cette réduction, cochez l'option Réduire les distances (même importance à toutes les variables) dans la boîte de dialogue K Plus Proches Voisins - onglet Options (cette option est également accessible dans la boîte de dialogue des Résultats).

Enfin, sélectionnez l'onglet Validation croisée. Cochez l'option Appliquer la validation croisée par v-ensembles (v-fold) ; dans le groupe Intervalle de recherche pour les plus proches voisins, saisissez la valeur 30 dans le champ Maximum (afin d'augmenter le nombre maximum de voisins les plus proches K à 30).

Cliquez sur le bouton OK. Le module STATISTICA K Plus Proches Voisins va afficher une barre de progression pendant la recherche d'une estimation de K par l'algorithme de validation croisée, avant d'ouvrir la boîte de dialogue K Plus Proches Voisins - Résultats.

Étude des résultats. La boîte de dialogue K Plus Proches Voisins - Résultats vous permet de réaliser les prévisions des K Plus Proches Voisins et d'étudier les résultats sous forme de feuilles de données, rapports, et/ou graphiques.

La Boîte de Synthèse située en haut de la boîte de dialogue des Résultats, vous permet de visualiser les spécifications de votre analyse par les K Plus Proches Voisins, notamment la liste des variables sélectionnées pour l'analyse et la taille des échantillons des Exemples, de Test et au Total (selon les cas). Vous avez également accès au nombre de voisins les plus proches, à la mesure des distances, et au rappel des spécifications relatives à la réduction des entrées et aux pondérations des distances. L'erreur de validation croisée est également reportée. Remarque : ces spécifications sont celles que vous avez réalisées dans la boîte de dialogue K Plus Proches Voisins.

Dans l'onglet Base de la boîte de dialogue des Résultats, cliquez sur le bouton Erreur de validation croisée afin de produire un graphique de l'erreur de validation croisée pour chaque valeur de K qui a été utilisée par l'algorithme de validation croisée.

La première chose à regarder concerne l'existence ou non d'un point selle, c'est-à-dire une valeur de K avec une précision maximale de la classification par rapport aux points situés à proximité. L'existence d'un maximum révèle que l'intervalle pour la recherche de K était suffisamment important pour intégrer la valeur optimale (du point de vue de la validation croisée). Si ce n'est pas le cas, retournez à la boîte de dialogue K Plus Proches Voisins en cliquant sur le bouton Annuler dans la boîte de dialogue des Résultats, et augmentez l'intervalle de la recherche.

Comme indiqué précédemment, STATISTICA K Plus Proches Voisins réalise ses prévisions sur la base d'un sous-ensemble appelé échantillon d'exemples (ou d'instances). Cliquez sur le bouton Modèle afin de produire une feuille de données contenant les valeurs des observations pour cet échantillon particulier.

Vous pouvez obtenir davantage d'informations concernant la classification en cliquant sur le bouton Statistiques descriptives, qui permet de produire deux feuilles de données contenant la synthèse de la classification et la matrice de confusion.

Pour accéder à d'autres résultats, cliquez sur le bouton Prévisions afin de produire la feuille de données des prévisions (et reporter d'autres variables potentiellement intéressantes pour vous, par exemple, les variables indépendantes et dépendantes, et la précision, en cochant simplement les options respectives dans le cadre Reporter les éléments suivants).

Vous pouvez également représenter ces variables sous forme d'histogrammes.

D'autres représentations graphiques de ces résultats sont accessibles par l'onglet Tracés, dans lequel vous pouvez produire des tracés en deux et trois dimensions des variables et des niveaux de confiance.

Remarque : vous pouvez représenter plusieurs variables dans vos nuages de points en deux dimensions.

Par exemple, le graphique ci-dessus représente un nuage de points de la variable indépendante LONPETAL en fonction du niveau de confiance des classes Setosa, Versicolor et Virginica. À partir des valeurs ci-dessus, nous pouvons clairement séparer la classe Setosa des classes Versicolor et Virginica, mais avons en revanche davantage de difficultés pour séparer les deux dernières classes. Cette difficulté à séparer ces deux classes explique les erreurs de classement que nous avons pu observer dans la feuille de données des Prévisions créée précédemment. Pour produire le graphique ci-dessus, sélectionnez tout d'abord le bouton d'option Test dans le cadre Échantillon de la boîte de dialogue K Plus Proches Voisins - Résultats puis sélectionnez la variable LONPETAL dans la liste Axe X et les variables Setosa (conf.), Versicolor (conf.), et Virginica (conf.) dans la liste Axe Y. Cliquez ensuite sur le bouton Graphiques de X et Y.

Remarque : vous pouvez choisir l'échantillon (sous-ensemble) pour lequel vous souhaitez produire les résultats. Pour ce faire, sélectionnez le bouton d'option correspondant dans le cadre Échantillon de la boîte de dialogue K Plus Proches Voisins - Résultats. Par exemple, sélectionnez le bouton d'option Les deux échantillons afin de produire les résultats numériques (feuilles de données) et graphiques pour les échantillons d'exemples et de test ensembles. Sachez cependant que vous ne pouvez pas réaliser de prévisions (ou calculer d'autres statistiques comme la précision ou le niveau de confiance) sur l'échantillon des exemples dans la mesure où il sert à la procédure des K Plus Proches Voisins pour prévoir l'échantillon de test.

Dans la mesure où les K Plus Proches Voisins n'ajustent aucun modèle, les résultats que vous pouvez produire depuis la boîte de dialogue des Résultats n'est pas limité aux spécifications effectuées dans la boîte de dialogue K Plus Proches Voisins<. Pour l'illustrer, sélectionnons l'onglet Options de la boîte de dialogue des Résultats, et désélectionnons l'option Utiliser les paramètres de la validation croisée. De cette manière, nous allons pouvoir accéder aux autres contrôles de cet onglet, qui sans quoi, demeureraient grisés (Remarque : cette action ne va pas annuler les résultats de la validation croisée. Vous pouvez à tout moment revenir en arrière et rétablir ce paramètre en cochant à nouveau cette option). Modifions le nombre de plus proches voisins à 40.

Dans l'onglet Tracés, sélectionnez la variable indépendante LONSEPAL dans la liste Axe X et les variables Setosa (conf.), Versicolor (conf.) et Virginica (conf.) dans la liste Axe Y (comme précédemment). Cliquez ensuite sur le bouton Graphiques de X et Y. Remarque : en raison de la valeur importante de K (par rapport à l'estimation obtenue par validation croisée, c'est-à-dire 4), les prévisions commencent sérieusement à se dégrader. Vous pouvez observer ce phénomène en regardant la région plus importante dans laquelle règne une certaine confusion entre les différentes classes.

Vous pouvez ici produire une nouvelle feuille de données des statistiques descriptives (onglet Base) et la comparer à la précédente.

Si nous définissons à présent K=80 (la taille de tout l'échantillon des exemples) nous obtenons alors la plus mauvaise performance des K Plus Proches Voisins comme illustré ci-dessous.

Examinons à présent l'impact des distances pondérées sur les prévisions des K Plus Proches Voisins. Retournez dans l'onglet Options, et cochez l'option Pondérer les distances. Conservons K à 80 et produisons à nouveau le graphique de LONSEPAL en fonction des niveaux de confiance. Bien que nous ayons intégré toutes les observations de notre échantillon d'exemples, il existe visiblement moins de confusion entre les différentes classes, c'est-à-dire qu'une meilleure classification est possible malgré l'inclusion de toutes les observations de l'échantillon des exemples.

Terminons cet exemple par une analyse conditionnelle. Sélectionnons pour ce faire l'Onglet Prévisions personnalisées.

Vous pouvez ici définir de nouvelles observations (qui ne sont pas issues du jeu de données) et exécuter le modèle des K Plus Proches Voisins qui nous permet d'effectuer des analyses conditionnelles ad-hoc. Vous pouvez afficher la prévision du modèle (avec les valeurs indépendantes de l'observation ainsi définie) en cliquant sur le bouton Calculer les valeurs prévues, mais commençons déjà par définir notre observation fictive à l'aide du bouton Spécifier les valeurs personnalisées de l'observation à prévoir afin d'accéder à un formulaire généraliste de saisie.

Ce formulaire de saisie nous permet de spécifier les valeurs des variables indépendantes comme illustré ci-dessus. Cliquez sur OK afin de confirmer ces valeurs et retourner à la boîte de dialogue des Résultats. Cliquez ensuite sur le bouton Calculer les valeurs prévues afin de produire une feuille de données contenant les valeurs indépendantes de notre nouvelle observation, ainsi que la réponse prévue par notre modèle des K Plus Proches Voisins.

 




K Plus Proches Voisins : Régression

La rubrique K Plus Proches Voisins - Exemple 1 : Classification décrit un problème de classification, c'est-à-dire un problème où la sortie est une variable catégorielle, représentant l'appartenance d'une observation à une classe donnée pour différentes variables dépendantes.

Vous pouvez également utiliser le module STATISTICA K Plus Proches Voisins pour des problèmes de régression, dans lesquels la sortie est une variable numérique continue ; dans ce cas, le programme va agir comme une technique de régression.

Dans cet exemple, nous allons étudier la relation entre une variable indépendante continue et une variable dépendante continue.

Fichier de données. Cet exemple s'appuie sur le fichier de données Sin250.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. Ce fichier de données est constitué de deux variables synthétiques continues X et Y. Les observations de Y sont une simple fonction sinus de X à laquelle nous avons ajouté un certain bruitage.

Démarrage de l'analyse. Dans le menu Statistiques - Data Mining, sélectionnez la commande Machine Learning (Bayésien, Support Vectors, Plus Proches Voisins) afin d'accéder à la boîte de dialogue Machine Learning (Panneau de Démarrage).

Sélectionnez l'option K Plus Proches Voisins et cliquez sur le bouton OK afin d'accéder à la boîte de dialogue K Plus Proches Voisins. Vous pouvez également double-cliquer sur l'option K Plus Proches Voisins afin d'accéder à cette boîte de dialogue.

Cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue standard de sélection de variables. Sélectionnez la variable Y comme variable Dépendante continue et la variable X comme Prédicteur continu (variable indépendante), puis cliquez sur le bouton OK.

À ce stade, vous pouvez modifier les spécifications de l'analyse, par exemple, la technique d'échantillonnage à utiliser (voir le descriptif de l'onglet Échantillonnage) pour répartir les données entre l'échantillon des exemples et l'échantillon de test, le nombre K de voisins les plus proches, ou encore la mesure des distances (métrique) ou le type de moyenne (voir le descriptif de l'onglet Options). Pour les analyses intégrant des variables indépendantes dont les ordres de grandeur sont assez différents, vous pouvez centrer-réduire les distances (pour les variables indépendantes continues uniquement). Pour plus d'informations, voir ci-dessous. L'importance du choix du type de moyenne est également abordée ci-dessous.

L'un des paramètres importants à considérer est celui de la technique d'échantillonnage permettant de répartir les données dans les échantillons d'exemple et de test (dans l'onglet Échantillonnage). Pour plus d'informations, voir le descriptif de la boîte de dialogue K Plus Proches Voisins - onglet Échantillonnage.

Dans une analyse par les K Plus Proches Voisins, il est conseillé de toujours réduire les variables indépendantes afin de leur attribuer un ordre de grandeur (et donc une influence) similaire. Ceci permet d'éviter aux variables indépendantes avec des ordres de grandeur plus importants de biaiser les prévisions. Pour appliquer cette réduction, cochez l'option Réduire les distances (même importance à toutes les variables) dans la boîte de dialogue K Plus Proches Voisins - onglet Options (cette option est également accessible dans la boîte de dialogue des Résultats). Ce n'est toutefois pas nécessaire dans le cas présent puisque notre fichier de données comporte une seule variable indépendante.

Ouvrez maintenant l'onglet Validation croisée. Cochez l'option Appliquer la validation croisée par v-ensembles (v-fold) et saisissez la valeur 20 dans le champ Maximum (afin d'augmenter le nombre maximum de voisins les plus proches K à 20).

Cliquez sur le bouton OK. Le module STATISTICA K Plus Proches Voisins va afficher une barre de progression pendant la recherche d'une estimation de K par l'algorithme de validation croisée, avant d'ouvrir la boîte de dialogue K Plus Proches Voisins - Résultats.

Étude des résultats. La boîte de dialogue K Plus Proches Voisins - Résultats vous permet de réaliser les prévisions des K Plus Proches Voisins et d'étudier les résultats sous forme de feuilles de données, rapports, et/ou graphiques.

La Boîte de Synthèse située en haut de la boîte de dialogue des Résultats, vous permet de visualiser les spécifications de votre analyse par les K Plus Proches Voisins, notamment la liste des variables sélectionnées pour l'analyse et la taille des échantillons des Exemples, de Test et au Total (selon les cas). Vous avez également accès au nombre de voisins les plus proches, à la mesure des distances, et au rappel des spécifications relatives à la réduction des entrées et aux pondérations des distances. L'erreur de validation croisée est également reportée. Remarque : ces spécifications sont celles que vous avez réalisées dans la boîte de dialogue K Plus Proches Voisins.

Dans l'onglet Base de la boîte de dialogue des Résultats, cliquez sur le bouton Erreur de validation croisée afin de produire un graphique de l'erreur de validation croisée pour chaque valeur de K qui a été utilisée par l'algorithme de validation croisée.

La première chose à regarder concerne l'existence ou non d'un point selle, c'est-à-dire une valeur de K avec une erreur minimale par rapport aux points situés à proximité. L'existence d'un minimum révèle que l'intervalle pour la recherche de K était suffisamment important pour intégrer la valeur optimale (du point de vue de la validation croisée). Si ce n'est pas le cas, retournez à la boîte de dialogue K Plus Proches Voisins en cliquant sur le bouton Annuler dans la boîte de dialogue des Résultats, et augmentez l'intervalle de la recherche.

Comme indiqué précédemment, STATISTICA K Plus Proches Voisins réalise ses prévisions sur la base d'un sous-ensemble appelé échantillon d'exemples (ou d'instances). Cliquez sur le bouton Modèle afin de produire une feuille de données contenant les valeurs des observations pour cet échantillon particulier.

Vous pouvez obtenir davantage d'informations concernant la régression en cliquant sur le bouton Statistiques descriptives, qui permet de produire une feuille de données avec diverses statistiques relatives à la régression, notamment le ratio des écarts-types et le coefficient de corrélation entre les valeurs prévues et observées.

Vous pouvez également produire la feuille de données des prévisions (et reporter d'autres variables potentiellement intéressantes pour vous, par exemple, les variables indépendantes et dépendantes, et les résidus, en cochant simplement les options respectives dans le cadre Reporter les éléments suivants) en cliquant sur le bouton Prévisions.

Vous pouvez également représenter ces variables sous forme d'histogrammes en cliquant sur le bouton Histogrammes.

D'autres représentations graphiques de ces résultats sont accessibles par l'onglet Tracés, dans lequel vous pouvez produire des tracés en deux et trois dimensions des variables, prévisions et de leurs résidus. Remarque : vous pouvez représenter plusieurs variables dans vos nuages de points en deux dimensions.

Par exemple, le graphique ci-dessus représente un nuage de points des valeurs observées et prévues de la variable Y en fonction des valeurs de la variable X. D'une manière générale, ce type de graphique constitue une bonne manière de comparer les prévisions d'un modèle avec les données observées. Pour produire le graphique ci-dessus, sélectionnez tout d'abord le bouton d'option Test dans le cadre Échantillon, puis sélectionnez la variable X dans la liste de l'Axe X et les variables Val. observées et Val. prévues dans la liste de l'Axe Y. Cliquez ensuite sur le bouton Graphiques des X et Y.

Remarque : vous pouvez choisir l'échantillon (sous-ensemble) pour lequel vous souhaitez produire les résultats. Pour ce faire, sélectionnez le bouton d'option correspondant dans le cadre Échantillon de la boîte de dialogue K Plus Proches Voisins - Résultats. Par exemple, sélectionnez le bouton d'option Les deux échantillons afin de produire les résultats numériques (feuilles de données) et graphiques pour les échantillons d'exemples et de test ensembles. Sachez cependant que vous ne pouvez pas réaliser de prévisions (ou calculer d'autres statistiques comme la précision ou le niveau de confiance) sur l'échantillon des exemples dans la mesure où il sert à la procédure des K Plus Proches Voisins pour prévoir l'échantillon de test. La feuille de données suivante est produite à l'aide du bouton Prévisions dans l'onglet Base.

Dans la mesure où les K Plus Proches Voisins n'ajustent aucun modèle, les résultats que vous pouvez produire depuis la boîte de dialogue des Résultats n'est pas limité aux spécifications effectuées dans la boîte de dialogue K Plus Proches Voisins. Pour l'illustrer, sélectionnons l'onglet Options de la boîte de dialogue des Résultats, et désélectionnons l'option Utiliser les paramètres de la validation croisée. De cette manière, nous allons pouvoir accéder aux autres contrôles de cet onglet, qui sans quoi, demeureraient grisés (Remarque : cette ne va pas annuler les résultats de la validation croisée. Vous pouvez à tout moment revenir en arrière et rétablir ce paramètre en cochant à nouveau cette option). Modifions le nombre de plus proches voisins à 40.

Dans l'onglet Tracés, sélectionnez la variable indépendante X dans la liste Axe X et les variables Val. observées et Val. prévues dans la liste Axe Y (comme précédemment). Cliquez ensuite sur le bouton Graphiques de X et Y. Remarque : en raison de la valeur importante de K (par rapport à l'estimation obtenue par validation croisée, c'est-à-dire 6), les prévisions commencent sérieusement à se dégrader. Vous pouvez observer ce phénomène aux deux extrémités de la courbe de régression.

Vous pouvez ici produire une nouvelle feuille de données des statistiques descriptives (onglet Base) et la comparer à la précédente. Vous noterez une baisse de la variance du modèle, et en fait, la variance va continuer à diminuer à mesure que nous augmentons la valeur de K.

Lorsque K est très important, disons de la taille de l'échantillon des exemples (k=187; vous pouvez saisir la valeur 187 dans le champ Nombre de voisins les plus proches à considérer (K) dans l'onglet Options) la variance du modèle devient nulle et la courbe de régression est à présent une droite constante (qui représente simplement la valeur moyenne de la variable dépendante Y).

Examinons à présent l'impact des distances pondérées sur les prévisions des K Plus Proches Voisins. Retournez dans la boîte de dialogue K Plus Proches Voisins - onglet Options, cochez l'option Pondérer les distances et désélectionnez l'option Réduire les distances (même importance pour toutes les variables) et conservez K à 187.

et produisons le graphique de X en fonction des valeurs observées et prévues de Y. Remarquez la différence entre ce graphique et le précédent.

Vous pouvez poursuivre l'analyse en effectuant des analyses conditionnelles à l'aide de l'onglet Prévisions personnalisées. Les options de cet onglet vous permettent de définir de nouvelles observations (qui ne sont pas issues du fichier de données original) et exécuter votre modèle des K Plus Proches Voisins. Vous pouvez ainsi réaliser des analyses ad hoc. Le bouton Calculer les valeurs prévues vous permet alors de calculer les prévisions pour votre modèle.

 




Réseaux Bayésiens Naïfs: Classification

Dans cet exemple, nous allons aborder un problème de classification, c'est-à-dire un problème avec une variable dépendante catégorielle. Nous allons nous attacher à construire un Réseau Bayésien Naïf en mesure de prévoir correctement la classe d'appartenance (catégorie) d'une observation indépendante inconnue.

Dans cet exemple, nous utiliserons le fichier de données classique Iris, qui contient des informations sur trois différents types d'Iris - Versicolor, Virginica et Setosa. Les données contiennent des mesures pour quatre variables - la longueur et la largeur des sépales (LONSEPAL et LARSEPAL) ainsi que la longueur et la largeur des pétales (LONPETAL et LARPETAL). Le fichier de données Iris possède un certain nombre de caractéristiques intéressantes :

  1. L'une des classes (Setosa) peut être séparée des deux autres de façon linéaire. En revanche, les deux autres classes ne peuvent pas être séparées de façon linéaire.

  2. Il existe une certaine superposition entre les classes Versicolor et Virginica, ce qui rend impossible un taux de classification parfaite.

Fichier de données. Ouvrez le fichier de données IrisSNN.sta à 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.  

Démarrage de l'analyse. Dans le menu Statistiques - Data Mining, sélectionnez la commande Machine Learning (Bayésien, Support Vectors, Plus Proches Voisins) afin d'accéder à la boîte de dialogue Machine Learning (Panneau de Démarrage).

Sélectionnez l'option Réseaux Bayésiens Naïfs dans l'onglet Base, puis cliquez sur le bouton OK afin d'accéder à la boîte de dialogue Réseaux Bayésiens Naïfs. Vous pouvez également double-cliquer sur l'option Réseaux Bayésiens Naïfs afin d'accéder à cette boîte de dialogue.

Paramétrage de l'analyse. Dans l'onglet Base, cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue standard de sélection de variables. Sélectionnez la variable FLEUR comme variable Dépendante catégorielle et les variables 2-5 comme liste de Prédicteurs continus (variables indépendantes), puis cliquez sur le bouton OK.

À ce stade, vous pouvez modifier les spécifications de l'analyse, par exemple, la technique d'échantillonnage à utiliser pour répartir les données entre l'échantillon d'apprentissage et l'échantillon de test (dans l'onglet Échantillonnage), le seuil et la distribution des entrées continues (dans l'onglet Distributions). Remarque : le seuil impose une borne inférieure à la probabilité conditionnelle d'un niveau catégoriel en entrée, sachant une classe en sortie. Par conséquent, cette option n'est accessible que si votre analyse intègre des entrées catégorielles.

L'un des paramètres importants à considérer est celui de la technique d'échantillonnage permettant de répartir les données dans les échantillons d'exemple et de test (dans l'onglet Échantillonnage). Bien que le choix d'une variable d'échantillonnage ne constitue pas le paramétrage par défaut (dans la mesure où votre jeu de données peut ne pas comporter de variable d'échantillonnage), il est préconisé d'utiliser cette option dans la mesure où, contrairement à l'échantillonnage aléatoire, elle permet de répartir les données sur une base déterminée, ce qui vous permet de comparer les résultats obtenus avec différents paramètres expérimentaux. Il est conseillé de toujours prévoir un échantillon de test pour évaluer la performance de votre modèle sur des données inconnues.

La distribution par défaut des variables indépendantes continues est la loi normale.

Vous pouvez modifier cette option afin de refléter les propriétés statistiques de votre jeu de données ; par exemple, si vous conjecturez que la distribution d'une certaine variable indépendante est mieux représentée par une distribution lognormale, affectez ce type de distribution à la variable en question. Pour ce faire, ouvrez l'onglet Distributions et cliquez sur le bouton  Sélectionnez les distributions des variables dépendantes continues. Une boîte de dialogue standard de sélection de variables va alors vous permettre d'affecter les distributions de votre choix aux variables indépendantes continues. Pour la plupart des problèmes, le choix par défaut d'une distribution normale des entrées est adéquat.

En raison de la nature des Réseaux Bayésiens Naïfs, il est possible d'utiliser des observations partiellement manquantes, c'est-à-dire des observations possédant à la fois des entrées valides et manquantes. Considérons par exemple l'observation suivante :

Entrées = {0,14  0,23  MANQUANT  4,6  MANQUANT}, sortie = {Setosa}

Bien que certaines valeurs soient manquantes, nous pouvons malgré tout utiliser cette observation pour construire notre modèle de Réseaux Bayésiens Naïfs. Par exemple, nous pouvons utiliser l'entrée Setosa dans le calcul des probabilités a priori d'appartenance aux différentes classes. De la même manière, nous pouvons utiliser une entrée indépendante valide pour estimer les paramètres de la distribution correspondante. Cette méthode est particulièrement utile lorsque le jeu de données comporte un nombre relativement important de valeurs manquantes.

Pour intégrer les observations de ce type dans notre exemple, il nous suffit de sélectionner le bouton d'option Utiliser les VM dans le cadre Traitement des VM de la boîte de dialogue Réseaux Bayésiens Naïfs.

Étude des résultats. Cliquons à présent sur le bouton OK dans la boîte de dialogue Réseaux Bayésiens Naïfs afin d'accéder à la boîte de dialogue Réseaux Bayésiens Naïfs - Résultats, qui vous permet de produire vos résultats sous forme de feuilles de données, rapports, et/ou graphiques.

Dans la Boîte de Synthèse située en haut de la boîte de dialogue des Résultats, sont rappelées les spécifications de la boîte de dialogue Réseaux Bayésiens Naïfs, en particulier les listes de variables dépendantes et de variables indépendantes ainsi que le nombre d'observations valides dans chaque échantillon. Vous accédez également à la liste des modalités (classes) de la ou des variables dépendantes spécifiées.

Les Réseaux Bayésiens Naïfs construisent la fonction de décision à partir d'un ensemble de probabilités conditionnelles des variables indépendantes. Ces probabilités sont ensuite transformées pour constituer une vraisemblance, qui a sont tour est combinée aux probabilités a priori des classes, en utilisant la règles de Bayes, pour constituer les probabilités a posteriori finales. Les probabilités a posteriori constituent la base de la fonction de décision.

Cliquez sur le bouton Modèle (dans l'onglet Base) afin de produire une feuille de données du modèle de Réseaux Bayésiens Naïfs pour chacune des variables dépendantes.

Cette feuille de données contient le détail des probabilités conditionnelles et a priori des différentes classes. Vous pouvez ainsi analyser en détail votre modèle de Réseaux Bayésiens Naïfs ou l'intégrer dans vos rapports.

D'autres informations sont accessibles par le bouton Statistiques descriptives, qui permet de produire deux feuilles de données contenant la matrice de classification et la matrice de confusion pour chaque variable dépendante (remarque : les Réseaux Bayésiens Naïfs peuvent calculer les résultats pour plusieurs variables dépendantes).

Ces feuilles de données vous permettent de visualiser le nombre d'observations correctement classées et mal classées. Remarque : vous pouvez produire ces feuilles de données pour les échantillons d'Apprentissage, de Test, ou pour Les deux échantillons en sélectionnant l'option respective dans le groupe Échantillon de la boîte de dialogue des Résultats.

Vous pouvez également produire la feuille de données des prévisions (et reporter toute autre variable qui vous intéresse, par exemple, les variables indépendantes, les variables dépendantes, la précision, etc...). Vous pouvez en outre représenter ces quantités sous forme d'histogrammes.

Pour produire une feuille de données des prévisions, cochez toutes les options du groupe Reporter les éléments suivants dans la boîte de dialogue Réseaux Bayésiens Naïfs - Résultats - onglet Base.

Cliquez ensuite sur le bouton Prévisions.

Un rapide examen de cette feuille de données nous permet d'établir que la classe Setosa est totalement séparable des classes Versicolor et Virginica, alors que ces deux dernières classes présentent un certain degré se superposition (confusion). C'est ce que nous pouvons déduire des observations mal classées, qui appartiennent à la classe Versicolor. Un examen plus poussé des niveaux de confiance confirme ce phénomène. Remarque : notre modèle de Réseaux Bayésiens Naïfs nous permet de classer Setosa avec certitude, c'est-à-dire avec une probabilité égale à 1 (ou encore avec une confiance de 100%) lorsque les observations appartiennent réellement à la classe Setosa. En revanche, ce n'est pas le cas pour les fleurs Versicolor et Virginica.

Pour visualiser ce phénomène et le chevauchement des classes, cliquez sur l'onglet Tracés et sélectionnez LONSEPAL (par exemple) dans la liste Axe X et les variables Setosa (conf.), Versicolor (conf.) et Virginica (conf.) dans la liste Axe Y.

Cliquez ensuite sur le bouton Graphiques de X et Y.

À partir de ce graphique ainsi produit, remarquez le fort niveau de confiance de Setosa lorsque l'observation appartient véritablement à cette catégorie. Comparez ceci à Versicolor et Virginica, pour lesquels il existe un degré significatif de confusion (c'est-à-dire avec une confiance du même ordre), dans la région où LONPETAL~4.5. C'est dans cette zone que se produisent les erreurs de classement.

Vous pouvez réaliser d'autres représentations graphiques des résultats en deux ou en trois dimensions pour les variables, les prévisions et la précision. Comme illustré ci-dessus, vous pouvez représenter plusieurs variables dans des nuages de points en deux dimensions.

Illustrons à présent l'effet des probabilités définies a priori pour les classes sur les prévisions. Cliquez sur l'onglet Probas a priori et sélectionnez le bouton d'option Probabilités a priori personnalisées. Cliquez sur le bouton Sélectionner afin d'accéder à la boîte de dialogue Valeurs des probabilités a priori. Modifiez les probabilités a priori des classes comme suit : Setosa = 0,5 ; Versicolor = 0,5 ; Virginica = 0,0. Cliquez sur le bouton OK afin d'appliquer ces modifications et retourner dans la boîte de dialogue des Résultats.

Cliquez maintenant sur le bouton Prévisions (dans l'onglet Base) afin de produire la feuille de données des prévisions.

Comparez cette nouvelle feuille de données à celle que nous avons produite précédemment ; vous pourrez constater que toutes les observations de la classe Virginica sont à présent (mal) classées dans la catégorie Versicolor. La raison tient aux probabilités a priori de la classe Virginica que nous avons établies à zéro, et qui interdisent toute classification des observations dans cette catégorie particulière. Cet exemple n'est bien évidemment qu'un cas d'école, avec l'une des probabilités de classes égale à zéro. D'une manière générale, une probabilité a priori importante va inciter les observations indépendantes à être classées dans la catégorie correspondante, tandis qu'à l'inverse, une probabilité a priori faible va l'en dissuader. Il est donc essentiel de choisir vos probabilités a priori avec le plus grand soin lorsque vous utilisez les Réseaux Bayésiens Naïfs.

Dans l'onglet Probas a priori, sélectionnez à nouveau le bouton d'option Probabilités a priori par défaut afin de rétablir ces probabilités a priori à leurs valeurs par défaut (c'est-à-dire proportionnellement aux effectifs des classes correspondantes dans l'échantillon d'apprentissage).

Regardons maintenant l'impact de la modification d'une variable indépendante sur les niveaux de confiance (et donc, sur les prévisions) à l'aide de l'onglet Probas a posteriori. Lorsque nous faisons varier une variable indépendante numérique spécifiquement choisie (sur l'axe x du graphique), nous devons également définir des valeurs pour les autres variables. Il s'agit de valeurs fixes, d'où le nom Valeurs fixes des variables indépendantes.

In the Independent variable field, select PLENGTH from the drop-down list.

Acceptez tous les paramètres par défaut et cliquez sur le bouton Tracé des probas a posteriori afin de produire un tracé curviligne des niveaux de confiance. Vous pouvez répéter les étapes ci-dessus pour différentes configurations et comparer les résultats.

Pour terminer, nous allons réaliser une analyse conditionnelle en utilisant les options de l'onglet Prévisions personnalisées. Nous allons ainsi définir de nouvelles observations (qui ne sont pas issues du fichier de données) et faire tourner notre modèle de Réseaux Bayésiens Naïfs, qui nous permet d'effectuer des analyses conditionnelles ad-hoc. Vous pouvez afficher la prévision du modèle (avec les valeurs indépendantes de l'observation ainsi définie) en cliquant sur le bouton Calculer les valeurs prévues, mais commençons déjà par définir notre observation fictive à l'aide du bouton Spécifier les valeurs personnalisées de l'observation à prévoir afin d'accéder à un formulaire généraliste de saisie.

Ce formulaire de saisie nous permet de spécifier les valeurs des variables indépendantes comme illustré ci-dessus. Cliquez sur OK afin de confirmer ces valeurs et retourner à la boîte de dialogue des Résultats. Cliquez ensuite sur le bouton Calculer les valeurs prévues afin de produire une feuille de données contenant les valeurs indépendantes de notre nouvelle observation, ainsi que la réponse prévue par notre modèle de Réseaux Bayésiens Naïfs.




Séparateurs à Vaste Marge (SVM): Classification

Dans cet exemple, nous allons analyser un problème de classification, c'est-à-dire un problème avec une variable dépendante catégorielle. Nous allons chercher à construire un modèle de classification par les Support Vector Machine (SVM) afin de prévoir correctement la classe d'appartenance (catégorie) d'une nouvelle observation indépendante.

Pour cet exemple, nous utiliserons le fichier d'exemple classique Iris, qui contient des informations sur trois différents types d'Iris - Versicolor, Virginica et Setosa. Les données contiennent des mesures pour quatre variables - la longueur et la largeur des sépales (LONSEPAL et LARSEPAL) ainsi que la longueur et la largeur des pétales (LONPETAL et LARPETAL). Le fichier de données Iris possède un certain nombre de caractéristiques intéressantes :

  1. L'une des classes (Setosa) peut être séparée des deux autres de façon linéaire. En revanche, les deux autres classes ne peuvent pas être séparées de façon linéaire.

  2. Il existe une certaine superposition entre les classes Versicolor et Virginica, ce qui rend impossible un taux de classification parfaite.

Fichier de données. Ouvrez le fichier de données IrisSNN.sta à 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.  

Démarrage de l'analyse. Dans le menu Statistiques - Data Mining, sélectionnez la commande Machine Learning (Bayésien, Support Vectors, Plus Proches Voisins) afin d'accéder à la boîte de dialogue Machine Learning (Panneau de Démarrage). Sélectionnez l'option Support Vector Machine et cliquez sur le bouton OK afin d'accéder à la boîte de dialogue Support Vector Machines.

Paramétrage de l'analyse. Dans l'onglet Base, cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue standard de sélection de variables. Sélectionnez la variable FLEUR comme variable Dépendante catégorielle et les variables 2-5 comme liste de Prédicteurs continus (variables indépendantes), puis cliquez sur le bouton OK.

 

À ce stade, vous pouvez modifier les spécifications de l'analyse, par exemple, la technique d'échantillonnage à utiliser pour répartir les données entre l'échantillon d'apprentissage et l'échantillon de test, les types de SVM et de noyaux, etc... Remarque : certains de ces paramètres analytiques ne sont pas disponibles jusqu'à ce que les variables soient sélectionnées.

L'un des paramètres importants à considérer est celui de la technique d'échantillonnage permettant de répartir les données dans les échantillons d'exemple et de test (dans l'onglet Échantillonnage). Bien que le choix d'une variable d'échantillonnage ne constitue pas le paramétrage par défaut (dans la mesure où votre jeu de données peut ne pas comporter de variable d'échantillonnage), il est préconisé d'utiliser cette option dans la mesure où, contrairement à l'échantillonnage aléatoire, elle permet de répartir les données sur une base déterminée, ce qui vous permet de comparer les résultats obtenus avec différents paramètres expérimentaux. Il est conseillé de toujours prévoir un échantillon de test pour évaluer la performance d'un modèle SVM sur des données inconnues.

Pour utiliser une variable d'échantillonnage afin de répartir les données en deux échantillons, sélectionnez l'onglet Échantillonnage. Dans le groupe Échantillonnage, cochez tout d'abord l'option Répartir les données en échantillons d'apprentissage et de test. Sélectionnez ensuite le bouton d'option Utiliser une variable avec identifiants d'échantillons puis cliquez sur le bouton Échantillon afin d'accéder à la boîte de dialogue Variable pour l'échantillonnage. Cliquez sur le bouton Variable avec Identifiants d'Échantillons afin d'accéder à la boîte de dialogue Spécifications de la Validation Croisée, sélectionnez la variable NN_ECH, puis cliquez sur le bouton OK afin de retourner dans la boîte de dialogue Variable pour l'échantillonnage. Dans le cadre Statut, sélectionnez le bouton d'option Actif. Double-cliquez ensuite dans le champ Code de l'échantillon d'analyse afin d'accéder à la boîte de dialogue Code de la variable, et sélectionnez le code Apprentissage comme identifiant de l'échantillon d'apprentissage (les observations de l'ensemble Apprentissage serviront d'échantillon d'apprentissage pour l'ajustement du modèle SVM), puis cliquez sur le bouton OK afin de retourner dans la boîte de dialogue Variable pour l'échantillonnage, et à nouveau sur le bouton OK pour retourner dans la boîte de dialogue Séparateurs à Vaste Marge (SVM - Support Vector Machines).

Ouvrez à présent l'onglet Validation croisée et cochez l'option Appliquer la validation croisée par v-ensembles (v-fold). Puisque le modèle SVM sélectionné est un modèle SVM pour la classification de Type 1 (sélectionné par défaut dans l'onglet SVM) seule la constante de Capacité est applicable à cette analyse. Conservez les autres options par défaut, et cliquez sur le bouton OK afin de démarrer l'apprentissage SVM (ajustement du modèle), qui se déroule en deux temps. Au cours d'une première phase, la recherche porte sur l'estimation de la constante de capacité qui permet d'obtenir la meilleure précision de classification. Lors de la seconde phase d'apprentissage, la valeur estimée de la capacité est utilisée pour l'entraînement du modèle SVM en utilisant l'intégralité de l'échantillon de test. À l'issue de ces deux phases, la boîte de dialogue Support Vector Machine - Résultats apparaît.

Étude des résultats. La boîte de dialogue des Résultats vous permet d'étudier les résultats de l'apprentissage SVM ainsi que les prévisions sous la forme de feuilles de données, rapports et graphiques.

La Boîte de Synthèse située en haut de la boîte de dialogue des Résultats, vous permet de visualiser les spécifications du modèle SVM, notamment le nombre de vecteurs de support et leur type, ainsi que les noyaux et leurs paramètres. En outre, les spécifications effectuées dans la boîte de dialogue Support Vector Machines sont également reportées, notamment la variable dépendante et la liste de variables indépendantes, ainsi que les valeurs des constantes d'apprentissage (capacité, epsilon et nu). Enfin, les résultats de la validation croisée (selon le cas) et les statistiques de la classification des échantillons d'apprentissage, de test et les deux échantillons ensemble sont également reportés.

Remarque. La première chose à regarder dans la boîte de dialogue des Résultats est l'estimation par validation croisée des constantes de l'apprentissage (capacité, epsilon et nu). Si l'une de ces valeurs est égale au maximum de l'étendue spécifiée pour la validation croisée, ce peut être le signe que l'étendue était trop faible et n'intégrait pas les valeurs optimales. Dans ce cas, cliquez sur le bouton Annuler pour revenir dans la boîte de dialogue Séparateurs à Vaste Marge (SVM - Support Vector Machines) et modifier l'étendue pour la recherche.

SVM va construire la fonction de classification au travers d'un ensemble de vecteurs de support et de coefficients. Cliquez sur le bouton Modèle afin de produire des feuilles de données de ces quantités. Ces feuilles de données permettent une étude détaillée des résultats du modèle SVM et peuvent être utilisées dans vos rapports.

D'autres informations sont accessibles par le bouton Statistiques descriptives, qui permet de produire deux feuilles de données contenant la matrice de classification et la matrice de confusion.

Vous pouvez également produire la feuille de données des prévisions dans l'onglet Prévisions personnalisées (et reporter toute autre variable susceptible de vous intéresser, par exemple, les variables indépendantes, la précision, etc..., en cochant les options respectives dans l'onglet Base). Vous pouvez également représenter ces quantités sous forme d'histogrammes.

Vous pouvez produire d'autres représentations graphiques à partir de l'onglet Tracés qui vous permet de produire des représentations en deux ou trois dimensions des variables et niveaux de confiance. Remarque : vous pouvez représenter plusieurs variables dans vos nuages de points en deux dimensions.

Par exemple, le graphique ci-dessus représente un nuage de points de la variable indépendante LONPETAL en fonction de la confiance de classification. Remarque : nous pouvons clairement séparer la classe Setosa des classes Versicolor et Virginica, mais avons en revanche davantage de difficultés pour séparer les deux dernières classes (voir la zone le long de l'axe x où ces deux classes se chevauchent de façon significative, avec des valeurs de confiance similaires). Nous retrouvons ce phénomène dans la feuille de données des Prévisions créée précédemment (aucune erreur de classement pour la Setosa mais un certain degré de confusion entre Versicolor et Virginica). Pour produire le graphique ci-dessus, sélectionnez la variable LONPETAL dans la liste Axe X et les variables Setosa (conf.), Versicolor (conf.), et Virginica (conf.) dans la liste Axe Y. Cliquez ensuite sur le bouton Graphiques de X et Y.

Enfin, vous pouvez réaliser des analyses conditionnelles dans l'onglet Prévisions personnalisées. Vous avez la possibilité de définir de nouvelles observations (qui ne sont pas issues du jeu de données) et exécuter le modèle SVM en les utilisant, ce qui vous permet de mener des analyses conditionnelles ad-hoc. Cliquez sur le bouton Spécifier les valeurs personnalisées de l'observation à prévoir afin d'accéder à un formulaire généraliste de saisie permettant de définir les données du modèle.




Séparateurs à Vaste Marge (SVM): Régression

La rubrique Séparateurs à Vaste Marge (SVM - Support Vector Machines): Classification décrit un problème de classification, c'est-à-dire un problème où la sortie est une variable catégorielle, représentant l'appartenance d'une observation à une classe donnée, parmi un ensemble de classes discrètes possibles.

Vous pouvez également utiliser le module STATISTICA SVM pour des problèmes de régression, dans lesquels la sortie est une variable numérique continue ; dans ce cas, le programme va agir comme une technique de régression non-linéaire, où la complexité de la courbe de régression non-linéaire est en fait contrôlée par le nombre de vecteurs de support, sans que l'analyste n'ait bien sûr à déterminer explicitement la forme fonctionnelle de la courbe de régression. Par conséquent, il s'agit d'une technique non-paramétrique.

Fichier de données. Cet exemple repose sur le fichier de données Poverty.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. 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. Ce fichier de données est également utilisé dans la rubrique Régression Multiple: Régression Standard.

Démarrage de l'analyse. Dans le menu Statistiques - Data Mining, sélectionnez la commande Machine Learning (Bayésien, Support Vectors, Plus Proches Voisins) afin d'accéder à la boîte de dialogue Machine Learning (Panneau de Démarrage). Sélectionnez l'option Support Vector Machine et cliquez sur le bouton OK afin d'accéder à la boîte de dialogue Support Vector Machines.

Paramétrage de l'analyse. Dans l'onglet Base, cliquez sur le bouton Variables afin d'accéder à une boîte de dialogue standard de sélection de variables.  Sélectionnez la variable PT_PAUVR comme variable Dépendante continue et toutes les autres variables du fichier de données comme liste de Prédicteurs continus (variables indépendantes), puis cliquez sur le bouton OK.

À ce stade, vous pouvez modifier les spécifications de l'analyse, par exemple, la technique d'échantillonnage à utiliser pour répartir les données entre l'échantillon d'apprentissage et l'échantillon de test, les types de SVM et de noyaux, etc... Remarque : certains de ces paramètres analytiques ne sont pas disponibles jusqu'à ce que les variables soient sélectionnées. Il est conseillé de toujours utiliser un échantillon de test afin de vérifier de façon indépendante la performance du modèle. L'option Répartir les données en échantillons d'apprentissage et de test est toujours cochée par défaut, ainsi que le bouton d'option Utiliser l'échantillonnage aléatoire dans l'onglet Échantillonnage.

Remarque. Si votre fichier de données est de très petite taille, l'effet fini de la taille des données peut être assez grand, ce qui peut gêner l'algorithme SVM pour l'obtention d'une bonne estimation des paramètres du modèle (comme la capacité et epsilon). Dans ce cas, vous pouvez utiliser la méthode de la validation croisée qui va, d'une manière générale, permettre d'obtenir des estimations plus fiables de ces paramètres.

Vous aurez peut-être remarqué les écarts importants dans l'ordre de grandeur des variables indépendantes. Ceci peut poser un certain nombre de problèmes pour construire un bon modèle de régression par les Séparateurs à Vaste Marge (SVM - Support Vector Machines). Pour éviter ce problème, vous pouvez réduire vos variables afin qu'elles s'étalent toutes sur une échelle de 0 à 1. Toutes les variables seront ainsi traitées avec la même importance. Pour ce faire, ouvrez l'onglet Apprentissage et cochez les options Réduire les variables indépendantes continues et Réduire la variable dépendante continue.

Conservez les autres options par défaut, et cliquez sur le bouton OK afin de démarrer l'apprentissage SVM (ajustement du modèle), qui se déroule en deux temps. Au cours d'une première phase, la recherche porte sur l'estimation des constantes de capacité et epsilon qui permettent d'obtenir l'erreur de régression la plus faible. Lors de la seconde phase d'apprentissage, les valeurs estimées de capacité et epsilon sont utilisées pour l'entraînement du modèle SVM en utilisant l'intégralité de l'échantillon de test.

À l'issue de ces deux phases, la boîte de dialogue Support Vector Machine - Résultats apparaît.

Étude des résultats. La boîte de dialogue des Résultats vous permet d'étudier les résultats sous forme de feuilles de données, rapports, et/ou graphiques.

La Boîte de Synthèse située en haut de la boîte de dialogue des Résultats, vous permet de visualiser les spécifications du modèle SVM, notamment le nombre de vecteurs de support et leur type, ainsi que les noyaux et leurs paramètres. En outre, les spécifications effectuées dans la boîte de dialogue Support Vector Machines sont également reportées, notamment la variable dépendante et la liste de variables indépendantes, ainsi que les valeurs des constantes d'apprentissage (capacité, epsilon et nu). Enfin, les résultats de la validation croisée (selon le cas) et les statistiques de régression des échantillons d'apprentissage, de test et les deux échantillons ensemble sont également reportés, comme par exemple l'erreur quadratique moyenne, le ratio des écarts-types et les coefficients de corrélation.

SVM va construire la fonction de régression au travers d'un ensemble de vecteurs de support et de coefficients. Cliquez sur le bouton Modèle dans l'onglet Base afin de produire des feuilles de données de ces quantités. Ces feuilles de données permettent une étude détaillée des résultats du modèle SVM et peuvent être utilisées dans vos rapports.

D'autres informations sont accessibles par le bouton Statistiques descriptives, qui permet de produire une feuille de données contenant diverses statistiques relatives à la régression, notamment le ratio des écarts-types et le coefficient de corrélation entre les valeurs observées et prévues.

Vous pouvez également produire la feuille de données des prévisions dans l'onglet Prévisions personnalisées (et reporter toute autre variable susceptible de vous intéresser, par exemple, les variables indépendantes, les résidus, etc..., en cochant les options respectives dans l'onglet Base). Vous pouvez également représenter ces variables sous forme d'histogrammes.

Vous pouvez produire d'autres représentations graphiques à partir de l'onglet Tracés qui vous permet de produire des représentations en deux ou trois dimensions des variables, des prévisions et de leurs résidus. Remarque : vous pouvez représenter plusieurs variables dans vos nuages de points en deux dimensions.

Par exemple, le graphique ci-dessus représente un nuage de points de la variable indépendante N_AGRIC en fonction des valeurs observées et prévues de la variable dépendante PT_PAUVR. D'une manière générale, ce type de graphique constitue une bonne manière de comparer les prévisions d'un modèle avec les données observées. Pour produire le graphique ci-dessus, sélectionnez la variable N_AGRIC dans la liste de l'Axe X et les variables Val. observées et Val. prévues dans la liste de l'Axe Y. Cliquez ensuite sur le bouton Graphiques des X et Y.

Remarque : vous pouvez produire ces résultats pour n'importe quel échantillon en sélectionnant simplement le bouton d'option adéquat dans le groupe Échantillon de la boîte de dialogue Support Vector Machine - Résultats.

Enfin, vous pouvez réaliser des analyses conditionnelles dans l'onglet Prévisions personnalisées. Vous avez la possibilité de définir de nouvelles observations (qui ne sont pas issues du jeu de données) et exécuter le modèle SVM. Vous pourrez ainsi réaliser différentes analyses conditionnelles ad-hoc. Cliquez sur le bouton Spécifier les valeurs personnalisées de l'observation à prévoir afin d'accéder à un formulaire généraliste de saisie permettant de produire les prévisions de votre modèle.

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.