Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN Initiation à l'analyse statistique des données PASEC sous le logiciel STATA Introduction Ce document est un support de formation pour un atelier d'une durée de 4 jours réalisé lors de l'atelier international du PASEC de Douala en décembre 2003. Une durée aussi courte ne peut pas amener à une maîtrise du logiciel et des méthodes d'analyse. L'objectif est autre, il s'agit, d'une part, de sensibiliser les participants à l'importance de l'analyse statistique en se fondant sur des applications concrètes ayant trait au processus d'apprentissage et, d'autre part, donner quelques clés sur les techniques d'analyse et l'interprétation des résultats. Il est toujours délicat d'approcher pour la première fois un domaine qui nécessite à la fois l'utilisation d'un logiciel spécifique et le recours aux techniques d'analyse statistique. Le risque alors peut être de faire une formation axée sur la maîtrise du logiciel en rendant l'aspect analyse accessoire ou inversement de faire une formation centrée sur l'analyse statistique en oubliant l'aspect pratique de la manipulation du logiciel. La méthode adoptée ici tente d'échapper à ces deux travers en utilisant comme fil conducteur la démarche d'analyse utilisée dans le cadre des évaluations PASEC, ce qui permet une découverte progressive du logiciel et des techniques statistiques tout en les associant à des problématiques spécifiques à ...
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
Initiation à l'analyse statistique des données PASEC sous le logiciel STATA IntroductionCe document est un support de formation pour un atelier d'une durée de 4 jours réalisé lors de l'atelier international du PASEC de Douala en décembre 2003. Une durée aussi courte ne peut pas amener à une maîtrise du logiciel et des méthodes d'analyse. L'objectif est autre, il s'agit, d'une part, de sensibiliser les participants à l'importance de l'analyse statistique en se fondant sur des applications concrètes ayant trait au processus d'apprentissage et, d'autre part, donner quelques clés sur les techniques d'analyse et l'interprétation des résultats. Il est toujours délicat d'approcher pour la première fois un domaine qui nécessite à la fois l'utilisation d'un logiciel spécifique et le recours aux techniques d'analyse statistique. Le risque alors peut être de faire une formation axée sur la maîtrise du logiciel en rendant l'aspect analyse accessoire ou inversement de faire une formation centrée sur l'analyse statistique en oubliant l'aspect pratique de la manipulation du logiciel. La méthode adoptée ici tente d'échapper à ces deux travers en utilisant comme fil conducteur la démarche d'analyse utilisée dans le cadre des évaluations PASEC, ce qui permet une découverte progressive du logiciel et des techniques statistiques tout en les associant à des problématiques spécifiques à l'analyse du processus d'apprentissage scolaire. Dans un premier temps, une brève présentation du logiciel est réalisée afin de connaître les principes élémentaires de son utilisation. Ensuite, la plupart des fichiers de données n'étant pas au format STATA, nous verrons comment importer différents types de fichiers sous STATA. On verra également comment fusionner des fichiers pour obtenir des fichiers permettant les analyses. Ces premiers aspects permettront de se familiariser avec la manipulation du logiciel avant de débuter la phase d'analyse. Nous passerons ensuite à la phase d'analyse avec une progression allant de l'analyse descriptive à l'analyse multivariée en passant par l'analyse bivariée. 1) Présentation du logiciel STATA1STATA est un logiciel réputé pour ses multiples fonctions de traitement des données et d’analyse statistique. Il dispose également d’un langage de programmation aisé et convivial. 1.1- Les types de fichiers sous STATA Nous distinguons ici trois types de fichiers : ce sont les fichiers de données, les fichiers programmes et les fichiers de résultats. L’extension des fichiers dépend du type. S’il s’agit 1et les procédés de traitement des données présentés dans ce document sont ceux disponibles sous STATALes commandes version 7.0.
1
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN d’un fichier de données, il porte l’extension.dta; les fichiers programmes2 ont l’extension .doet les fichiers de résultat ont l’extension.log. 1.2- Les fenêtres de travail Au démarrage, l’interface de STATA laisse apparaître quatre fenêtres. A partir de ces fenêtres, on peut exécuter les travaux désirés. Si on veut automatiser le travail par un programme, il faut faire appel à la fenêtre d’édition des programmes encore appelée STATA do-file editor. Le graphiques 3 suivant présente l’interface de STATA et la fenêtre d’édition des programmes. Graphique 2 : Interface de STATA Interface de STVers STATA Do-file EditorEditeur de programmes STATA
1
3
4
La fenêtre 1 (Variable) est celle dans laquelle s’affichent les noms des variables lorsqu’on charge un fichier de données. La fenêtre 2 (Stata command) est celle dans laquelle on tape les lignes de commandes que STATA doit exécuter. Si une commande est demandée, le résultat de son exécution s’affiche dans la fenêtre 3 (Stata results). La fenêtre 4 (Review) garde en rappel les dernières commandes exécutées. En plus de certaines icônes existant déjà sous office, STATA possède d’autres icônes dont les fonctionnalités sont présentées dans le tableau suivant : Icônes Fonctions Visualiser les données chargées en mémoire 2 Sous STATA, il existe des fichiers de programme d'extension .ado, mais le traitement des données tel que mené au PASEC peut se passer de ce type de fichier.
2
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
Modifier les données chargées en mémoire Ouvrir la fenêtre d’édition des programmes (Stata Do-file Editor) Exécuter le programme courant ou la partie de programme sélectionnée Interrompre l’exécution d’un programme en cours
1.3- Quelques opérateurs logiques et arithmétiques sous STATA Les paragraphes précédents ont présenté l’interface de STATA. Le tableau suivant rend compte de quelques opérateurs logiques et arithmétiques qui peuvent être utilisés. Opérateurs Rôle = Opérateur d’égalité d’expression. Il est surtout utilisé lors des calculs ou lors de la création de variables. = = Test d’égalité entre une expression et une valeur. Il est utilisé lors des comparaisons~= Différence != Différence + Addition - Soustraction * Multiplication / Division < Inférieur > Supérieur <= Inférieur ou égal >= Supérieur ou égal & Et | Ou 1.4- Les programmes STATA et la création d’un fichier de résultat Pour écrire un programme STATA, il faut se placer dans la fenêtre d'édition de programme (STATA do-file editor). L'enregistrement du programme créera un fichier avec une extension .do. Il est souhaitable de commencer chaque programme STATA par un commentaire de ce que fait le programme. Sous STATA, les commentaires sont insérés entre les symboles /* et */. Par exemple, ainsi : /* Ceci est un commentaire */ ou/*--- Ceci est un commentaire ---*/Tout ce qui apparaît entre les symboles /* et */ n’est pas considéré comme une commande par STATA, mais comme un commentaire.
3
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
Il est possible, et souhaitable, de demander à STATA de sauvegarder les résultats d’exécution d’un programme dans un fichier d’extension .log que l’on pourra ensuite lire avec les logiciels Bloc note, Worpad ouWord. Pour cela, il faut insérer la ligne de commande suivante à l’endroit à partir duquel on voudrait que les résultats soient sauvegardés (de préférence au tout début du programme) : log using C:\nomfichier3.log, replace A la fin de la partie du programme dont on souhaite sauvegarder les résultats (généralement en fin de programme), taper la ligne de commande suivante qui permet à STATA de créer le fichier : log close Pour des raisons de cohérence et afin de faciliter la recherche ultérieure des fichiers, il est recommandé de donner des noms similaires aux fichiers de données(.dta), de programme (.do) et d'exécution de résultats (.log). 2) L'utilisation et la manipulation des fichiers sous STATA Dans la mesure où l'utilisation courante de STATA nécessite la manipulation de fichiers issus d'autres logiciels comme Excel ou Access, nous avons jugé opportun ici de présenter les modalités d'importation de fichiers et de fusion des fichiers. 2.1 L'importation de fichiers Il est fondamental de comprendre que l'importation des fichiers sous STATA dépend des séparateurs qui sont utilisés dans le fichier source. Nous allons passer ici en revue les plus fréquents. Toutes les instructions utilisées dans cette partie sont consignées en annexe et correspondent au fichier initiation.do. •Importation de fichiers au format texte où les variables sont séparées par des virgules ou par des espaces. Ce type de format peut être obtenu par exemple en exportant un fichier Access en fichier texte, dans ce cas préférez les virgules comme séparateurs car elles sont moins source d'erreurs que les espaces. Pour l'importation, il faut alors utiliser la commande suivante basée sur l'exemple utilisé lors de l'atelier : * infile NUMECOLE NUMCLASS NUMELEVE / */ CM2QE__A CM2QE__B CM2QE__C CM2QE__D CM2QE__E CM2QE__F CM2QE__G /* */ CM2QE__H CM2QE__I CM2QE__J CM2QE__K CM2QE__L CM2QE__M CM2QE__N /* */ CM2QE__O CM2QE__P CM2QE__Q CM2QE__R CM2QE__S CM2QE__ Q __U /* T CM2 E */ CM2QE__V CM2QE__W CM2QE__X CM2QE__Y CM2QE__Z CM2QE_AA CM2QE_AB /* 3spécifier le chemin où STATA doit sauvegarder le fichier et le nom de ce fichier.Il s’agit ici de
4
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
/ CM2QE_AC CM2QE_AD CM2QE_AE CM2QE_AF CM2QE_AG CM2QE_AH CM2QE_AI /* * */ CM2QE_AJ CM2Q _ QE_AL CM2QE_AM CM2QE_AN CM2QE_AO CM2QE_AP /* E AK CM2 */ CM2QE_AQ CM2QE_AR CM2QE_AS CM2QE_AT CM2QE_AU CM2QE_AV CM2QE_AW /* */ CM2QE_AX /* */ using c:\pasec\2QE.txt /* Où le fichier 2QE.txt est un fichier texte utilisant comme séparateur la virgule */ Il faut signaler qu'après la commande infile il est nécessaire d'introduire tous les noms de variables du fichier source sans quoi l'importation sera incorrecte. Après toute importation, il est indispensable de vérifier que le fichier importé correspond bien au fichier source. Pour cela, le plus simple est de parcourir les données par l'intermédiaire de l'éditeur de données ( data browser). Cela permet de repérer rapidement les problèmes grossiers d'une importation ratée, toutefois il est préférable de procéder à un contrôle plus systématique en ayant recours à l'instruction codebook qui permet de décrire les variables. Exemple : codebook NUMECOLE NUMECOLE----------------------------------------------------------(unlabeled) type: numeric (float) range: [1,120] units: 1 unique values: 115 coded missing: 0 / 2610 mean: 60.4824 std. dev: 34.0263 percentiles: 10% 25% 50% 75% 90% 11 33 60 89 108 Cette commande permet de décrire la variable, ici le numéro de l'école. Le type nous indique qu'il s'agit d'une variable numérique (numeric), range nous indique que la variable prend des valeurs comprises entre 1 et 120 avec comme unité 1. Unique values nous informe qu'il y a 115 valeurs uniques c'est-à-dire 115 numéros écoles. Mean correspond à la moyenne et std. dev à l'écart type utile pour la description de variables continues comme les scores mais sans grand intérêt ici pour décrire les numéros d'école. Enfin, percentiles décrit la répartition de la population, là encore sans beaucoup d'intérêt pour cette variable. Importation de fichiers Excel • La première façon de procéder est d'enregistrer le fichier Excel en format texte (.txt) en choisissant les tabulations comme séparateurs. On utilisera alors l'instruction insheet. insheet using c:\PASEC\enseignants.txt, clear
5
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
(200 vars, 4028 obs) Après l'exécution de la commande, STATA nous indique que le fichier importé comporte 200 variables et 4028 observations, or le fichier d'origine comprend 8 variables et 499 observations.Si on effectue un codebook sur la variable identifiant, on observe les résultats suivants. identifiant ------------------------------------------------------- type: numeric (long) range: [110011,450121] units: 1 unique values: 499 coded missing: 3529 / 4028 mean: 324230 std. dev: 128068 percentiles: 10% 25% 50% 75% 90% 110581 210131 410383 430051 440691 Au lieu d'avoir 499 observations comme dans le fichier d'origine, on en a 4028 dont 3529 sont des valeurs manquantes. En fait, on a importé l'ensemble de la feuille Excel avec toutes les lignes et toutes les colonnes et pas seulement celles renseignées. Cet exemple illustre la nécessité de contrôler systématiquement le résultat des importations. Par ailleurs, cela nous donne l'occasion de voir comment se débarrasser d'observations et de variables indésirables. Pour cela il est indispensable d'identifier précisément les observations et les variables à éliminer. En ce qui concerne les variables, on observe dans la fenêtre variables que STATA a créé des variables v9 à v200 en plus des variables initiales. C'est en effet une des fonctionnalités de la commande insheet que d'affecter des noms de variables s'il n'y en a pas. En l'occurrence ici, cela se révèle inapproprié et nous allons utiliser la commande drop pour nous débarrasser de ces variables. drop v* Par cette instruction STATA va éliminer toutes les variables commençant par v. Pour ce qui est des observations en trop, elles correspondent à des valeurs manquantes. Il faut donc s'appuyer sur une variable qui n'a pas de valeurs manquantes comme c'est le cas de la variable identifiant. drop if identifiant==. describeContains data obs: 499 vars: 8
6
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
size: 7,485 (99.9% of memory free) ------------------------------------------------------------------------ storage display value variable name type format label variable label ------------------------------------------------------------------------identifiant long %12.0g IDENTIFIANT enstot byte %8.0g ENSTOT nbinst byte %8.0g NBINST nbadj byte %8.0g NBADJ nbmon byte %8.0g NBMON nbsup byte %8.0g NBSUP enshom byte %8.0g ENSHOM ensfem byte %8.0g ENSFEM ------------------------------------------------------------------------Sorted by: identifiant On constate qu'il n'y a plus que 499 observations et 8 variables comme on le souhaitait. Il existe une autre façon plus simple d'importer des données d'Excel à STATA, il s'agit du copier coller de windows. Il suffit de copier sous EXCEL les données qu'on souhaite importer puis d'aller les coller dans l'éditeur de données de STATA :
Il faut être particulièrement vigilant avec cette méthode "manuelle" car une ligne ou une colonne est vite oubliée. Une autre façon d'importer ou d'exporter des fichiers vers STATA, ou d'autres logiciels, est d'avoir recours à un logiciel de transfert comme STAT/ Transfer. Ces logiciels sont très performants et simples d'usage mais cela implique l'achat du logiciel.
7
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
2.2 La fusion de fichiers La fusion de fichiers est un aspect essentiel car incontournable pour créer des fichiers de données propres à l'analyse. En effet, dans la plupart des cas, il est nécessaire de réunir des informations issues de différentes sources. Dans le cas des données PASEC, nous avons des données de niveau élève, de niveau classe et de niveau école. Il est important de comprendre ici que nous sommes confrontés à des données hiérarchiques au sens où les élèves sont dans une classe qui elle-même est dans une école. Ainsi, tous les élèves de la classe N auront les caractéristiques de cette classe et de leur école. Deux principes doivent être connus pour fusionner des fichiers : •il est nécessaire que les fichiers possèdent une ou des variable(s) d'identification commune(s). On comprend en effet que pour que les informations relatives à une école soient affectées aux élèves de cette même école, il est indispensable que l'identification de l'école soit la même dans les deux fichiers. Si l'école n°20 dans le fichier école a un autre numéro dans le fichier élève, on ne pourra réaliser la fusion ; •Les fichiers doivent être triés en fonction de la ou des variables d'identification commune(s) afin de permettre la fusion Exemple : nous souhaitons fusionner les fichiers eleves.dta et classes.dta. La variable d'identification commune est NUMECOLE. Dans un premier temps on trie le fichier (instruction sort) classes.dta en fonction de la variable NUMECOLE : use C:\PASEC\classes.dta sort NUMECOLE save C:\PASEC\classes.dta, replace On peut ensuite vérifier dans l'éditeur de données que le fichier a été classé en fonction de la variable NUMECOLE par ordre croissant. Dans un second temps, on procède à la fusion avec la syntaxe suivante : use C:\PASEC\eleves.dta sort NUMECOLE NUMELEVE merge NUMECOLE using C:\PASEC\classes.dta Ici, après avoir ouvert le fichier eleves.dta, puis l'avoir trié (sort) on le fusionne (merge) sur la base de la variable NUMECOLE avec le fichier classes.dta. Quand on fusionne deux fichiers, il y a toujours un risque que certaines observations ne soient pas communes aux deux fichiers. Pour permettre de vérifier comment s’est déroulée la fusion, STATA crée une variable : _merge.
8
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
. codebook _merge _merge------------------------------------------------------------(unlabeled) type: numeric (byte) range: [1,3] units: 1 unique values: 3 coded missing: 0 / 2308 tabulation: Freq. Value 1 1 1 2 2306 3 Comme l’illustre notre exemple, la variable _merge peut prendre trois valeurs : 1, 2 et 3. La valeur 1 indique qu’il s’agit d’une observation présente dans le premier fichier apparaissant dans l’instruction de fusion, c'est-à-dire pour nous le fichier eleves.dta. La valeur 2 quant à elle révèle que l’observation appartient au fichier classes.dta. Enfin, la valeur 3 correspond aux observations présentent dans les deux fichiers eleves.dta et classes.dta. Pour les analyses que nous voulons réaliser, il nous faut à la fois les informations relatives aux élèves mais aussi aux classes. Il faut ici attirer l’attention sur le fait que lorsqu’on perd les informations relatives à la classe ou à l’école, tous les élèves qui étaient dans la classe sont perdus pour l’analyse faute d’informations. Voilà pourquoi les questionnaires contextuels (élèves, maîtres et directeurs) doivent faire l’objet d’une grande attention dans la phase de collecte des données. Ici les observations dont les valeurs de _merge sont différentes de 3 sont donc inutiles pour l’analyse, nous allons nous en débarrasser. drop if _merge!=3 On peut alors se débarrasser de la variable _merge désormais inutile. drop _merge Il faut ensuite sauvegarder le nouveau fichier créé suite à la fusion des deux fichiers, nous l’appellerons analyse. save C:\PASEC\analyse.dta" Nous avons maintenant un fichier avec les informations nécessaires pour mener des analyses sur les acquis scolaires des élèves. 3) L'analyse statistique des données PASEC sous STATA
9
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
Il n’est pas inutile de rappeler ici que la quasi totalité des traitements que nous allons réaliser ici peuvent être effectuer avec d’autres logiciels statistiques et ne sont pas spécifiques à STATA. Si la syntaxe diffèrera selon les logiciels la démarche d’analyse reste identique. Nous ne pourrons pas ici voir de façon très détaillée le processus d’analyse, nous verrons les principales étapes afin d’éclairer la démarche d’analyse préconisée, toutefois une présentation plus complète est fournie dans le chapitre 7 duguide pour l'évaluation des facteurs de performance à l'école primaire : manuel pratique d'évaluationque nous joignons en annexe.L’objectif des analyses réalisées dans le cadre du PASEC est d’identifier les déterminants des apprentissages et leurs poids respectifs. Il s’agit donc in fine de mener une analyse causale qui repose sur une analyse statistique multivariée. Cependant, il y a plusieurs étapes avant d’aboutir à l’analyse causale proprement dite. Nous mettrons ici l’accent sur les analyses descriptives et bivariées qui sont parties intégrante du processus d’analyse. 3.1 Le type de variables Avant de rentrer dans le processus d’analyse, il est nécessaire de considérer les catégories de variables existantes dans la mesure où elles se traitent de façon différente. On considère classiquement deux catégories de variables. Les variables discrètes ou qualitatives: elles fournissent une information sur une • caractéristique donnée comme le genre, le niveau de vie, la possession de manuels scolaires. On distingue les variables dichotomiques qui prennent seulement deux valeurs et les variables polytomiques qui prennent plus de deux valeurs. Par exemple, dans notre fichier nous avons la variable FILLE qui prend la valeur 0 quand l’élève est un garçon et 1 quand c’est une fille, il s’agit d’une variable dichotomique. Par contre, la variable NIVEAUVI, qui décrit le niveau de vie de la famille de l’élève, prend quatre valeurs 0, 1, 2 ou 3. •Les variables continues ou quantitatives: elles permettent de mesurer une grandeur comme une score à un test, l’âge, le nombre d’années d’expérience professionnelle, etc. Elles prennent généralement un grand nombre de valeurs. Selon qu’on sera confronté à l’une ou l’autre de ces catégories, les outils d’analyses requis vont changer. 3.2 La construction des variables Il s'agit d'une phase essentielle dans le traitement des données pour aboutir au fichier final d'analyse. Ce n'est pas l'objet de cet atelier que de s'attarder sur cet aspect mais il semble
10
Document de travail / Programme d'Analyse des Systèmes Educatifs de la CONFEMEN
indispensable que chacun connaisse les rudiments pour créer une variable afin de pouvoir éventuellement utiliser le logiciel ultérieurement avec d'autres données4. •Construction d'une variable à partir d'une variable continue. On suppose qu'on veut créer une variable dichotomique selon que la classe est composé de plus de 35 élèves ou non. L'instruction pour créer une variable est generate (gen). gen TCLASSE35=TCLASSE>35 Nous venons de créer une nouvelle variable TCLASSE35, qui prend la valeur 1 s'il y a plus de 35 élèves dans la classe et 0 dans le cas contraire. •Construction d'une variable à partir d'une variable discrète. A partir des variables REDAN1 (redoublement de la première année) et REDAN2 (redoublement de la 2ème année)codées 0/1, on veut créer une variable indiquant que l'élève a déjà redoublé peu importe la classe : gen REDOU=REDAN1==1|REDAN2==1 Il faut rappeler ici que STATA distingue le signe = ,(affectation d'une valeur) du signe = = qui correspond à une égalité entre deux valeurs. La nouvelle variable REDOU prend la valeur 1 quand l'élève a redoublé au moins l'une des classes (1ère 2 ouème année). Si on veut une variable indiquant que l'élève a redoublé les deux classes, alors on aura : gen REDOU=REDAN1==1&REDAN2==1 Imaginons maintenant que l'on souhaite créer une variable redoublement qui prenne les valeurs 0 si l'élève n'a jamais redoublé, 1 si l'élève a redoublé une classe et 2 si l'élève a redoublé deux classes : gen REDOU=REDAN1+REDAN2 Avec l'instruction generate, on peut additionner, soustraire, diviser ou multiplier des variables pour créer d'autres variables. Pour créer les variables de score, on additionne les variables correspondant à chaque item du test. Ces exemples sont incomplets mais permettent de se faire une idée sur la façon dont peuvent se construire les variables sous STATA. 3.3 L’analyse descriptive Comme son nom l’indique, il s’agit avant tout de décrire les données dont nous disposons. Elle peut apporter des informations importantes sur la situation du système éducatif quand l’échantillon dont on dispose est représentatif. Ce type d’analyse peut également soulever certaines questions de recherche auxquelles l’analyse causale devra répondre. Nous allons ici présenter quelques exemples sur la façon de procéder, il ne faut toutefois pas perdre de vue que l’analyse descriptive si elle n’est pas nécessairement exhaustive doit passer en revue systématiquement l’ensemble des variables d’intérêt pour une étude. Il s’agit d’un premier questionnement des données. 4des variables, on se réfèrera au chapitre 7 duPour les principes de construction guide pour l'évaluation des facteurs de performance à l'école primaire : manuel pratique d'évaluationque nous joignons en annexe ainsi qu'au document sur le traitement des données.