mercredi 29 avril 2015

Prédicteurs catégoriels en Rég. Logistique

La régression logistique vise à construire un modèle permettant de prédire une variable cible binaire à partir d’un ensemble de variables explicatives (descripteurs, prédicteurs, variables indépendantes) numériques et/ou catégorielles. Elles sont traitées telles quelles lorsque ces dernières sont numériques. Elles doivent être recodées lorsqu’elles sont catégorielles. Le codage en indicatrices 0/1 (dummy coding) est certainement la méthode la plus utilisée.

La situation se complique lorsque l’on procède à une sélection de variables. L’idée est de déterminer les prédicteurs qui contribuent significativement à l’explication de la variable cible. Il n’y a aucun problème quand nous considérons une variable numérique, elle est soit exclue soit conservée dans le modèle. Mais comment procéder lorsqu’on manipule une explicative catégorielle ? Devons-nous traiter les indicatrices associées à une variable comme un bloc indissociable ? Ou bien pouvons-nous les dissocier, en ne conservant que certaines d’entre elles ? Est-ce que cette stratégie est légitime ? Comment lire les coefficients dans ce cas.

Dans ce tutoriel, nous étudions les solutions proposées par les logiciels R 3.1.2, SAS 9.3, Tanagra 1.4.50 et SPAD 8.0. Nous verrons que les algorithmes de sélection de variables s’appuient sur des critères spécifiques selon les logiciels. Nous constaterons surtout qu’ils proposent des approches différentes lorsque nous sommes en présence des explicatives catégorielles. Cela n’est pas sans conséquence sur la qualité prédictive des modèles.

Mots-clés : régression logistique, sélection de variables, variables explicatives catégorielles, codage disjonctif complet, sas, proc logistic, logiciel R, stepaic, spad
Composants : BINARY LOGISTIC REGRESSION
Lien : fr_Tanagra_Categorical_Selection_Log_Reg.pdf
Fichier : heart-c.xlsx
Références :
R. Rakotomalala, "Pratique de la régression logistique - Régression logistique binaire et polytomique", Version 2.0, Juin 2011.
Tutoriel Tanagra, "Codage disjonctif complet", mars 2008.

lundi 6 avril 2015

Programmation R sous Hadoop

L’objectif de ce tutoriel est de montrer, in fine, la programmation sous R de l’algorithme de comptage de mots – le fameux « wordcount » – à partir d’un ensemble de fichiers stockés sur HDFS.

L’exemple « wordcount » fait référence. Il est décrit partout sur le web. Mais, à bien y regarder, les tutoriels qui le reprennent sont (très) rarement reproductibles. Les fichiers de travail ne sont pas disponibles. On ne voit pas vraiment comment on y accède avec R lorsqu’ils sont stockés sur le système de fichier HDFS. Bref, on ne peut pas faire tourner les programmes et se rendre compte réellement de leur mode de fonctionnement.

Nous allons reprendre tout cela étape par étape. Nous décrirons avec force détails chaque stade de processus, en partant de l’installation d’ un cluster hadoop mono-nœud sur une machine virtuelle jusqu’à la programmation sous R, en passant par l’installation de R et de l’environnement de programmation client – serveur RStudio Server.

Les étapes et, par conséquent les sources d’erreurs, sont nombreuses. Nous utiliserons moults copies d’écran pour appréhender concrètement chaque opération. D’où ce format de présentation inhabituel pour un tutoriel.

Mots-clés :  big data, big data analytics, mapreduce, package rmr2, package rhdfs, hadoop, rhadoop, logiciel R, rstudio, rstudio server, cloudera, langage R
Didacticiel : fr_Tanagra_Hadoop_with_R.pdf
Fichiershadoop_with_r.zip
Références :
Hugh Devlin, "Mapreduce in R", Jan. 2014.
Tutoriel Tanagra, "MapReduce avec R", février 2015.
Tutoriel Tanagra, "Programmation R sous Spark avec SparkR", mai 2016.

mercredi 1 avril 2015

Classeur économétrie

Un contact internet très récent m’a rappelé un outil que j’avais mis en ligne il y a une dizaine d’années et qui n’était pas référencée sur ce blog. Je l’avais quelque peu oublié j’avoue. A force de faire tellement de choses, je ne sais plus parfois si j’ai déjà abordé tel ou tel thème dans mes tutoriels. Heureusement, la recherche par mots-clés sur ce site me permet de me repérer rapidement.

L’outil en question est un classeur Excel dédié à la régression linéaire multiple. Il a été programmé par Mlle NGUYEN LAO Bao Truc, étudiante de notre département informatique et statistique, alors en stage à l’été 2005. Il reprend dans les grandes lignes le contenu de mon cours d’économétrie de Licence L3 Informatique décisionnelle et statistique.

Ainsi, les principaux résultats que la macro produit à partir d’un tableau individus - variables sont : calcul des statistiques descriptives, estimation des coefficients, élaboration du tableau d'analyse de variance, test de significativité globale du modèles, test de significativité individuelle des coefficients, analyse des résidus, détection des points atypiques et influents, détection de la colinéarité.

L’outil n’est pas une macro complémentaire à proprement parler. Il faut copier et coller vos données dans la feuille principale du classeur. Le transformer en add-in générique est d’ailleurs une extension qui peut s’avérer intéressante. Il faudrait le compléter avec un dispositif - boîte de dialogue de paramétrage par exemple - permettant de sélectionner les données, où qu’elles soient situées dans un classeur quelconque, de spécifier les paramètres de l’analyse (niveau de confiance), etc. Avis aux férus de programmation VBA.

Mots-clés : régression linéaire simple, régression linéaire multiple, économétrie, classeur excel, macro-complémentaire, add-in
Didacticiel : Classeur régression - Manuel de l'utilisateur
Classeur Excel : Regression_L3_IDS.xls
Référence :
Ricco Rakotomalala, "Cours économétrie - L3 IDS", Département Informatique et Statistique, Université Lyon 2.