lundi 21 avril 2008

Programmer un composant dans TANAGRA

L’intérêt de l’ « open source » est de pouvoir intervenir dans le logiciel pour ajouter de nouvelles fonctionnalités.

Dans le cas de Tanagra, il s’agit de rajouter une nouvelle méthode de Data Mining c.-à-d. rajouter un nouveau composant dans le logiciel. Il peut profiter des calculs réalisés en amont, il peut aussi proposer des résultats réutilisables en aval. Bref, son insertion parmi les outils déjà disponibles devrait lui permettre de tirer parti au maximum de l’environnement de travail.

Dans ce didacticiel, nous détaillons les étapes pour créer un composant de calcul de la moyenne sur les variables sélectionnées. L’objectif est modeste. Mais en détaillant l’exemple, nous accédons aux principales informations qui permettront à tout programmeur de démarrer dans l’implémentation de nouvelles méthodes de traitement de données dans Tanagra.

La totalité du projet, incluant l’unité du nouveau composant et la version compilée du prototype est accessible en ligne. Le fichier de données ayant servi aux tests est intégré dans l’archive.

Lien : fr_Ajouter_Composant_Dans_Tanagra.pdf
Fichiers du projet : exemple_ajouter_composant_dans_tanagra.zip

samedi 19 avril 2008

Compiler le projet Tanagra

Ce document décrit la compilation du projet TANAGRA avec la version "Edition Personnelle" de Delphi 6.0 (version gratuite).

Les étapes sont détaillées :

1. Chargement et installation du compilateur et des patches
2. Chargement et installation des bibliothèques externes (LMD TOOLS SE et TEE CHART)
3. Préparation du répertoire de compilation
4. Organisation du code source sur le disque dur
5. Chargement du projet dans DELPHI
6. Configuration du répertoire de sortie (.exe et .dcu)
7. Compilation

Tanagra est développé avec Delphi. Pourquoi ? C’est une question qui revient souvent.

Pour pleins de raisons, la principale étant simplement les affinités personnelles. Cela fait près de 20 ans que je programme en Pascal (procédural, puis objet). DELPHI me permet de développer des applications d’excellent niveau. Je ne vois pas d’intérêt à changer pour suivre telle ou telle mode. Et puis, du coup, c’est un des très rares projets de Data Mining « open source » développé en DELPHI (le seul à ma connaissance). La grande majorité des autres projets sont développés en JAVA, qui est très bien aussi, je n’en doute pas.

Il est possible de le faire passer sur les versions plus récentes du compilateur. Un internaute m’a envoyé une version du code que l’on peut compiler avec DELPHI 7.0. Il a également substitué la bibliothèque libre (open source) JEDI à LMD TOOLS SE en reprenant la grande majorité des boîtes de dialogue. Cela concourt à une meilleure évolutivité du projet. Ce code source pour DELPHI 7.0 est accessible sur simple demande. Pour ma part, je ne l’ai pas adopté, car pour des raisons qui m’échappent totalement, JEDI pose problème à mon compilateur. Elle m’obligeait à réinstaller complètement la bibliothèque à chaque démarrage de DELPHI. Ce n’était pas tenable.

Lien : fr_Guide_Compilation_Tanagra.pdf

vendredi 18 avril 2008

Interpréter la « valeur test »

La « valeur test » est un indicateur qui permet de hiérarchiser les variables lors de la caractérisation univariée des groupes, décrites par la modalité d’une variable (ex. qu’est ce qui caractérise les personnes soufrant de telle maladie), ou issue du calcul (un groupe défini par une classification automatique par exemple).

Grosso modo, il s’agit ni plus ni moins que d’une statistique de test de comparaison de paramètres calculés dans le sous échantillon associé au groupe et dans la totalité de l’échantillon : test de comparaison de moyennes lorsque la variable est quantitative, test de comparaison de proportions lorsque la variable est catégorielle. A la différence que les données ne sont pas indépendantes, le sous échantillon constitue une fraction de l’échantillon initial.

Dans ce didacticiel, nous mettons en avant l’indicateur « valeur test » pour la caractérisation de personnes souffrant d’une maladie cardiovasculaire. Nous détaillons les calculs, suites aux demandes répétées d’utilisateurs. La mesure est peu connue, elle pourtant très pratique. Notre texte repose principalement sur descriptif, accompagné de justifications théoriques, proposé dans l’ouvrage de Lebart et al. (2000).

Mots clés : valeur test, caractérisation de classes, clustering, analyse factorielle
Composants : Group characterization
Lien : fr_Tanagra_Comprendre_La_Valeur_Test.pdf
Données : heart_disease_male.xls
Référence :
Alain MORINEAU, "Note sur la Caractérisation Statistique d'une Classe et les Valeurs-tests", Bulletin Technique du Centre de Statistique et d'Informatique Appliquées, Vol 2, no 1-2, p 20-27, 1984 (http://www.deenov.com/analyse-de-donnees/documents/article-valeur-test.aspx).
L. Lebart, A. Morineau, M. Piron, « Statistique exploratoire multidimensionnelle », Dunod, 2000 ; pages 181 à 184.

vendredi 11 avril 2008

Régression logistique ordinale

La régression logistique est une technique très populaire pour analyser les dépendances entre une variable à expliquer (dépendante, endogène) binaire et une ou plusieurs variables explicatives (indépendantes, exogènes) quantitatives et qualitatives ordinales ou nominales.

La généralisation à une variable dépendante qualitative nominale est relativement simple. On parle dans ce cas de régression logistique multinomiale.

La situation est un peu plus complexe lorsqu’il s’agit de modéliser une liaison impliquant une variable dépendante ordinale. Pléthores d’interprétations sont possibles, allant de l’impasse sur le caractère ordinal afin de revenir simplement au modèle multinomial, à l’assimilation de la variable à prédire à une variable quantitative, dans ce cas la régression linéaire multiple devrait suffire. Entre ces deux cas extrêmes existent différentes approches. Dans ce didacticiel, nous étudierons essentiellement les LOGITS adjacents et les LOGITS cumulatifs. On parle alors de régression logistique polytomique à variable dépendante ordinale.

Pour étudier ces techniques, qui ne sont pas à ce jour programmées dans Tanagra (jusqu'à la version 1.4.22 en tous les cas), nous utilisons le logiciel R, accessible librement en ligne. Il s’agit d’un logiciel de statistique disposant d’un interpréteur de commande et d’un vrai langage de programmation. Il est particulièrement performant grâce au système des packages, des modules externes compilés, qui permettent de compléter sa bibliothèque de fonctions statistiques. Dans notre étude, nous utiliserons en priorité le package VGAM, il élargit de manière significative les dispositions de R en matière de régression généralisée.

Mots clés : régression logistique polytomique, régression logistique ordinale, logiciel R
Composants : -
Lien : didacticiel_Reg_Logistique_Polytomique_Ordinale.pdf
Données : hypertension.txt
Références :
R. Rakotomalala, « Régression logistique polytomique »
A. Slavkovic, « Multinomial Logistic Regression Models – Adjacent-Category Logits - The proportional odds cumulative logit model», in « STAT 504 – Analysis of Discrete Data », Pensylvania State University, 2007.

Régression logistique binaire

La régression logistique est une technique supervisée. Elle vise à expliquer et prédire l’appartenance à une classe (groupe) prédéfinie à partir d’une série de descripteurs. Le plus souvent nous traitons une variable à prédire binaire.

La régression logistique est une technique semi-paramétrique dans le sens où les hypothèses sont émises sur les rapports de distributions conditionnelles. Elle a donc un champ d’application théorique plus large que l’analyse discriminante par exemple. Elle est adaptée entre autres aux cas où les descripteurs sont des mélanges de variables quantitatives et des indicatrices 0/1.

La régression logistique se démarque également par la richesse des interprétations des coefficients que l’on peut mettre en avant à la lecture des résultats, pour peu que l’on code de manière appropriée les variables.

Ce didacticiel montre la mise en œuvre de la régression logistique, la lecture des résultats et l’évaluation des performances en prédiction. Tout comme le didacticiel sur l’analyse discriminante (la structure de présentation est exactement la même), il est réalisé sous la forme d’une démonstration animée.

Mots clés : régression logistique, validation croisée, évaluation de l’erreur
Composants : Binary logistic regression, Cross-validation
Lien : logistic_regression.htm
Données : prematures.xls
Références :
R. Rakotomalala, « Régression logistique »
Wikipedia, « Régression logistique »

Analyse discriminante linéaire

L’analyse discriminante linéaire (ADL) est une technique supervisée. Elle vise à expliquer et prédire l’appartenance d’un individu à une classe (groupe) prédéfinie à partir d’une série de descripteurs.

L’analyse discriminante est une technique paramétrique. Elle repose sur l’hypothèse de distribution conditionnelle gaussienne des variables c.à-d. on considère que les nuages de points associés à chaque groupe sont distribués selon une loi normale multidimensionnelle. L’analyse discriminante linéaire introduit une hypothèse supplémentaire, les nuages conditionnels doivent avoir une forme identique.

On peut penser que ces hypothèses sont très restrictives, empêchant toute utilisation pratique. On se rend compte que la méthode est relativement robuste. On comprend mieux pourquoi lorsque l’on considère le problème sous un angle géométrique, l’analyse discriminante linéaire cherche avant tout à tracer une droite de séparation entre les groupes. Les hypothèses vont surtout influer sur le positionnement de la droite dans l’espace de représentation.

Avec ce didacticiel, nous dérogeons à notre schéma habituel. Plutôt que de produire un texte rédigé avec des copies d’écran (format PDF), nous montrons directement la mise en œuvre de l’analyse sous forme de démonstration animée. L’appréhension du document est un peu différente. Je pense que cette approche est complémentaire avec les PDF.

Le didacticiel montre comment introduire l’analyse discriminante, comment sélectionner manuellement les bonnes variables (avec une méthode très basique), et par la suite, comment évaluer les performances en prédiction à l’aide de la validation croisée.

Mots clés : analyse discriminante linéaire, analyse discriminante prédictive, validation croisée, évaluation de l’erreur
Composants : Linear Discriminant Analysis, Cross-validation
Lien : discriminant_analysis.htm
Données : prematures.xls
Références :
R. Rakotomalala, « Analyse discriminante linéaire »
Wikipedia, « Analyse discriminante linéaire »

mardi 8 avril 2008

Analyse de variance de Friedman

L’analyse de variance de Friedman (Friedman’s two-way ANOVA by ranks) est un test de comparaison de populations sur échantillons appariés.

Dans notre exemple, il s’agit d’apprécier les performances de conférenciers selon 3 types de supports. Chaque individu a été noté dans les 3 circonstances. On veut savoir si le support a une influence sur la qualité de la présentation.

Les échantillons ne sont pas indépendants. Nous devons en tenir compte en éliminant les disparités dues aux conférenciers. Nous avons une analyse de variance à 2 facteurs : le premier est le « type de support », le second est le « conférencier ». Si nous omettons ce second facteur c.-à-d. si nous considérons que les échantillons sont indépendants, l’ANOVA classique peut aboutir à des conclusions différentes. C’est le cas sur nos données.

Mots clés : comparaison de populations, échantillons appariés, analyse de variance, ANOVA
Composants : Friedman’s ANOVA by Rank, One-way ANOVA, Kruskal-Wallis 1-way ANOVA
Lien : fr_Tanagra_Friedman_Anova.pdf
Données : howell_book_friedman_anova_dataset.zip
Références :
R. Ramousse, M. Le Berre, L. Le Guelte, « Introduction aux Statistiques », Section 4.3, « K échantillons – Cas de k échantillons appariés »
Wikipedia, « Friedman test »

dimanche 6 avril 2008

Tests d’adéquation à la loi normale

Un test d’adéquation permet de statuer sur la compatibilité d’une distribution observée avec une distribution théorique associée à une loi de probabilité. Il s’agit de modélisation. Nous résumons une information brute, les données observées, à l’aide d’une fonction analytique paramétrée. L’estimation des valeurs des paramètres est souvent un préalable au test.

Parmi les tests d’adéquation, la conformité à la loi normale (loi de Laplace Gauss, loi gaussienne) tient une place importante. En effet, l’hypothèse de normalité sous-tend souvent de nombreux tests paramétriques. En toute rigueur, s’assurer de la compatibilité des données avec la loi normale devrait être un préalable obligatoire. Dans la pratique, fort heureusement, ce n’est pas vrai. Grâce à la notion de robustesse, les procédures statistiques restent valables même si l’on s’écarte plus ou moins des hypothèses initiales.

Dans ce didacticiel, nous montrons comment mettre en œuvre les tests de conformité à la loi normale dans Tanagra. Plusieurs procédures sont disponibles. Nous utilisons des données artificielles pour mieux situer les résultats.

Mots clés : test d’adéquation à la loi normale, conformité à la loi normale, test de Shapiro-Wilk, test de Lilliefors, test d’Anderson-Darling, test de d’Agostino
Composants : More Univariate cont stat, Normality Test
Lien : fr_Tanagra_Normality_Test.pdf
Données : normality_test_simulation.xls
Référence : R. Rakotomalala, « Tests de normalité – Techniques empiriques et tests statistiques », Université Lumière Lyon 2.

Comparaison de moyennes

Le test de comparaison de moyennes est un classique de la statistique paramétrique.

Etant entendu que les distributions sont gaussiennes, si on conclut que les moyennes sont significativement différentes, on peut en déduire que les populations parentes ne sont pas les mêmes.

La statistique du test suit une loi de Student. Les degrés de libertés dépendent de l’hypothèse d’égalité des variances dans les sous populations.

Dans ce didacticiel, nous comparons la moyenne de la consommation de véhicules selon qu’elles proviennent des USA ou du Japon. Nous rapprochons nos résultats avec ceux du logiciel du NIST qui est une référence pour les calculs scientifiques.

Mots clés : comparaison de populations, test de comparaison de moyenne, loi de Student
Composants : T-Test, T-Test Unequal Variance
Lien : fr_Tanagra_Two_Sample_T_Test_For_Equal_Means.pdf
Données : auto83b.xls
Référence : NIST/SEMATECH, « e-Handbook of Statistical Methods », Section 7.3.1 « Do two processes have the same mean ? ».

samedi 5 avril 2008

MANOVA

L’analyse de variance multivariée consiste à comparer les barycentres, des moyennes calculées sur plusieurs variables, de K populations. C’est une généralisation multidimensionnelle de l’analyse de variance.

Le plus important à retenir est qu’elle ne peut pas se décomposer en plusieurs tests unidimensionnels, pour la simple raison que les variables ne sont pas indépendantes.

Dans ce didacticiel, nous montrons la mise en œuvre du test MANOVA sur un petit fichier à deux variables tiré du livre de Tomassone et al. (1988). Les résultats montrent que, effectivement, le test MANOVA et les séquences de tests ANOVA sur chaque dimension peuvent produire des résultats contradictoires.

Notons, cela est dans le support en référence, que le test MANOVA peut être utilisé en analyse discriminante prédictive pour évaluer la séparabilité des groupes, et pour sélectionner les variables pertinentes.

Mots clés : comparaison de populations, analyse de variance multivariée
Composants : One-way ANOVA, One-Way MANOVA
Lien : fr_Tanagra_Manova.pdf
Données : tomassone_p_29.xls
Références :
F. Carpentier, « Introduction à l'Analyse de Variance Multivariée (MANOVA) » (avec illustrations sous R et STATISTICA), Université de Brest.
R. Palm, « L’analyse de le variance multivariée et l’analyse canonique discriminante : principes et applications ».
R. Rakotomalala, « Analyse linéaire discriminante ».

Analyse de variance et comparaison de variances

L’analyse de variance (ANOVA) est, comme son nom ne l’indique pas du tout, un test statistique qui vise à comparer la moyenne d’une variable dans K sous populations. Il s’agit de la généralisation du test de comparaison de 2 moyennes. Il est paramétrique, il repose de plus sur l’hypothèse d’égalité de variance.

Dans ce didacticiel, nous montrons comment mettre en œuvre l’analyse de variance dans Tanagra. Nous montrons aussi comment procéder au test de comparaisons de variances, qui devrait être un préalable systématique à l’ANOVA. Dans la pratique, ce type de test est souvent superflu, l’ANOVA est plutôt robuste, et nous pouvons en améliorer le comportement en équilibrant les sous échantillons. Enfin, les tests de comparaisons de variance eux même sont paramétriques, et certains ne sont absolument pas robustes.

Le fichier GEAR a été récupéré sur le site (NIST/SEMATECH e-Handbook of Statistical Methods). La description sur le site n’est pas très explicite quant à la nature exacte de ces données. De notre point de vue nous considérons qu’il s’agit d’évaluer des engrenages produits par 10 machines outils différentes : nous disposons donc d’un prélèvement de 10 lots de 10 unités (100 observations). Plusieurs questions peuvent être posées : (1) est-ce que le diamètre moyen des engrenages est le même d’une machine à l’autre, (2) la variabilité du diamètre est-elle la même dans chaque lot ?

L’intérêt de ce fichier est que NIST propose ses propres résultats qui font référence au sein de notre communauté.

Mots clés : comparaison de populations, analyse de variance, test de comparaison de variances, test de bartlett, test de levene, test de brown-forsythe
Composants : One-way ANOVA, Bartlett’s test, Levene’s test, Brown-Forsythe test
Lien : fr_Tanagra_Anova_and_Tests_for_Equality_of_Variances.pdf
Données : gear_data_from_nist.xls
Référence : NIST/SEMATECH, « e-Handbook of Statistical Methods », Chapitre 7 « Product and Process Comparisons ».

Tests non paramétriques

Les tests non paramétriques font partie de la statistique inférentielle. Ils ont pour particularité de ne pas effectuer d’hypothèses sur la distribution des données, ils n’ont pas besoin, de ce fait, d’estimer les paramètres de la population.

Ces tests répondent néanmoins aux problèmes classiques de tests d’hypothèses : comparaisons de populations sur échantillons indépendants, comparaison de population sur échantillons appariés, test de significativité de l’association etc. Notre implémentation repose en grande partie sur l’excellent ouvrage de Siegel et Castellan (1988).

Notons que si les tests paramétriques sont notoirement plus puissants lorsque les hypothèses de distributions sont validées, les tests non paramétriques ne sont pas pour autant mauvais dans ce cas. Nous pouvons donc les mettre en œuvre dans un contexte plus étendu. Certains, comme le test de Kuskal-Wallis, se comportent quasiment aussi bien que leur homologue paramétrique quand bien même les données seraient compatibles avec l’hypothèse de distribution des données.

Notre fichier décrit 300 ménages à l’aide de 5 variables (salaire de l’homme, salaire de la femme, revenu du ménage, type d’habitation et le fait de disposer d’un jardin ou pas). En vérité, les problèmes mis en avant dans ce didacticiel sont pour la plupart plus ou moins saugrenus, l’essentiel est de montrer la mise en œuvre des techniques sur un jeu de données. Pour la lecture et l’interprétation qualitative des résultats, nous conseillons le site web exceptionnel indiqué en référence. Il propose de plus des macros et des classeurs dédiés aux tests non paramétriques sous un tableur.

Mots clés : statistiques non paramétriques, comparaison de populations, analyse de variance, mesures d’association, test de wald et wolfowitz, test de mann et whitney, test de kruskal et wallis, corrélation, rho de spearman, tau de kendall, test des signes, test de rangs signés de wilcoxon
Composants : Mann-Whitney Comaprison, Wald-Wolfowitz Runs Test, Kruskal-Wallis 1-way ANOVA, One-way ANOVA, Spearman’s rho, Kendall’s tau, Sign Tes, Wilconxon Ranks Test, Paired T-Test
Lien : fr_Tanagra_Nonparametric_Statistics.pdf
Données : nonpametric_statistics_dataset.xls
Références :
S. Siegel, J. Castellan, « Nonparametric Statistics for the Behavioral Sciences », McGraw-Hill, 1988.
Ricco Rakotomalala, "Comparaison de populations - Tests non paramétriques".
H. Delboy, « Tests non paramétriques sous Microsoft Excel ».

Mesures d’association – Variables ordinales

La manipulation d’une variable ordinale n’est pas facile. D’un côté, il s’agit bien d’une variable qualitative, le nombre de valeurs qu’elle peut prendre est réduit. Mais à la différence des variables nominales, les modalités sont ordonnées. De l’autre, nous ne pouvons pas l’assimiler à une variable quantitative, l’amplitude des écarts n’est pas quantifiable. Il faudra tenir compte de ces contradictions lors du choix des outils destinés à extraire de l’information à partir de ces données.

Dans ce didacticiel, nous étudions la mise en œuvre de quelques mesures de dépendances entre 2 variables ordinales (Y et X) dans Tanagra. Ce document constitue le contrepoint d’un précédent didacticiel traitant des variables nominales. Le point de départ est toujours le tableau de contingence croisant les deux variables à analyser. Nous en extrayons les informations nécessaires à la construction des indicateurs. L’essence des mesures est en revanche complètement différente. Elles s’appuient sur la notion de comparaison par paires.

Nous définirons la variable Y comme la variable dépendante (expliquée) et X la variable indépendante (explicative). C’est important pour la lecture et l’interprétation des résultats, mais sans aucune incidence sur les calculs lorsque les mesures sont symétriques c.-à-d. lorsqu’elles fournissent la même valeur quand bien même le tableau de contingence serait transposé. Seul le d de Sommers, qui est une mesure asymétrique, tiendra compte explicitement du rôle des variables.

Dans la pratique, les mesures d’association pour variables sont toujours calculées à partir des effectifs du tableau de contingence. Dans ce cas, il n’est plus question d’intervertir les lignes (ou les colonnes) du tableau. Leur ordonnancement est déterminé par les modalités des variables.

Mots clés : association entre variables ordinales, tableau de contingence, gamma de goodman et kruskal, tau-c de kendall, d de sommers
Composants : Goodman Kruskal Gamma, Kendall Tau-c, Sommers d, Linear Correlation
Lien : fr_Tanagra_Measures_of_Association_Ordinal_Variables.pdf
Données : blood_pressure_ordinal_association.xls
Référence : R. Rakotomalala, « Etude des dépendances, Variables qualitatives – Tableau de contingence et mesures d’association », Université Lumière Lyon 2.

vendredi 4 avril 2008

Mesures d’association – Variables nominales

Pour quantifier le lien existant entre deux variables continues, nous utilisons généralement le coefficient de corrélation. Cet indicateur est très largement répandu, ses défauts et ses qualités sont largement connus.

Lorsque nous voulons traiter deux variables catégorielles (variables nominales), les indicateurs sont moins répandus. Le point de départ est le tableau croisant les deux variables, le tableau de contingence, il recense les effectifs pour chaque combinaison de valeurs des variables.

A partir de ce tableau, plusieurs indicateurs peuvent être calculés. Ils permettent de caractériser, de différentes manières, les liens -- les associations -- existant entre les deux variables. Nous verrons dans ce didacticiel comment calculer ces différents indicateurs avec TANAGRA.

Les variables étant nominales, nous pouvons intervertir les lignes (les colonnes) du tableau sans modifier la valeur des indicateurs que nous présentons. En revanche, selon que la mesure est symétrique ou asymétrique, la transposition du tableau a une incidence sur le résultat.

Dans une première partie, nous présentons le test d’indépendance basé sur la statistique du KHI-2. Il permet de vérifier la significativité du lien, il est assez répandu. Le KHI-2 est plus riche qu’il n’y paraît, nous montrons comment le décomposer pour identifier les principales associations dans le tableau de contingence.

Dans la seconde partie, nous nous intéressons aux mesures asymétriques. Les variables ne jouent plus le même rôle dans ce cas, nous nous servons des valeurs prises par la première variable (en colonne par exemple) pour expliquer ou prédire les valeurs prises par la seconde variable (en ligne). L’idée est de mettre en avant la causalité.

Enfin, dans la troisième et dernière partie, nous présentons les mesures partielles. L’idée est de caractériser le lien entre deux variables Y et X en contrôlant les valeurs prises par une tierce variable Z c.-à-d. caractériser le lien entre Y et X conditionnellement aux valeurs prises par Z.

Mots clés : association entre variables nominales, tableau de contingence, test d’indépendance du khi-2, contributions au khi-2, t de tschuprow, v de cramer, association asymétrique, mesures pre (proportional reduction in error), tau de goodman et kruskal, u de theil, association partielle, u de theil partiel
Composants : Contingency Chi-Square, Goodman-Kruskal Tau, Theil U, Partial Theil U, Discrete select examples
Lien : fr_Tanagra_Measures_of_Association_Nominal_Variables.pdf
Données : fuel_consumption.xls
Référence : R. Rakotomalala, « Etude des dépendances, Variables qualitatives – Tableau de contingence et mesures d’association », Université Lumière Lyon 2.

Coefficient de corrélation linéaire

Calculer un indicateur et trier selon cet indicateur fait partie des tâches récurrentes de la fouille de données. Dans ce didacticiel, nous montrons comment mettre en place rapidement le calcul du coefficient de corrélation linéaire (1) d’une variable de référence avec une liste de variables, dans le cadre de la sélection de variables explicatives d’une régression par exemple ; (2) croisé entre plusieurs variables, cela peut être utilisé pour détecter les colinéarités entre variables explicatives d’une régression.

Dans une deuxième partie, nous abordons le calcul de la corrélation partielle sur un grand nombre de variables. Pour rappel, la corrélation partielle Y,X/Z correspond au lien entre Y et X en contrôlant l’effet de Z c.-à-d. à valeur de Z constant, nous mesurons la liaison entre Y et X. Z joue le rôle de variable de contrôle, il peut y en avoir plusieurs.

La stratégie mise en avant dans Tanagra est de produire les résidus des régressions Y/Z et X/Z, puis de calculer la corrélation brute sur ces résidus. Cela nous permet de mieux organiser le diagramme de traitements. Un petit bémol cependant, une attention particulière doit être portée aux degrés de libertés du test de significativité dès lors que l’on fait intervenir une ou plusieurs variables de contrôle dans le calcul de la corrélation.

Mots clés : corrélation linéaire, corrélation partielle
Composants : Linear correlation, Residual scores
Lien : fr_Tanagra_Linear_Correlation.pdf
Données : cars_acceleration.xls
Références :
D. Garson, « Correlation », in Statnotes : Topics in Multivariate Analysis.
D. Garson, « Partial correlation », in Statnotes : Topics in Multivariate Analysis.

Régression PLS – Sélection du nombre d’axes

La sélection du nombre d’axes est un problème difficile dans la régression PLS. Ne disposant pas des outils de la statistique inférentielle, nous devons nous tourner vers les techniques de ré échantillonnage. Tanagra utilise la validation croisée pour optimiser les critères de prédiction.

Nous avons donc introduit deux approches pour la détection de la solution optimale : la première est toujours fondée sur le Q2 conformément (strictement) au descriptif dans l’ouvrage de Tenenhaus (1998) ; la seconde est une variante qui teste si la réduction du PRESS (l’erreur quadratique en validation croisée pour chaque variable TARGET) est supérieure ou non à un seuil choisi par l’utilisateur. Le seuil de 20% permet de définir un comportement raisonnable sur les données que nous avons pu étudier. Tout cela est à améliorer bien sûr, l’accès au code source vous permettra d’apporter les améliorations souhaitées.

La procédure est intégrée dans le composant PLS SELECTION de Tanagra. Il a la particularité de ne pouvoir se brancher que sur les composants PLS dans le diagramme de traitements.

Mots clés : régression pls, analyse factorielle
Composants : PLS Factorial, PLS Selection
Lien : fr_Tanagra_PLS_Selecting_Factors.pdf
Données : protien.txt
Référence :
M. Tenenhaus, « La régression PLS – Théorie et pratique », Technip, 1998 ; page 83.

jeudi 3 avril 2008

Tanagra : un logiciel open source

Ce document correspond à la première présentation du logiciel Tanagra en janvier 2004, à l’occasion d’un séminaire au sein du laboratoire ERIC.

L’idée est de décrire les enjeux et les contraintes qui pèsent sur les spécifications et la réalisation de Tanagra. Nous essayons de cerner les utilisateurs que l’on vise, les traitements types dans lesquels le logiciel peut être mis en avant, etc.

Un aspect très important est abordé lors de cet exposé : la nécessité pour les chercheurs de rendre accessibles les codes sources des prototypes servant aux publications. En effet, les développements théoriques sont souvent accompagnés d’expérimentations. Il est très important que les chercheurs puissent les reproduire, les modifier pour évaluer l’impact de tel ou tel paramétrage, les comparer avec d'autres implémentations d’un même algorithme, voire de les vérifier. Cela n’est possible que si le logiciel est en « open source ». D’une certaine manière, la publication du code sert aussi à valider les articles scientifiques.

Lien : slides_tanagra.pdf

mercredi 2 avril 2008

Régression PLS

La régression PLS peut être vue comme une alternative à la régression linéaire multiple. A la différence qu’elle est mieux régularisée, de ce fait elle sait gérer le problème de la colinéarité.

La régression PLS peut être vue également comme une technique factorielle alternative à l’analyse canonique (qui elle même est une généralisation de l’analyse en composantes principales). A la différence qu’elle est asymétrique, on essaie bien d’expliquer les valeurs prises par un groupe de variables expliquées Y, à partir des valeurs d’un groupe de variables explicatives X.

La régression PLS est une technique performante. On peut exécuter sur de grands ensembles de données, particulièrement lorsque le nombre de variables est très élevé.

On pourrait énumérer ses qualités pendant longtemps encore. Entre autres, elle propose un dispositif efficace pour traiter les données manquantes. Cette fonctionnalité n’est cependant pas intégrée dans Tanagra (qui ne gère pas du tout les données manquantes, ça doit être fait en amont).

Ce didacticiel décrit, très succinctement, la mise en œuvre du composant PLS Regression. L’accent est mis sur les différents tableaux de résultats produits par le logiciel. L’ouvrage de Tenenhaus (1998) nous a servi de référence.

Mots clés : régression pls, analyse factorielle, régression linéaire multiple
Composants : PLS Regression
Lien : fr_Tanagra_PLS.pdf
Données : orange.bdm
Références :
M. Tenenhaus, « La régression PLS – Théorie et pratique », Technip, 1998.
S. Vancolen, « La régression PLS », Université de Neuchâtel.
H. Abdi, "Partial Least Square Regression".

Règles d’association - Orange, Tanagra et Weka

Ce didacticiel décrit l’instanciation et le paramétrage des règles d’association dans les 3 logiciels.

Ils s’accordent sur un point : ils prennent en entrée des données tabulaires « individus x variables » et procèdent en interne à un codage disjonctif complet. Chaque couple « attribut = valeur » devient un item candidat à la génération des règles.

Mots clés : règles d’association
Composants : A priori
Lien : fr_Tanagra_TOW_Association_Rule.pdf
Données : vote.txt
Références :
Voir « Les règles d’association – A priori »

Règles d’association avec Apriori PT

La construction de règles d’association pose de problèmes de performances, tant en occupation mémoire qu’en temps de traitement. L’implémentation actuelle dans TANAGRA est relativement rapide, en revanche, elle est très gourmande en mémoire, au point de la saturer très rapidement dès que l’on a à produire un grand nombre de règles. De plus, l’affichage des règles en HTML est tributaire du composant d’affichage, un peu limité, au point que le temps consacré à l’affichage est parfois aussi important que le temps consacré à l’élaboration des règles.

Il fallait donc se tourner vers un module très performant de construction des règles et proposer une nouvelle fenêtre d’affichage peu sensible au nombre de règles, fussent-elles de plusieurs centaines de milliers.

Sur la création des règles, j’ai découvert les travaux de Christian BORGELT. Il propose une implémentation réellement impressionnante. Traduire le code en DELPHI m’exposait aux risques de mauvaises interprétations de son travail, et donc d’introduction d’erreurs ; le passage par des DLL est également séduisant mais m’oblige à faire un travail de traduction des structures en C vers DELPHI, toujours hasardeux, pour la définition des unités d’import. J’ai donc décidé d’inaugurer une nouvelle approche avec cette nouvelle version, l’appel à un programme externe avec passage de fichiers temporaires. La rapidité de l’ensemble dépend en grande partie du temps consacré à l’écriture et à la lecture des fichiers temporaires. Force est de constater que le travail de Borgelt est réellement impressionnant. Au final, cette approche semble viable, du moins tant qu’il n’est pas nécessaire de produire des données qui seront par la suite utilisées dans le diagramme. Nous en montrons un exemple dans ce didacticiel.

L’autre point important était de créer une fenêtre de visualisation des règles qui ne s’effondre pas dès que leur nombre excède la centaine de milliers de règles, et qui par ailleurs, comporte des fonctionnalités de tri selon différents critères. Nous avons donc élaboré un outil simple qui permet de récupérer les sorties de Borgelt et d’afficher simplement les règles dans une fenêtre conviviale.

Après les commentaires des utilisateurs, je me suis rendu compte que l’implémentation distribuée par Borgelt, intégrée dans Tanagra, ne génère des règles qu’avec un seul item dans le conséquent. La limitation est inhérente au code source, on ne peut pas la dépasser en modifiant simplement les paramétrages.

Quoiqu’il en soit, dès que la base est d’une taille relativement importante, c’est bien ce composant qu’il faut utiliser en priorité.

Mots clés : règles d’association, traitement de grandes bases
Composants : A priori PT
Lien : fr_Tanagra_A_Priori_Prefix_Tree.pdf
Données : assoc_census.zip
Références :
C. Borgelt, "A priori - Association Rule Induction / Frequent Item Set Mining"
Voir « Les règles d’association – A priori »

Règles d’association « supervisées »

Dans de très nombreuses analyses, il est souvent nécessaire de caractériser un groupe d’individus. Dans le cadre de la classification automatique par exemple, après avoir la constitution des classes, nous devons les interpréter. Il s’agit d’identifier les caractéristiques communes aux observations situées dans le même groupe. Et c’est là que les difficultés commencent…

Le composant GROUP CHARACTERIZATION joue ce rôle en calculant des statistiques descriptives comparatives entre le groupe qui nous intéresse et les autres groupes ou la totalité de l’échantillon. Bien que très instructif, cet outil est limité par le fait qu’il effectue essentiellement des comparaisons univariées, variable par variable, il ne permet pas de tenir compte des interactions entre les variables.

La seconde piste la plus souvent évoquée dans la littérature est l’analyse factorielle. Elle permet de « visualiser » les groupes dans les plans factoriels. La démarche est bien multivariée. En revanche, on se heurte à un second écueil, il faut maintenant interpréter les facteurs.

Dans ce didacticiel, nous montrons l’utilisation du composant SPV ASSOC TREE. Il permet de réaliser des caractérisations multivariées, mettant en oeuvre la conjonction de plusieurs variables. La méthode, très simple, s’appuie essentiellement sur le mécanisme des règles d’association dans lequel nous fixons la modalité que nous voulons voir dans le conséquent des règles.

Dans notre exemple, les classes sont définies a priori, elles sont désignées par une variable supplémentaire dans notre base. Elles auraient pu également, comme nous le signalons plus haut, être le produit d’un clustering en amont.

Mots clés : règles d’association, caractérisation des groupes, clustering, classification automatique
Composants : Group Characterization, Spv Assoc Tree
Lien : fr_Tanagra_Spv_Assoc_Tree.pdf
Données : vote.txt
Références :
Voir « Les règles d’association – A priori »

A PRIORI sur les bases transactionnelles

Si les règles d’association peuvent être construites à partir d’un fichier « attribut-valeur » que l’on a recodé en interne, il arrive aussi que le fichier soit binaire par nature. C'est le cas des bases transactionnelles. Dans ce contexte, le recodage n’est absolument pas nécessaire, il faut traiter le fichier tel quel en se focalisant sur la présence des items dans les transactions.

TANAGRA ne gère que les fichiers tabulaires, pour spécifier la présence ou absence d’un item par chaque transaction, on utilisera la valeur 0 (absence) et 1 (présence). Lors de l’importation, ces données étant numériques, il les importe comme une variable continue.

TANAGRA peut donc construire des règles d’association sur des variables continues, sachant qu’il interprète la valeur 0 comme une absence d’un item dans la transaction, et toute autre valeur (on s’attend à ce que ce soit 1 si le fichier est correctement construit) comme une présence.

Mots clés : règles d’association, algorithme a priori
Composants : A priori
Lien : Binary_A_Priori.pdf
Données : transactions.bdm
Références :
Voir « Les règles d’association – Algorithme A priori »

Règles d’association – Algorithme A PRIORI

L’extraction des règles d’association est une technique de data mining relativement récente (Agrawal et Srikant, 1994). Elle a été définie initialement pour trouver des co-occurrences dans les bases transactionnelles, notamment pour analyser les fameux « tickets de caisse » des grandes surfaces. On s’est rendu compte très rapidement que la démarche pouvait être étendue à l’analyse des tableaux statistiques « individus x variables ».

Si le principe de l’algorithme est assez simple, il en est tout autre en ce qui concerne son implémentation. Les principaux enjeux sont la gestion de la volumétrie : les bases à traiter sont en général très importantes ; et, a posteriori, le nombre de règles produites est très élevé, il devient vital de pouvoir les filtrer/trier avec des critères répondant directement aux besoins de l’utilisateurs.

Très rares sont les logiciels de Data Mining libres capables d’appréhender des grandes bases de données. Tanagra ne déroge pas à la règle. Les données sont chargées en mémoire, les structures intermédiaires pour l’extraction des itemsets et la production des règles sont également en mémoire. La machine est vite débordée, surtout si on paramètre mal la méthode.

Néanmoins, sur des bases relativement raisonnables, et avec un paramétrage adéquat, on peut très bien générer les règles d’association avec Tanagra. Dans un cadre pédagogique, il donne toute satisfaction.

Ce didacticiel décrit la mise en œuvre de l’algorithme sur une base « individus x variables ». Il montre l’influence du paramétrage sur le nombre de règles produites.

Mots clés : règles d’association, algorithme a priori
Composants : A priori
Lien : a_priori.pdf
Données : banque.bdm
Références :
R. Rakotomalala, « Les règles d’association ».
P.N. Tan, M. Steinbach, V. Kumar, « Introduction to Data Mining », Addison Wesley, 2006 ; chapitre 6, « Association analysis : Basic Concepts and Algorithms ».

Réseaux de neurones avec SIPINA, TANAGRA et WEKA

Les réseaux de neurones sont des techniques d’apprentissage directement inspirés de l’observation du fonctionnement du cerveau humain. Au final, il s’agit de modélisation. On essaie de calculer les paramètres d’un modèle à partir d’un ensemble de données.

Dans le cas de l’apprentissage supervisé, le perceptron multi-couches est certainement la technique la plus répandue. Il est très performant, pour peu qu’il soit bien paramétré. En revanche, il présente l’inconvénient d’être un modèle « boîte noire » c.-à-d. on ne perçoit pas, en tous les cas pas directement, le rôle des descripteurs dans la prédiction.

Dans ce didacticiel, nous montrons la mise en œuvre d’un perceptron dans 3 logiciels. Une fraction des données est réservée au calcul des coefficients, les poids synaptiques, une autre est utilisée pour en évaluer les performances. TANAGRA et WEKA fonctionnent de la même manière, l’apprentissage est lancé, l’utilisateur attend la fin des calculs. Le paramétrage est primordial dans ce cas, il faut définir une règle d’arrêt raisonnable.

Le déroulement de l’apprentissage, l’évolution de l’erreur de prédiction, est visible dans SIPINA. L’utilisateur a la possibilité d’interrompre les calculs. Lorsque par exemple il se rend compte que la courbe de l’erreur stagne sur un palier, et qu’il n’est plus nécessaire de poursuivre les itérations. C’est un plus considérable.

Nous utilisons le fichier IONOSPHERE.ARFF (source UCI IRVINE – format de données WEKA). Les données ont été d’emblée centrées et réduites pour nous affranchir des différences entre les techniques de pré-traitement mis en oeuvre par les logiciels. Le fichier comporte 351 observations, 33 descripteurs continus ; l’attribut classe est binaire.

Dans TANAGRA, nous en profitons pour comparer les performances du perceptron avec d’autres techniques (analyse discriminante linéaire, svm et régression logistique).

Mots clés : apprentissage supervisé, réseaux de neurones, perceptron multi couches, subdivision apprentissage test
Composants : Sampling, Supervised learning, Log-Reg TRIRLS, Linear Discriminant Analysis, C-SVC, Test
Lien : fr_Tanagra_TSW_MLP.pdf
Données : ionosphere.arff
Références :
R. Rakotomalala, « Réseaux de neurones artificiels – Perceptron simple et multi-couches ».
F. Denis, R. Gilleron, « Apprentissage à partir d’exemples – Notes de cours », chapitre 3, « Les réseaux de neurones »
Wikipédia, « Réseaux de neurones »

Apprentissage-test avec ORANGE, TANAGRA et WEKA

Très souvent, pour résoudre un problème d’apprentissage supervisé, nous sommes emmenés à choisir entre plusieurs algorithmes d’apprentissage. Parmi les critères d’évaluation figurent la précision des méthodes sur un échantillon test. Pour une expérimentation rigoureuse, il est fortement conseillé d’utiliser les mêmes échantillons d’apprentissage et de test, ainsi les méthodes seront directement comparables deux à deux, il est même possible de caractériser leur manière de classer, cela peut être intéressant lorsque les coûts de mauvais classement ne sont pas symétriques.

Dans ce didacticiel, nous montrons le détail des opérations sur les logiciels ORANGE, WEKA et TANAGRA. Nous verrons qu’ils procèdent avec une philosophie très différente, notamment dans la préparation des fichiers, mais au final nous obtenons des résultats similaires.

Nous avons choisi de mettre en compétition trois méthodes d’apprentissage pour illustrer notre propos : un SVM linéaire (Support Vector Machine), la régression logistique et un arbre de décision.

Nous utilisons le fichier BREAST (UCI IRVINE). Il comporte un attribut classe binaire (tumeur bénigne ou maligne), 9 descripteurs, tous continus, et 699 exemples.

Nous avons sélectionné 499 observations pour l’apprentissage, 200 pour le test. Nous utilisons la même subdivision pour nos trois logiciels, les résultats sont ainsi comparables d'un logiciel à l'autre.

Mots clés : apprentissage supervisé, arbres de décision, svm, régression logistique, évaluation des classifieurs, subdivision apprentissage test, Weka, Orange, comparaison de classifieurs
Composants : Select examples, Supervised learning, Binary logistic regression, C-RT, C-SVC, Test
Lien : fr_Tanagra_TOW_Predefined_Test_Set.pdf
Données : breast_tow.zip
Références :
R. Rakotomalala, « Méthodes de ré échantillonnage pour l’évaluation des performances ».

Arbres de décision avec ORANGE, TANAGRA et WEKA

La très grande majorité des logiciels de data mining libre intègrent au moins un algorithme d’induction des arbres de décision. Pour la simple raison que c’est une technique très populaire et, somme toute, elle est relativement facile à programmer. On aurait tort de s’en priver.

S’agissant de l’induction d’un arbre de décision, quel que soit le logiciel utilisé, nous devons impérativement passer par les étapes suivantes :

+ Importer les données dans le logiciel ;
+ Définir le problème à résoudre, c.-à-d. choisir la variable à prédire (l’attribut « classe ») et les descripteurs ;
+ Sélectionner la méthode d’induction d’arbres de décision, selon les logiciels et selon les implémentations, les résultats peuvent être différents ;
+ Lancer l’apprentissage et visualiser l’arbre ;
+ Utiliser la validation croisée pour évaluer la qualité du modèle induit.

Dans ce didacticiel, nous montrons que malgré les différences, la trame reste la même. Cela confirme l’idée qu’un bon data miner ne doit pas être dépendant de l’outil. Le plus important est de se fixer une démarche générique. La mise en œuvre d’un traitement ou d’une séquence de traitements doit obéir à des codes que l’on retrouve dans tout logiciel. Si on ne les retrouve pas, c’est le logiciel qu’il faut remettre en cause, pas l’utilisateur.

Mots clés : apprentissage supervisé, arbres de décision, évaluation des classifieurs, méthode de ré échantillonnage, validation croisée, Weka, Orange
Composants : Supervised learning, C-RT, Cross validation
Lien : fr_Tanagra_TOW_Decision_Tree.pdf
Données : heart.txt
Références :
R. Rakotomalala, " Arbres de décision ", Revue Modulad, 33, 163-187, 2005 (tutoriel_arbre_revue_modulad_33.pdf)

Courbe ROC avec ORANGE, TANAGRA et WEKA

TANAGRA, ORANGE et WEKA sont trois logiciels de data mining gratuits. S’ils poursuivent le même objectif, permettre aux utilisateurs de définir une succession de traitements sur les données, ils présentent néanmoins des différences. C’est tout à fait normal. Leurs auteurs n’ont pas la même culture informatique, cela se traduit par des choix technologiques différents ; ils n’ont pas la même culture de la fouille de données, ce qui se traduit par un vocabulaire et par un mode de présentation des résultats parfois différents.

Au-delà de leurs propres spécificités, ces outils permettent de définir les mêmes analyses et par conséquent produisent les mêmes résultats. La comparaison sera d’autant plus aisée qu’ils adoptent le même mode de représentation graphique des séquences d’opérations, à l’aide d’un graphe pour ORANGE et WEKA, à l’aide d’un arbre pour TANAGRA : chaque sommet représente un traitement, le lien entre chaque sommet représente le flux de données.

Dans ce didacticiel, nous montrons la construction de la courbe ROC à partir d’une régression logistique. Quel que soit le logiciel utilisé, nous devons impérativement passer par les étapes suivantes :

+ Importer les données dans le logiciel ;
+ Calculer les statistiques descriptives pour se donner une idée de la nature des données ;
+ Définir le problème à résoudre, c.-à-d. choisir la variable à prédire (l’attribut « classe ») et les descripteurs ;
+ Définir la modalité « positive » de la variable à prédire ;
+ Subdiviser le fichier en données d’apprentissage (70% par exemple), servant à construire le modèle de prédiction, et en données test (30 %), pour construire la courbe ROC ;
+ Choisir l’algorithme d’apprentissage, nous voulons mettre en œuvre la régression logistique, selon la méthode réellement implémentée dans le logiciel, c’est le principal point de différenciation, nous pouvons obtenir des résultats légèrement différents ;
+ Lancer l’apprentissage et visualiser les résultats ;
+ Elaborer la courbe ROC sur les données en test afin d’évaluer les performances en classement.

La progression peut ne pas être la même pour chaque logiciel. Néanmoins, à un moment ou un autre, il faudra passer par chacune des étapes ci-dessus, de manière explicite ou non, pour arriver à nos fins.

On retrouve dans un autre didacticiel l’utilisation de la courbe ROC lorsque l’on souhaite comparer les performances de classifieurs.

Mots clés : apprentissage supervisé, courbe roc, évaluation des classifieurs, Weka, Orange, subdivision apprentissage test
Composants : More Univariate cont stat, Sampling, Supervised learning, Log-Reg TRIRLS, Scoring, Roc curve
Lien : fr_Tanagra_Orange_Weka_Roc_curve.pdf
Données : ds1_10.zip
Références :
R. Rakotomalala – « Courbe ROC »
T. Fawcet – « ROC Graphs : Notes and Practical Considerations of Researchers »

Logiciels gratuits pour l’enseignement (déc.2005)

Il y a pléthore de logiciels plus ou moins gratuits de Data Mining disponibles sur le web, de qualité assez inégale. On peut légitimement se poser la question de l’opportunité de leur utilisation dans l’enseignement supérieur. Quels sont leurs avantages et leurs inconvénients pour les cours et travaux dirigés ? Pénalise-t-on les étudiants qui, par la suite, iront dans le monde professionnel et seront confrontés à des logiciels commerciaux qu’ils n’auront jamais vus à l’université ?

Pour répondre à ces interrogations, nous essayons de définir un cahier des charges des logiciels à utiliser pour l’enseignement de la fouille de données, nous en dégageons alors une série de critères que nous mettrons à contribution pour évaluer 5 logiciels totalement gratuits référencés sur le portail KDNUGGETS (ALPHA MINER, YALE, WEKA, ORANGE, TANAGRA). Nous nous pencherons plus particulièrement sur les 3 derniers et, pour donner un tour concret à l’exposé, nous accorderons une large place à l’étude de leurs fonctionnalités respectives à partir d’études de cas sur des fichiers de données.

Ce site reprend une présentation que j’ai réalisée il y a quelques années (décembre 2005). La grande majorité des commentaires émis restent d’actualité encore. J’ai noté néanmoins que dans la période récente, tant WEKA que ORANGE ont grandement amélioré leurs capacités de traitements.

Mots clés : logiciel libre de data mining, logiciel open source
Référence : R. Rakotomalala, « Les logiciels gratuits de data mining pour l’enseignement », Séminaire du Laboratoire ERIC, décembre 2005.

Arbres de régression

La régression consiste à produire un modèle qui permet de prédire ou d’expliquer les valeurs d’une variable à prédire continue (endogène) à partir des valeurs d’une série de variables prédictives (exogènes), continues ou discrètes. La régression linéaire multiple est certainement l’approche la plus connue, mais d’autres méthodes, moins connues en économétrie mais plus populaire dans la communauté de l’apprentissage automatique, permettent de remplir cette tâche.

Dans ce didacticiel nous présentons la méthode de régression par arbres de TANAGRA. La méthode implémentée est directement inspirée de CART (Breiman et al., 1984), dans sa partie régression (chapitre 8). L’arbre est élaboré en deux temps : une première phase d’expansion, pour construire l’arbre maximal ; une seconde phase de post élagage, destiné à réduire la taille de l’arbre, sans en diminuer la précision lorsqu’on la déploiera sur la population. Notre implémentation diffère légèrement dans la détection de l’arbre final. La préférence à la simplicité s’appuie sur une analyse de la courbe de la somme des carrés des résidus.

Petite particularité de ce didacticiel, nous traitons directement un fichier de données au format Weka (arff).

Mots clés : arbres de régression, arbres de décision, CART, post élagage
Composants : Regression tree
Lien : fr_Tanagra_Regression_Tree.pdf
Données : housign.arff
Référence : L. Breiman, J. Friedman, R. Olsen, C. Stone, « Classification and Regression Trees », Wadsworth International, 1984.

Points aberrants et influents dans la régression

La validation est une étape clé de la modélisation. S’agissant de la régression linéaire multiple, parmi les multiples évaluations à mettre en place figure l’analyse des résidus, plus particulièrement la détection des points aberrants et influents.

La distinction entre points aberrants et points influents n’est pas toujours comprise. Pour simplifier, nous dirons que les points aberrants correspondent à des observations hors normes, c.-à-d. ne correspondant pas à la population étudiée. Il peut s’agir d’un comportement très particulier, par exemple un senior qui se présente à l’épreuve du bac. Ces points peuvent fausser les résultats de la régression.

Les points influents correspondent aux observations qui pèsent significativement, voire exagérément, sur les calculs. Ils déterminent, dans une proportion à évaluer, les résultats de la régression. Il convient de les considérer avec précaution au moins pour interpréter correctement les coefficients obtenus. Dans certains cas, on peut considérer qu’une observation pèse trop sur la régression au point d’altérer les paramètres estimés.

Concernant la détection des points aberrants et influents dans la régression, il existe un très grand nombre de documents en ligne, de qualité assez inégale malheureusement. Nous avons donc complètement documenté les indicateurs implémentés dans Tanagra (voir références). Il est important de bien comprendre le sens à donner à ces indicateurs, et ils sont nombreux, pour interpréter correctement les résultats.

Enfin, pour éviter les confusions autour des définitions des indicateurs (la définition des résidus standardisés, studentisés, internes ou externes, est par exemple assez fluctuante d’un logiciel à l’autre), nous cadrons nos calculs par rapport à deux logiciels reconnus dans le monde scientifique, SAS et le logiciel gratuit R. Nous procèderons de la manière suivante : dans un premier temps, nous affichons les données et les résultats issus de la documentation de SAS, ils nous serviront de référence ; puis nous décrivons la procédure sous TANAGRA ; enfin, nous décrirons la démarche à suivre sous R.

Les données sont issues de la documentation de SAS, disponible en ligne. L’objectif est d’expliquer la population US (USPopulation) à partir de l’année (Year) et du carré de l’année (YearSq). Nous mettrons essentiellement l’accent sur la mise en œuvre des calculs et la comparaison de résultats dans ce didacticiel.

Mots clés : régression linéaire multiple, points influents, points aberrants, points atypiques, résidus standardisés, résidus studentisés, leverage, dffits, distance de cook, covratio, dfbetas, logiciel R
Composants : Multiple linear regression, Outlier detection, DfBetas
Lien : fr_Tanagra_Outlier_Influential_Points_for_Regression.pdf
Données : USPopulation.xls
Références :
R. Rakotomalala, « Pratique de la régression linéaire multiple – Diagnostic et sélection de variables », Université Lumière Lyon 2.
SAS STAT User’s Guide, « The REG Procedure – Predicted and Residual Values »

Colinéarité et régression

Un des plus gros écueils de la régression est la colinéarité c.-à-d. les variables exogènes sont excessivement corrélées. Les coefficients deviennent incohérents, en contradiction avec les connaissances du domaine. Des variables, a priori très importantes, paraissent non significatives, elles sont par conséquent éliminées à tort.

Il importe de déterminer s’il y a colinéarité dans la régression que nous menons. Cela se manifeste de différentes manières. Les résultats sont très instables, une petite modification des observations entraîne une forte modification des paramètres estimés. Les signes et les valeurs des paramètres sont incohérents, par rapport aux autres variables et par rapport aux connaissances du domaine. Enfin, des variables paraissent non pertinentes à cause d’une variance mal estimée. Le test de nullité des coefficients, le t de Student, renvoie des valeurs faussées. Généralement, pour détecter la colinéarité, nous nous appuyons sur des calculs simples tels que la comparaison du signe de la corrélation brute « endogène-exogène » avec le signe du coefficient dans la régression ; la comparaison du carré de la même corrélation avec le coefficient de détermination de la régression.

Par la suite, il faut proposer des solutions pour obtenir des solutions consistantes. Dans ce didacticiel, nous étudierons trois approches destinées à surmonter la colinéarité : la sélection de variables, la régression sur les composantes orthogonales, la régression PLS.

Dans le cas de la régression PLS, nous montrons comment introduire les composants qui permettent de sélectionner le bon nombre d’axes et de calculer les intervalles de confiance des coefficients. Deux problèmes difficiles, sur lesquels nous n’avons pas de solutions immédiates. Les outils proposés dans Tanagra sont basés sur des techniques de ré échantillonnage.

Mots clés : régression linéaire multiple, économétrie, colinéairité, sélection de variables, analyse en composantes principales, régression pls1
Composants : Multiple linear regression, Linear Correlation, Forward Entry Regression, Principal Component Analysis, PLS Regression, PLS Selection, PLS Conf. Interval
Lien : fr_Tanagra_Regression_Colinearity.pdf
Données : car_consumption_colinearity_regression.xls
Références :
R. Rakotomalala, « Pratique de la régression linéaire multiple – Diagnostic et sélection de variables », Université Lumière Lyon 2.
S. Vancolen, « La régression PLS », Groupe de Statistique, Université de Neuchâtel.

mardi 1 avril 2008

Rotation VARIMAX en ACP

L’ACP (analyse en composante principale) est, entre autres, une technique descriptive qui vise à projeter un nuage de points dans un espace à plus faible dimension tout en préservant la proximité des individus.

Un aspect essentiel de la méthode est l’interprétation des résultats. Pourquoi la proximité entre tel ou tel groupe d’individus dans les plans factoriels ?

Pour ce faire, nous devons interpréter les nouvelles variables, les facteurs (axes factoriels), produites par l’ACP. Il s’agit de combinaisons linéaires des variables initiales. Chaque variable apporte une certaine contribution dans l’élaboration des facteurs. Plus elle est élevée, plus elle sera déterminante dans l’interprétation.

Le cercle de corrélations est un outil privilégié pour identifier le rôle des variables dans l’élaboration des axes. C’est à ce stade souvent qu’apparaissent les principales déceptions. En effet, il n’est pas rare que les variables soient plus ou moins fortement liées avec 2 ou 3 facteurs, empêchant une association tranchée « axe-facteur » propice à l’interprétation.

Pour dépasser cet écueil, il existe des techniques de rotation d’axes. Nous avons implémenté les méthodes VARIMAX et QUARTIMAX dans Tanagra. L’idée est simple : on choisit les x premiers axes à modifier, on les fait tourner de manière à ce que les corrélations entre les variables et les axes soient le plus tranchés possibles c.-à-d. proche de +/-1 ou proche de 0. Deux contraintes fortes doivent guider les calculs : (1) l’orthogonalité des axes est conservée avec ces techniques (il existe par ailleurs des techniques qui n’intègrent pas cette contrainte) ; (2) le pourcentage d’inertie porté par les x à axes à pivoter doit être préservé.

Mots clés : analyse en composantes principales, rotation VARIMAX, rotation QUARTIMAX
Composants : Principal Component Analysis, Factor Rotation
Lien : fr_Tanagra_Pca_Varimax.pdf
Données : crime_dataset_from_DASL.xls

Arbres de classification

La classification consiste à construire des groupes homogènes d’observations, des classes, du point de vue d’une série de descripteurs de telle sorte que les observations dans les mêmes classes soient le plus similaires possible, et que les observations dans des classes différentes soient le plus dissemblables possible.

Une fois les groupes construits, il nous faut d’une part pouvoir les interpréter c.-à-d. savoir sur quelles caractéristiques les individus d’un même groupe ont été placés ensemble, qu’est-ce que différencient les groupes ; d’autre part, disposer d’une procédure d’affectation qui nous permettra de classer rapidement un nouvel individu dans un des groupes.

Les arbres de classification permettent de répondre très simplement à ces deux exigences. Le modèle de classement est représenté par un arbre de décision, chaque groupe est décrit par une règle logique, l’algorithme détecte automatiquement les variables pertinentes dans leur élaboration, l’interprétation est immédiate. L’affectation à un groupe peut être réalisée simplement en appliquant le système logique sur les descripteurs de l’observation à classer.

Cette technique est peu connue, les principales références sont à ce jour les articles de Chavent (1998) et Blockeel (1998).

Nous travaillerons sur le fichier ZOO (UCI). Il s’agit de regrouper des animaux selon leurs caractéristiques. Ils sont par ailleurs classés en 7 familles par des spécialistes. Nous vérifierons si notre classification concorde peu ou prou avec cette typologie proposée par les biologistes. Nous vérifierons également si notre classification, qui intègre quand même une contrainte forte, la construction d’un arbre logique pour représenter les classes, concorde avec les résultats produits par les méthodes classiques telles que les K-MEANS.

Mots clés : classification automatique, clustering, arbres de classification, interprétation des classes, clustering tree
Composants : Multiple Correspodance Analysis, CTP, Contingency Chi-Square, K-Means
Lien : fr_Tanagra_Clustering_Tree.pdf
Données : zoo.xls
Références :
R. Rakotomalala, « Arbres de classification ».
M. Chavent (1998), « A monothetic clustering method », Pattern Recognition Letters, 19, 989—996.
H. Blockeel, L. De Raedt, J. Ramon (1998), « Top-Down Induction of Clustering Trees », ICML, 55—63.