Ce support décrit la déclaration, la définition, l’implémentation et l’instanciation des classes sous Python. La présentation est conventionnelle pour que la transposition aux autres langages ne soit pas déroutante. Python en effet intègre des particularités qui sont étonnantes je trouve. Les détailler amènerait des fausses idées qui pourraient être préjudiciables aux étudiants lorsqu’ils étudieront d’autres langages objets. J’ai donc préféré les passer sous silence.
Les mécanismes de classes telles que l’héritage et le polymorphisme sont abordés, que même que les collections d’objets.
Mots clés : langage python, classe, instance, programmation objet, champs, méthodes, héritage, polymorphisme, liste polymorphe, variable de classe
Lien : Les classes sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
Ce blog recense les documents pédagogiques consacrés à la data science, machine learning et big data. Les outils sont principalement les logiciels Tanagra, R et Python. [04 nov. 2022] Suite à la panne du serveur de fichiers, les posts antérieurs à mai 2015 ont été perdus, les liens sont cassés. J'ai dû créer un site à part avec les archives (depuis 2004) et les bons liens ; j'y fais figurer également les nouveaux tutoriels depuis mars 2024. Voir "Nouveau Site" ci-dessous. Ricco.
vendredi 31 juillet 2015
mardi 28 juillet 2015
Collection d'objets sous Python - Diapos
Ce support traite des collections d’objets. Python fournit des outils souples et faciles à utiliser. Les tableaux peuvent être de taille fixe ou variable, modifiables ou non, l’accès peut être réalisé avec un indice ou des plages d’indices. L’utilisation des indices négatifs n’est pas commun et semble, à ma connaissance, être spécifique à Python.
Le type dictionnaire permettant de s’affranchir des indices mérite une mention spéciale.
Un aparté à propos des chaînes de caractères qui constituent un cas particulier des listes est également proposé. Des méthodes qui leur sont propres ouvre la porte à des traitements très puissants (ex. recherche, comptage de séquences, etc.).
Mots clés : langage python, tuple, liste, dictionnaire, chaîne de caractères
Lien : Collections d'objets sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
Le type dictionnaire permettant de s’affranchir des indices mérite une mention spéciale.
Un aparté à propos des chaînes de caractères qui constituent un cas particulier des listes est également proposé. Des méthodes qui leur sont propres ouvre la porte à des traitements très puissants (ex. recherche, comptage de séquences, etc.).
Mots clés : langage python, tuple, liste, dictionnaire, chaîne de caractères
Lien : Collections d'objets sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
vendredi 24 juillet 2015
Fonctions et modules sous Python - Diapos
Ce support décrit l’élaboration et l’utilisation des fonctions sous Python. Les fonctions sous Python rappellent celles de R, entres autres : les paramètres ne sont pas typés, il est possible de leur attribuer des valeurs par défaut, il est possible de spécifier leur nom lors de l’appel. Le mécanisme des variables globales est un peu particulier en revanche.
Les modules permet d’améliorer la modularité des applications. Leur création et leur usage est réellement facile sous Python. Des modules standards directement utilisables sont disponibles (math, random, etc.).
L'installation et la mise en oeuvre des modules spécialisés (statistique, etc.) seront décrits dans un autre support.
Mots clés : langage python, fonctions, procédures, modules, passage de paramètres, portée des variables
Lien : Programmation modulaire sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
Les modules permet d’améliorer la modularité des applications. Leur création et leur usage est réellement facile sous Python. Des modules standards directement utilisables sont disponibles (math, random, etc.).
L'installation et la mise en oeuvre des modules spécialisés (statistique, etc.) seront décrits dans un autre support.
Mots clés : langage python, fonctions, procédures, modules, passage de paramètres, portée des variables
Lien : Programmation modulaire sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
mercredi 22 juillet 2015
Introduction à Python - Diapos
Mon premier contact avec Python date du début des années 2000. Un langage de programmation inconnu - pour moi - m’intéresse toujours. J’avoue que l’intérêt ne m’a pas forcément sauté aux yeux après avoir effectué quelques essais. Un langage objet de plus, interprété de surcroît (et l’interpréteur ne brillait pas par ses performances à cette époque), ne me semblait pas follement enthousiasmant par rapport à l’existant.
Ma curiosité a de nouveau été attisée au milieu des années 2000 lorsque je me suis intéressé au logiciel de data mining Orange. En effet, ce dernier proposait une librairie pour Python, donnant à l’utilisateur de définir des séquences de traitement évoluées permettant de mener des études complètes, en partant de la préparation des données, en passant par la construction de modèles prédictifs et leur évaluation, pour aboutir à leur déploiement.
C’était un moment crucial parce qu’à la même période, je m’interrogeais sur l’opportunité d’enseigner R en tant que langage de programmation - et non pas en tant que simple logiciel de statistique, la nuance mérite d’être soulignée - à l’Université. Finalement, j’avais fait le pari de R. Bien m’en a pris, c’est un cours qui est apprécié, et la page web dédiée est la plus visitée de mon site.
Ces dernières années, j’ai vu Python arriver (revenir) en force, avec deux caractéristiques qui m’interpellent forcément : il est devenu un des langages privilégiés pour l’enseignement de la programmation ; il est très populaire dans le domaine du data science, au point d’être positionné comme un concurrent sérieux pouvant mettre à mal la suprématie de R. Hé ben dis donc, manifestement, il est temps de reconsidérer la question attentivement.
Pourquoi cette percée de Python ? La question est vaste. Pour ma part, j’ai identifié plusieurs aspects qui m’intéressent particulièrement. (1) Il possède toutes les fonctionnalités d’un langage de programmation évolué, et il est pourtant simple à appréhender. Pour préparer mon cours et me familiariser avec le langage, je me suis échiné à refaire tous les TP de mes cours de programmation. Je les ai réalisés en un temps record alors que je ne connaissais pas du tout le langage. Ça ne trompe pas ce genre de choses. (2) Il propose aujourd’hui des bibliothèques de calcul performantes pour le traitement et l’analyse de données, en particulier pour le machine learning. Celui d’Orange que j’avais cité plus haut, mais aussi scikit-learn que je dois absolument tester dans un prochain tutoriel. Et il y en a d’autres. (3) Un élément clé dans le contexte actuel où le big data provoque la frénésie, voire l’hystérie, de tous les acteurs de la société, il permet d’implémenter des applications dans des nouveaux environnements tels que Hadoop (programmation map reduce) ou Spark (en utilisant les API de MLlib). Ouh là là, là aussi je sens que des tutoriels vont venir. (4) Enfin, par rapport à R, il présente l’avantage d’être plus généraliste, plus adapté à un cours générique d’initiation à la programmation. R en revanche me semble plus approprié lorsqu’il s’agit d’approfondir la programmation statistique.
J’ai donc décidé de passer à Python mon cours de programmation en L3 IDS. Ce premier post me donne l’opportunité de partager mes diapos pour la première séance où j’introduis les principales notions du langage, avant de lancer les étudiants sur une série d’exercices sur machine. Les étudiants sont assez hétérogènes, certains ont déjà programmé dans d’autres langages, d’autres ont eu à peine 6 heures d’algorithmie dans les jambes. Je dois schématiser autant que possible, voire simplifier, pour ne laisser personne en chemin.
D’autres diapos suivront, abordant les différents thèmes de la programmation Python.
Mots clés : langage python, types de données, affectation, calculs, structures algorithmiques, branchements conditionnels, boucles
Lien : Introduction à Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
Ma curiosité a de nouveau été attisée au milieu des années 2000 lorsque je me suis intéressé au logiciel de data mining Orange. En effet, ce dernier proposait une librairie pour Python, donnant à l’utilisateur de définir des séquences de traitement évoluées permettant de mener des études complètes, en partant de la préparation des données, en passant par la construction de modèles prédictifs et leur évaluation, pour aboutir à leur déploiement.
C’était un moment crucial parce qu’à la même période, je m’interrogeais sur l’opportunité d’enseigner R en tant que langage de programmation - et non pas en tant que simple logiciel de statistique, la nuance mérite d’être soulignée - à l’Université. Finalement, j’avais fait le pari de R. Bien m’en a pris, c’est un cours qui est apprécié, et la page web dédiée est la plus visitée de mon site.
Ces dernières années, j’ai vu Python arriver (revenir) en force, avec deux caractéristiques qui m’interpellent forcément : il est devenu un des langages privilégiés pour l’enseignement de la programmation ; il est très populaire dans le domaine du data science, au point d’être positionné comme un concurrent sérieux pouvant mettre à mal la suprématie de R. Hé ben dis donc, manifestement, il est temps de reconsidérer la question attentivement.
Pourquoi cette percée de Python ? La question est vaste. Pour ma part, j’ai identifié plusieurs aspects qui m’intéressent particulièrement. (1) Il possède toutes les fonctionnalités d’un langage de programmation évolué, et il est pourtant simple à appréhender. Pour préparer mon cours et me familiariser avec le langage, je me suis échiné à refaire tous les TP de mes cours de programmation. Je les ai réalisés en un temps record alors que je ne connaissais pas du tout le langage. Ça ne trompe pas ce genre de choses. (2) Il propose aujourd’hui des bibliothèques de calcul performantes pour le traitement et l’analyse de données, en particulier pour le machine learning. Celui d’Orange que j’avais cité plus haut, mais aussi scikit-learn que je dois absolument tester dans un prochain tutoriel. Et il y en a d’autres. (3) Un élément clé dans le contexte actuel où le big data provoque la frénésie, voire l’hystérie, de tous les acteurs de la société, il permet d’implémenter des applications dans des nouveaux environnements tels que Hadoop (programmation map reduce) ou Spark (en utilisant les API de MLlib). Ouh là là, là aussi je sens que des tutoriels vont venir. (4) Enfin, par rapport à R, il présente l’avantage d’être plus généraliste, plus adapté à un cours générique d’initiation à la programmation. R en revanche me semble plus approprié lorsqu’il s’agit d’approfondir la programmation statistique.
J’ai donc décidé de passer à Python mon cours de programmation en L3 IDS. Ce premier post me donne l’opportunité de partager mes diapos pour la première séance où j’introduis les principales notions du langage, avant de lancer les étudiants sur une série d’exercices sur machine. Les étudiants sont assez hétérogènes, certains ont déjà programmé dans d’autres langages, d’autres ont eu à peine 6 heures d’algorithmie dans les jambes. Je dois schématiser autant que possible, voire simplifier, pour ne laisser personne en chemin.
D’autres diapos suivront, abordant les différents thèmes de la programmation Python.
Mots clés : langage python, types de données, affectation, calculs, structures algorithmiques, branchements conditionnels, boucles
Lien : Introduction à Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site
mardi 14 juillet 2015
Programmation MapReduce sous R - Diapos
Tous les étés, j’essaie de faire le bilan de mes cours et je regarde ceux que je pourrais faire évoluer. Introduire le principe MapReduce dans mon cours de programmation R en Master SISE me titillait depuis un moment déjà. J’avais écrit plusieurs documents à cet effet (qui sont parmi les plus consultés sur ce site d’ailleurs). Mais convertir un tutoriel en cours n’est pas aussi simple qu’on pourrait le penser. Une séance se construit et doit suivre une certaine progression. La pire des configurations qui puisse arriver, c’est l’étudiant les bras ballants devant le PC qui me sort « je ne comprends pas du tout ce qu’on doit faire ». Ouh là là, c’est généralement très mauvais signe ce genre de choses. Un thème supplémentaire veut dire aussi qu’il faudra au mieux tasser les autres chapitres sur les séances restantes. Il faut être prudent, à vouloir tout faire, on ne fait pas grand chose souvent.
Tout cela longuement soupesé, voici les diapos que j’utiliserai pour la 7ème séance de mon cours de programmation R. Il ne me reste plus qu’à élaborer les exercices pratiques qui complètent le créneau horaire. L’idée comme d’habitude est de commencer avec des questions simples avant d’embrayer avec des sujets nettement compliqués qui devraient - sans avoir à le demander explicitement, toute l’astuce est là - emmener les étudiants à les finir en travail personnel.
Mots-clés : big data, big data analytics, mapreduce, package rmr2, hadoop, rhadoop, logiciel R, langage R
Lien : Programmation MapReduce sous R
Références :
Tutoriel Tanagra, "MapReduce avec R", février 2015.
Tutoriel Tanagra, "Programmation R sous Hadoop", avril 2015.
Tout cela longuement soupesé, voici les diapos que j’utiliserai pour la 7ème séance de mon cours de programmation R. Il ne me reste plus qu’à élaborer les exercices pratiques qui complètent le créneau horaire. L’idée comme d’habitude est de commencer avec des questions simples avant d’embrayer avec des sujets nettement compliqués qui devraient - sans avoir à le demander explicitement, toute l’astuce est là - emmener les étudiants à les finir en travail personnel.
Mots-clés : big data, big data analytics, mapreduce, package rmr2, hadoop, rhadoop, logiciel R, langage R
Lien : Programmation MapReduce sous R
Références :
Tutoriel Tanagra, "MapReduce avec R", février 2015.
Tutoriel Tanagra, "Programmation R sous Hadoop", avril 2015.
dimanche 5 juillet 2015
Big Data et Machine Learning...
... Manuel du data scientist
« Big data », « data science » sont des termes dont la popularité est croissante dixit Google Trends. « Machine learning » revient à la mode. Regroupant ces trois appellations, cet ouvrage s’inscrit à l’évidence dans l’air du temps. Son objectif est de clarifier les différentes notions qui gravitent dans la sphère « big data », un domaine que tout le monde identifie comme porteur de perspectives majeures pour les années à venir.
Il se propose de nous guider dans la compréhension des enjeux des projets de data science, en traitant des concepts théoriques (nouvelles approches de stockage des données, méthodes d’apprentissage automatique), et en décrivant les technologies et les outils. Il s’adresse aux décideurs informatiques, aux professionnels du décisionnel et des statistiques, aux architectes informatiques, aux responsables métiers.
Mots clés : big data, data science, data scientist, machine learning, statistical learning
Lien : Résumé
Références :
P. Lemberger, M. Batty, M. Morel, J.L. Rafaëlli, "Big Data et Machine Learning - Manuel du data scientist", Dunod, 2015.
« Big data », « data science » sont des termes dont la popularité est croissante dixit Google Trends. « Machine learning » revient à la mode. Regroupant ces trois appellations, cet ouvrage s’inscrit à l’évidence dans l’air du temps. Son objectif est de clarifier les différentes notions qui gravitent dans la sphère « big data », un domaine que tout le monde identifie comme porteur de perspectives majeures pour les années à venir.
Il se propose de nous guider dans la compréhension des enjeux des projets de data science, en traitant des concepts théoriques (nouvelles approches de stockage des données, méthodes d’apprentissage automatique), et en décrivant les technologies et les outils. Il s’adresse aux décideurs informatiques, aux professionnels du décisionnel et des statistiques, aux architectes informatiques, aux responsables métiers.
Mots clés : big data, data science, data scientist, machine learning, statistical learning
Lien : Résumé
Références :
P. Lemberger, M. Batty, M. Morel, J.L. Rafaëlli, "Big Data et Machine Learning - Manuel du data scientist", Dunod, 2015.
vendredi 19 juin 2015
Data Science Studio
L’évolution du métier de statisticien s’accompagne de l’arrivée de logiciels de nouvelle génération. Mon attention a été attirée récemment par le logiciel Data Science Studio (DSS) de la société Dataiku. Un logiciel de plus me direz-vous. Oui et non. Certes, la trame du processus d’analyse reste la même : accéder aux données, les préparer, créer des modèles statistiques, valider ces derniers. Mettre au point des méthodes et des implémentations performantes reste d’actualité. C’est le mode opératoire proposé qui est nouveau. L’outil fonctionne de manière comparable à Azure Machine Learning Studio de Microsoft que j’avais présenté sur ce blog bien que, fondamentalement, il soit différent parce que ne repose pas exclusivement sur le paradigme SaaS (logiciel en tant que service) .
Les traits communs de ces outils de nouvelle génération peuvent se résumer de la manière suivante (de manière non exhaustive) : architecture client-serveur, travail en ligne et pilotage via une interface web, possibilité de mettre en place un travail collaboratif, simplification à l’extrême des process, centré sur les aspects opérationnels.
Dans ce tutoriel, je présente la version Community Edition du logiciel DSS. Je me situe sur un processus « Machine Learning » d’analyse prédictive c.-à-d. développer un modèle statistique de scoring. J’explore de manière relativement sommaire les possibilités de l’outil. D’une part, parce que dans une première approche, il convient de rester schématique pour bien discerner ses principales caractéristiques. D’autre part, parce qu’il serait vain de vouloir tout résumer dans un document de quelques pages toutes ses fonctionnalités. Le lecteur curieux pourra se référer au site de documentation de l’éditeur ou aux tutoriels accessibles sur youtube.
Mots-clés : régression logistique, analyse prédictive, machine learning, arbre de décision
Lien : fr_Tanagra_DSS_dataiku.pdf
Fichier : spambase.txt
Références :
Dataiku - Data Science Studio - http://www.dataiku.com/
Tutoriel Tanagra, "Azure Machine Learning", novembre 2014.
Les traits communs de ces outils de nouvelle génération peuvent se résumer de la manière suivante (de manière non exhaustive) : architecture client-serveur, travail en ligne et pilotage via une interface web, possibilité de mettre en place un travail collaboratif, simplification à l’extrême des process, centré sur les aspects opérationnels.
Dans ce tutoriel, je présente la version Community Edition du logiciel DSS. Je me situe sur un processus « Machine Learning » d’analyse prédictive c.-à-d. développer un modèle statistique de scoring. J’explore de manière relativement sommaire les possibilités de l’outil. D’une part, parce que dans une première approche, il convient de rester schématique pour bien discerner ses principales caractéristiques. D’autre part, parce qu’il serait vain de vouloir tout résumer dans un document de quelques pages toutes ses fonctionnalités. Le lecteur curieux pourra se référer au site de documentation de l’éditeur ou aux tutoriels accessibles sur youtube.
Mots-clés : régression logistique, analyse prédictive, machine learning, arbre de décision
Lien : fr_Tanagra_DSS_dataiku.pdf
Fichier : spambase.txt
Références :
Dataiku - Data Science Studio - http://www.dataiku.com/
Tutoriel Tanagra, "Azure Machine Learning", novembre 2014.
jeudi 4 juin 2015
Extraction des règles d'association - Diapos
L’extraction des règles d’association a connu une popularité fulgurante dès leur publication par Agrawal et al. (1993). Notamment parce que la méthode répond à un réel besoin (rechercher les relations pertinentes entre les variables est la base même de la statistique exploratoire), parce qu’elle produit une connaissance facile à interpréter et, reconnaissons-le, parce qu’elle a ouvert un champ d’étude où les chercheurs ont pu s’exprimer à loisir (développement d’algorithmes efficaces pour le traitement des très gros volumes, développement des mesures pour identifier les règles les plus « intéressantes », etc.).
Dans ces diapos que j’utilise pour mes enseignements, je m’attache surtout à décrire les finalités et la démarche. L’exposé en lui-même prend peu de temps durant la séance. La suite est consacrée à la mise en œuvre sur plusieurs outils. Je présente quelques logiciels (SIPINA avec le module d’extraction de règles, TANAGRA, R avec le package « arules », SPAD), mais j’aurais tout aussi bien pu parler de KNIME, RAPIDMINER, ORANGE ou WEKA. Les logiciels diffèrent essentiellement par le format de données accepté en entrée, le paramétrage par défaut, et le mode de présentation des sorties. Un des enjeux de la séance justement est de faire travailler les étudiants sur différents outils et de comparer les règles produites. L’algorithme étant déterministe, on devrait obtenir les mêmes résultats à paramétrage égal. Les étudiants peuvent le vérifier.
Mots clés : règles d'association, itemset, itemset fréquent, itemset fréquent fermé, itemset fréquent maximal, eclat, apriori, fp-growth, support, confiance, lift, mesures d'intérêt des règles
Composants Tanagra : A PRIORI, A PRIORI MR, A PRIORI PT, FREQUENT ITEMSETS, SPV ASSOC RULE, SPV ASSOC TREE
Lien : Règles d'association
Références :
Tutoriel Tanagra, "Règles d'association - Comparaison de logiciels", novembre 2008.
Dans ces diapos que j’utilise pour mes enseignements, je m’attache surtout à décrire les finalités et la démarche. L’exposé en lui-même prend peu de temps durant la séance. La suite est consacrée à la mise en œuvre sur plusieurs outils. Je présente quelques logiciels (SIPINA avec le module d’extraction de règles, TANAGRA, R avec le package « arules », SPAD), mais j’aurais tout aussi bien pu parler de KNIME, RAPIDMINER, ORANGE ou WEKA. Les logiciels diffèrent essentiellement par le format de données accepté en entrée, le paramétrage par défaut, et le mode de présentation des sorties. Un des enjeux de la séance justement est de faire travailler les étudiants sur différents outils et de comparer les règles produites. L’algorithme étant déterministe, on devrait obtenir les mêmes résultats à paramétrage égal. Les étudiants peuvent le vérifier.
Mots clés : règles d'association, itemset, itemset fréquent, itemset fréquent fermé, itemset fréquent maximal, eclat, apriori, fp-growth, support, confiance, lift, mesures d'intérêt des règles
Composants Tanagra : A PRIORI, A PRIORI MR, A PRIORI PT, FREQUENT ITEMSETS, SPV ASSOC RULE, SPV ASSOC TREE
Lien : Règles d'association
Références :
Tutoriel Tanagra, "Règles d'association - Comparaison de logiciels", novembre 2008.
samedi 23 mai 2015
Pratique de la régression - Version 2.1
Miraculeusement, je vais disposer de plus d’heures pour le cours d’Économétrie - Modélisation statistique en L3 IDS. Les bonnes nouvelles vous donnent toujours du cœur à l’ouvrage. Je me suis demandé comment je pouvais faire évoluer ce cours pour tirer parti de cette nouvelle configuration.
La première piste est d’étoffer les TD où nous avancions un peu à marche forcée, je le reconnais. Avec des séances supplémentaires, nous pourrons aborder plus de sujets, mais aussi élargir la panoplie des logiciels utilisés. Je suis persuadé que faire travailler les étudiants sur différents outils est une très bonne manière… de les détacher des outils justement, de prendre de la hauteur pour s’attacher à l’essentiel. Quand on sait vraiment conduire, que ce soit une 2 CV ou une Lamborghini, on saura faire. Après, il y a des spécificités qu’il faut savoir exploiter, mais c’est après, lorsqu’on veut approfondir. On sait très bien qu’il y a des choses qu’on pourra faire avec une 2 CV mais pas avec une Lamborghini, et inversement.
La seconde piste est de compléter le cours en abordant /approfondissant certains thèmes. La question de la direction à prendre se pose. Beaucoup de domaines sont déjà abordés, comment élargir sans semer en route les étudiants ? Après réflexion, les pistes de l’ANOVA et ANCOVA me paraissent les plus intéressantes - et les moins déroutantes - en utilisant le prisme de la régression sur variables qualitatives, nominales et ordinales. Les étudiants verront ces sujets (ANOVA, etc.) dans la suite de leur cursus. En adoptant délibérément l’éclairage de la régression, on évite la redondance, tout en leur permettant de consolider leurs compétences en terme d’analyse.
Dans cette nouvelle version 2.1 du fascicule consacré à la « Pratique de la Régression Linéaire Multiple », je me suis donc attelé à compléter le chapitre 4 consacré à la régression sur variables exogènes qualitatives, qui passe à 57 pages maintenant. J’ai bénéficié de l’éclairage additionnel de la page Régression de l’IDRE (Institute for Digital Research and Education - UCLA) où la question de la régression sur exogènes qualitatives est brillamment exploré avec des exemples traités sous les logiciels SAS et R. C’est Byzance. J’ai intégré les thèmes les plus intéressants dans le chapitre existant (qui a été un peu réorganisé en conséquence), en reproduisant les calculs - sur les données du fascicule - sous Excel.
Mots-clés : régression sur exogènes qualitatives, anova, ancova, comparaison de moyennes, analyse des interactions, analyse de contrastes
Ouvrage : Ricco Rakotomalala, « Pratique de la Régression Multiple - Diagnostic et sélection de variables - Version 2.1 », Mai 2015.
Données : Dataset - Pratique de la régression
Références : Ma page de cours « Économétrie ».
La première piste est d’étoffer les TD où nous avancions un peu à marche forcée, je le reconnais. Avec des séances supplémentaires, nous pourrons aborder plus de sujets, mais aussi élargir la panoplie des logiciels utilisés. Je suis persuadé que faire travailler les étudiants sur différents outils est une très bonne manière… de les détacher des outils justement, de prendre de la hauteur pour s’attacher à l’essentiel. Quand on sait vraiment conduire, que ce soit une 2 CV ou une Lamborghini, on saura faire. Après, il y a des spécificités qu’il faut savoir exploiter, mais c’est après, lorsqu’on veut approfondir. On sait très bien qu’il y a des choses qu’on pourra faire avec une 2 CV mais pas avec une Lamborghini, et inversement.
La seconde piste est de compléter le cours en abordant /approfondissant certains thèmes. La question de la direction à prendre se pose. Beaucoup de domaines sont déjà abordés, comment élargir sans semer en route les étudiants ? Après réflexion, les pistes de l’ANOVA et ANCOVA me paraissent les plus intéressantes - et les moins déroutantes - en utilisant le prisme de la régression sur variables qualitatives, nominales et ordinales. Les étudiants verront ces sujets (ANOVA, etc.) dans la suite de leur cursus. En adoptant délibérément l’éclairage de la régression, on évite la redondance, tout en leur permettant de consolider leurs compétences en terme d’analyse.
Dans cette nouvelle version 2.1 du fascicule consacré à la « Pratique de la Régression Linéaire Multiple », je me suis donc attelé à compléter le chapitre 4 consacré à la régression sur variables exogènes qualitatives, qui passe à 57 pages maintenant. J’ai bénéficié de l’éclairage additionnel de la page Régression de l’IDRE (Institute for Digital Research and Education - UCLA) où la question de la régression sur exogènes qualitatives est brillamment exploré avec des exemples traités sous les logiciels SAS et R. C’est Byzance. J’ai intégré les thèmes les plus intéressants dans le chapitre existant (qui a été un peu réorganisé en conséquence), en reproduisant les calculs - sur les données du fascicule - sous Excel.
Mots-clés : régression sur exogènes qualitatives, anova, ancova, comparaison de moyennes, analyse des interactions, analyse de contrastes
Ouvrage : Ricco Rakotomalala, « Pratique de la Régression Multiple - Diagnostic et sélection de variables - Version 2.1 », Mai 2015.
Données : Dataset - Pratique de la régression
Références : Ma page de cours « Économétrie ».
Inscription à :
Articles (Atom)