vendredi 30 décembre 2011

Connexion entre R et Excel via RExcel

Le couplage entre un logiciel spécialisé de data mining et un tableur est un argument certain pour la praticabilité du premier. Quasiment tout le monde sait manipuler un tableur, ne serait-ce que pour ouvrir un fichier de données et en visualiser le contenu. De même, les opérations de vérification, les calculs statistiques simples, les transformations de données, sont très facilement réalisables dans un tableur. D’ailleurs, un signe qui ne trompe pas, outre les enquêtes du site KDNUGGETS qui montre la popularité d’Excel auprès des data miners, tous les logiciels dignes de ce nom savent importer directement les fichiers au format Excel.

Très récemment, un étudiant me demandait s’il était possible de réaliser des échanges de données à la volée entre R et Excel. L’enjeu n’est pas tant l’importation des données au format Excel, des packages s’en chargent très bien (le package xlsx par exemple), mais de disposer des fonctionnalités simplifiées de transfert entre Excel et R, que ce soit pour les data frame (ensemble de données) ou, plus généralement, pour tout vecteur et matrice de données. En cherchant un peu, très rapidement, la réponse a été oui. RExcel répond exactement à ce cahier des charges. En y regardant de plus près, je me suis même rendu compte que la solution proposée est de très grande qualité et va nettement au-delà du simple échange de vecteurs de valeurs.

Nous présentons donc la bibliothèque RExcel dans ce tutoriel. Nous nous contenterons de décrire le transfert des données. Nous ferrons un très rapide tour d’horizon des autres fonctionnalités dans la conclusion.

Mots clés : importation des données, fichier excel, xls, xlsx, connexion, macro complémentaire, addin, add-in, add-on, régression linéaire multiple, logiciel R
Composants : lm, stepAIC, predict
Lien : fr_Tanagra_RExcel.pdf
Donnéesventes_regression_rexcel.zip
Références :
T. Baier, E. Neuwirth, "Powerful data analysis from inside your favorite application"

mardi 27 décembre 2011

L'add-in Tanagra pour Excel 2010 - 64 bits

La macro complémentaire « Tanagra.xla » actuelle fonctionne pour les versions 32 bits d’Excel (jusqu’à Excel 2010). Quelle que soit la version de Windows, y compris les versions 64 bits de Windows (ma configuration actuelle est un Windows 7 version 64 bits, version française).

Elle ne fonctionne pas en revanche lorsqu’il s’agit de lancer de connecter Tanagra avec la version 64 bits d’Excel 2010. Il faut la modifier. Dans ce didacticiel, nous montrons la procédure à suivre.

Attention, les copies d’écran ont été réalisées à l’aide d’Excel 2007, néanmoins les menus devraient être à peu près les mêmes sous Excel 2010.

Un grand merci à Mme Nathalie Jourdan-Salloum de m’avoir signalé le problème et de m’avoir indiqué la solution.

Mots clés : importation des données, fichier excel, macro-complémentaire, add-in, addin, add-on, xls, xlsx
Lien : fr_Tanagra_Addin_Excel_64_bit.pdf
Références :
Tanagra, "L'add-in Tanagra pour Excel 2007 et 2010".
Tanagra, "Importation fichier XLS (Excel) - Macro complémentaire".

samedi 24 décembre 2011

Données manquantes en déploiement

Le traitement des valeurs manquantes est un problème difficile, maintes fois étudié lorsqu’il s’agit d’analyser son impact sur les caractéristiques du modèle prédictif élaboré à partir des données d’apprentissage. Nous avons mené une expérimentation récemment. Il s’agissait de comparer les mérites respectifs des différentes approches (suppression de lignes ou imputation) sur les performances de la régression logistique.

Mais qu’en est-il lors du déploiement d’un modèle ? Curieusement, les écrits sont rares, voire très rares sur le sujet. Pourtant le problème est d’importance. Imaginons une situation concrète. Nous avons construit un super modèle à l’aide de la régression logistique. Nous l’intégrons dans notre système d’information. Une fiche client arrive, nous souhaitons le scorer pour connaître son appétence à un nouveau produit. Et là, patatras, la personne n’a pas mentionné son salaire dans sa fiche. Or, cette variable figure dans votre équation. Que faire ?

Dans ce tutoriel, nous supposons que le modèle prédictif a été construit selon un processus classique. La question des données manquantes n’est pas posée pour l’apprentissage. En revanche, elle est posée lors du déploiement. Nous souhaitons classer des individus dont la description est incomplète. Nous comparerons alors deux approches de substitution – l’une univariée, l’autre multivariée – de valeurs manquantes pour le déploiement. Nous montons une expérimentation sous R pour évaluer empiriquement leurs performances respectives sur plusieurs bases de données benchmark bien connues de la communauté du Data Mining.

Nous nous plaçons dans un cadre spécifique dans ce tutoriel : le modèle prédictif est issu de la régression logistique ; toutes les variables prédictives sont quantitatives ; la probabilité d'apparition d'une valeur manquante est la même pour toutes les variables décrivant l'individu à traiter.

Mots clés : données manquante, données manquantes, déploiement, classement, régression logistique, logiciel r, glm, lm, NA
Composants : Binary Logistic Regression
Lien : fr_Tanagra_Missing_Values_Deployment.pdf
Données et script R : md_logistic_reg_deployment.zip
Références :
Howell, D.C., "Treatment of Missing Data".
M. Saar-Tsechansky, F. Provost, “Handling Missing Values when Applying Classification Models”, JMLR, 8, pp. 1625-1657, 2007.

samedi 3 décembre 2011

Données manquantes - Régression logistique

L’appréhension des données manquantes est un problème difficile. Non pas à cause de sa gestion informatique qui est relativement simple, il suffit de signaler les valeurs manquantes par un code spécifique, mais plutôt à cause des conséquences de leur traitement (suppression des lignes ou des colonnes du fichier ; ou remplacement par une valeur calculée à partir de observations disponibles, on parle alors d’imputation) sur les caractéristiques des modèles élaborés.

Nous en avions parlé dans un précédent document. Il s’agissait alors d’étudier l’impact des différentes techniques de traitement de valeurs manquantes sur les arbres de décision construits avec la méthode C4.5 (Quinlan, 1993)  dans le logiciel Sipina. Aujourd’hui, nous réitérons l’analyse en étudiant leur influence sur les résultats de la régression logistique. Nous utiliserons principalement le logiciel R 2.13.2, avec la procédure glm(.). Par la suite, nous examinerons le comportement des outils proposés dans des logiciels tels qu’Orange 2.0b, Knime 2.4.2 et RapidMiner 5.1 placés dans un contexte identique.

Nous nous plaçons dans la configuration suivante dans ce tutoriel : (1) les valeurs manquantes sont MCAR, nous avons écrit un programme qui retire de manière complètement aléatoire les valeurs dans l’échantillon d’apprentissage ; (2) nous appliquons la régression logistique sur les données d’apprentissage post-traitées ; (3) nous évaluons les différentes techniques de traitement des données manquantes en observant le taux de bon classement (ou taux de succès) du modèle sur un échantillon test à part qui, lui, ne comporte aucune valeur manquante.

Mots clés : donnée manquante, données manquantes, valeurs manquantes, régression logistique, listwise deletion, imputation, missing values, missing data, logiciel R, glm
Lien : fr_Tanagra_Missing_Values_Imputation.pdf
Données et script R : md_experiments.zip
Références :
Howell, D.C., "Treatment of Missing Data".
Allison, P.D. (2001), « Missing Data ». Sage University Papers Series on Quantitative Applications in the Social Sciences, 07-136. Thousand Oaks, CA : Sage.
Little, R.J.A., Rubin, D.B. (2002), « Statistical Analysis with Missing Data », 2nd Edition, New York : John Wiley.