Module 2
Transcription
Module 2
IMT 3 – Analyser des données d’enquêtes pour évaluer les conditions du marché du travail et les progrès en matière de travail décent ************* MODULE 2: Introduction aux logiciels statistiques - Initiation à STATA 1. Différentes versions de STATA et leurs limites Il existe plusieurs versions de STATA, STATA SE (Special Edition), STATA MP qui est une version de STATA SE compatible avec des ordinateurs dotés de multiprocesseurs ou de multicoeurs, Intercooled STATA et Small STATA. STATA est disponible pour toutes les versions modernes de Windows, et pour Unix et Mac OS. Limites des différentes versions de STATA: Nombre de variables maximum Nombre d’observations maximum (limité par la mémoire vive du PC) Matrices Small STATA 99 Intercooled STATA 2,047 STATA/SE et /MP 32,767 environ 1,000 2,147,483,647 2,147,483,647 40x40 800x800 11,000x11,000 2. Barre d’outils et fenêtre de STATA 10 Au démarrage de STATA pour Windows, vous verrez les fenêtres suivantes : - La fenêtre Command où vous tapez les commandes STATA, La fenêtre Results où les résultats STATA sont présentés, La fenêtre Review où les commandes précédentes sont présentées, Et la fenêtre Variables qui liste toutes les variables présentes dans la base de données en cours d’utilisation. 1 Open : pour ouvrir une base de données STATA, cliquez sur Save : pour enregistrer une base de données, cliquez sur Print : pour imprimer le contenu de la fenêtre active, cliquez sur Log : pour démarrer/arrêter/suspendre/reprendre un fichier log, cliquez sur Viewer : pour ouvrir une fenêtre de visualisation, ou l’amener au 1er plan, cliquez sur Graph : pour ouvrir une fenêtre graphique, ou l’amener au premier plan, cliquez sur Do-file editor : pour ouvrir l’éditeur de do-file, ou l’amener au premier plan, cliquez sur Data editor : pour ouvrir l’éditeur de données, ou l’amener au premier plan, cliquez sur Data browser : pour ouvrir le navigateur de données, ou l’amener au premier plan, cliquez sur More : pour continuer quand en pause lors d’une sortie de résultats, cliquez sur Break : pour interrompre la tâche courante, cliquez sur 2 3. Ouvrir des fichiers Pour ouvrir un fichier : use filename, clear use varlist using filename, clear données) (pour une sous-partie de la base de Parfois, vous verrez le message no room to add more observations ou no room to add more variables. Cela arrive quand la mémoire attribuée à STATA est insuffisante. 4. Mémoire Pour modifier la mémoire attribuée à STATA: (x=b, k, m, g. b pour bytes, k pour kilobytes, m pour megabytes, et g pour gigabytes. k par défaut.) set mem #x Où # est un nombre plus grand que la taille de la base de données, et plus petit que la mémoire totale disponible sur le système. 5. Enregistrer des fichiers Pour enregistrer un fichier de données : save, replace (remplace le fichier courant) save filename, replace (enregistre le fichier sous filename, replace est optionnel mais nécessaire si un fichier avec ce nom existe déjà) 6. Fichiers Log Toutes les sorties qui apparaissent dans la fenêtre Results peuvent être capturées dans un fichier log. Le fichier log peut être enregistré au format STATA SMCL (SMCL: STATA Markup and Control Language). Pour démarrer un log: log using filename log using filename, replace (démarre un log smcl) (remplace filename.smcl) Pour suspendre et reprendre un log : log off log on (suspend temporairement le fichier log) (reprend le fichier log) Pour fermer un log : 3 log close (ferme le fichier log courant) Vous pouvez ajouter des commentaires à votre log lorsque vous travaillez en écrivant des commentaires dans la fenêtre de commandes ou dans votre do-file précédés d’une *, quand les commentaires n’excèdent pas une ligne, ou précédés de /* et suivis de */ pour des commentaires de plusieurs lignes. Pour visualiser la sortie d’un do-file : view filename (montre la sortie d’un do-file dans une fenêtre de visualisation) Exemple: Ouvrez un do-file dans STATA 10, démarrez un fichier log, définissez la taille de la mémoire et ouvrez un fichier de données. - ouvrir un do-file : Pour ouvrir un do-file dans STATA 10, allez à Window > Do-file Editor> New Do-file. - démarrer un log : log using “C:\...\exemple.smcl”, replace - définir la taille de la mémoire : set memory 50m - ouvrir un fichier de données : use "C:\...\PARSTAT_M2.dta", clear A la fin du do-file, il faut enregistrer le fichier de données, fermer le log, visualiser la sortie du do-file dans une fenêtre, et enregistrer le do-file - enregistrer le fichier de données : save "C:\...\PARSTAT_M2.dta", replace - fermer le log : log close - visualiser la sortie du do-file : view "C:\...\exemple.smcl" - enregistrer le do-file: Cliquer sur le bouton Save en haut de l’éditeur de do-file. 4 7. Contrôle de la sortie “more” peut apparaître dans la fenêtre Results quand vous lancez un long do-file. Pour voir la ligne suivante : touche Entrée Pour voir l’écran suivant: n’importe quelle touche du clavier ou cliquez sur le bouton more en bas de la fenêtre de résultats. set more off/on (pour activer ou désactiver la commande more) break (pour interrompre une commande STATA à n’importe quel moment, cliquez sur le bouton break) 8. Commandes descriptives Il existe plusieurs manières d’examiner une base de données dans STATA, telles que describe, list, et summarize. describe produit un résumé du contenu d’une base de données (nombre d’observations et de variables, description des variables : nom, type, format, labels). describe describe using filename (décrit la base de données en cours d’utilisation) (décrit une base de données STATA) Vous pouvez aussi décrire seulement une partie des variables d’une base de données, en spécifiant : describe varlist (décrit un groupe de variables) summarize calcule et présente plusieurs statistiques univariées (nombre d’observation, moyennes des variables, écart-types, minimums et maximums). summarize summarize varlist (résume toutes variables de la base de données) (résume une partie des variables de la base) L’option detail permet d’obtenir plus d’information sur la forme des données (centiles, variance, asymétrie, kurtosis) : summarize varlist, detail list présente la valeur des variables pour chaque observation. Si varlist n’est pas spécifiée, la sortie sera la valeur de toutes les variables. list varlist 5 Arguments pour l’utilisation des commandes descriptives describe var1-var10 describe var* list age in 3 list age in 1/100 (décrit toutes les variables entre var1 et var10) (décrit toutes les variables dont le nom commence par var) (liste la valeur de age pour la 3e observation) (liste la valeur de age pour les observations de 1 jusqu’à 100) Exemple: - Produire un résumé du contenu de la base de données “PARSTAT_M2.dta”: describe - Montrer des statistiques descriptives simples du revenu horaire total généré par l’activité principale (variable ‘rev_hor’), avec les centiles et la variance : summarize rev_hor, detail - Montrer l’âge (variable ‘age’) des 10 premiers individus de la base de données (les 10 premières observations) : list age in 1/10 9. Créer des nouvelles variables La commande generate sert à créer des nouvelles variables. generate peut créer une nouvelle variable qui est une expression algébrique d’autres variables. generate newvar=exp (où exp est une expression algébrique) Pour changer le contenu d’une variable existante, il faut utiliser la commande replace : replace varname=exp Operateurs dans les expressions : Arithmétiques : Addition (+), Soustraction (-), Multiplication (*), Division (/), Puissance (^). Logiques : Et (&), Ou (|), Non (!), Non (~). Relationnels (variables numériques et chaînes de caractères) : Supérieur à (>), Inférieur à (<), Supérieur ou égal à (> =), Inférieur ou égal à (< =), Egal à (= =), Différent de (! =), Différent de (~ =). 6 Exemple : Créer une variable désignant les jeunes (15-24 ans) dans la population en âge de travailler. Plus précisément, créer une variable nommée ‘jeune’, égale à 1 pour les individus âgés de 15 à 24 ans, et 0 pour les individus entre 25 et 64 ans. Pour les individus de moins de 15 ans ou de plus de 64 ans, la valeur de la variable sera manquante (missing), notée (.). - On crée d’abord une variable nommée ‘jeune’ qui ne contient que des valeurs manquantes (.) : generate jeune=. - On remplace les valeurs manquantes (.) par 1 si l’âge est compris entre 15 et 24 ans : replace jeune=1 if age>=15 & age<=24 - Finalement, on remplace les valeurs manquantes (.) par 0 si l’âge est compris entre 25 et 64 ans : replace jeune=0 if age>=25 & age<=64 - On peut aussi créer cette variable en utilisant la fonction de programmation inrange: La commande drop permet de supprimer une variable de la base : drop jeune generate jeune=. replace jeune=1 if inrange(age,15,24) replace jeune=0 if inrange(age,25,64) Exemple : Créer une variable dichotomique nommée ‘femme’, égale à 1 si l’individu est une femme, 0 sinon : gen femme = 1 if sexe == 2 replace femme = 0 if sexe == 1 - On peut aussi créer cette variable en une seule commande, qui donnera 1 si la condition indiquée entre parenthèse est vraie, 0 sinon : drop femme gen femme = (sexe == 2) Exemple : Créer une variable nommée ‘age2’ égale au carré de l'âge de l'individu (variable ‘age’) generate age2 = age*age 10. Manipuler les labels - Pour attribuer un label labelname à une variable varname : 7 label variable varname "labelname" - Pour attribuer des labels de valeur labelname à une liste des variables varlist : label values varlist labelname - Les labels de valeurs doivent être définis comme suit : label define labelname # "label" # "label"... Exemple : donner des labels aux variables ‘age2’ et ‘femme’ créées précédemment : label var femme "femme" label var age2 "age*age" Exemple : Créer une variable nommée ‘age_cat’ qui est égale à 1 pour les jeunes (15-24 ans), 2 pour les adultes entre 25 et 44 ans, 3 pour les adultes entre 45 et 64 ans et 4 pour les seniors (65 ans et plus). Définir des labels de valeurs et les lui attribuer. gen age_cat =. replace replace replace replace age_cat age_cat age_cat age_cat =1 =2 =3 =4 if if if if inrange(age,15,24) inrange(age,25,44) inrange(age,45,64) age>=65 - Pour attribuer le label “Catégorie d’âges” à la variable ‘age_cat’: label variable age_cat "Catégorie d’âges" - Pour définir les labels de valeurs : label define age_categ 1 "jeunes (15-24)" 2 "adultes (25-44)" 3 "adultes (45-64)" 4 "seniors (65+)" - Pour attribuer le label de valeur “age_categ” à la variable ‘age_cat’: label values age_cat age_categ 11. Commandes Sort et by - Pour réarranger les observations de la base de données en cours d’utilisation par ordre croissant des valeurs des variables de varlist : sort varlist 8 Le préfixe "by varlist:" entraîne une répétition de la commande qui le suit pour chaque valeur des variables dans varlist. La commande sort est particulièrement utile lorsqu’on utilise le préfixe “by varlist:” parce que les données doivent être préalablement triées selon varlist. - Pour calculer et montrer des statistiques descriptives de varname2, pour chaque valeur unique de la variable varname1 : sort varname1 by varname1: summarize varname2 Le préfixe "bysort varlist:" est strictement identique à l’utilisation des deux commandes successives "sort varlist" et "by varlist:". Exemple : Trier les observations par ordre croissant des valeurs du niveau d’éducation (variable ‘sco2’), et montrer des statistiques descriptives du revenu horaire total de l’activité principale (variable ‘rev_hor’) pour chaque niveau d’éducation : sort sco2 by sco2: summarize rev_hor Ou : bysort sco2: summarize rev_hor 12. Tableaux croisés - La commande tabulate est très utilisée et produit des tableaux de fréquences simples : tabulate var ; croisés : tabulate var1 var2. Par défaut, "tabulate var1 var2" donne les fréquences (nombre d’observations) dans chaque cellule, mais il est possible et très pratique d’utiliser cette commande pour obtenir des pourcentages, avec les options cell (% par cellule), col (% par colonne) ou row (% par lignes). Pour n’avoir que des pourcentages, ajouter l’option nofreq. Exemple : Créer un tableau de fréquences simple montrant la distribution des catégories d’âge dans la base (variable ‘age_cat’, construite plus haut) : tabulate sco2 Exemple : Créer un tableau de fréquences croisées montrant les niveaux d’éducation (variable ‘sco2’) par pays (variable ‘pays’), puis un tableau montrant les proportions (%) de chaque catégorie de niveau d’éducation dans chaque pays mais pas les fréquences : tabulate sco2 pays 9 tabulate sco2 pays, col nofreq - La commande tabulate est adaptée à la description de variables dichotomiques ou catégorielles, mais peut aussi être utilisée pour résumer des variables continues par catégorie. En ajoutant à "tabulate var1 [var2]" l’option summarize(var3), on obtient un tableau croisé contenant la moyenne de la variable ‘var3’ dans chaque cellule, ainsi que son écart-type et le nombre d’observations : tabulate var, summarize(var3) Pour n’avoir que les moyennes, ajouter les options nof (pas de fréquences) et nost (pas d’écarts-type). tabulate var1 var2, summarize(var3) nof nost Exemple : Créer un tableau montrant le revenu individuel horaire moyen dans l’activité principale (variable ‘rev_hor’), son écart-type et le nombre d’observations pour chaque niveau d’éducation (variable ‘sco2’) : tabulate sco2, sum(rev_hor) Exemple : Examiner les modalités de la variable ‘statut_marital’ (avec un tableau de fréquences simple) puis créer une variable dichotomique nommée ‘mari’, égale à 1 si l'individu est marié ou vit en union libre, 0 sinon. Finalement, lui attribuer le label "mari". tabulate statut_marital, m gen mari = 1 if inrange(statut_marital,1,3) replace mari = 0 if inrange(statut_marital,4,6) label var mari "marié ou union libre" - La commande tabulate possède une autre option très pratique, generate(), qui permet de créer une série de variables dichotomiques à partir d’une variable catégorielle. Si varname est une variable catégorielle à trois modalités : tabulate varname, generate(newvar) crée trois nouvelles variables newvar1, newvar2 et newvar3, qui sont égales à 1 si la valeur de l’observation correspond à la catégorie 1, 2 ou 3 respectivement, 0 sinon. Cette commande labellise automatiquement les nouvelles variables créées. Exemple : Utiliser la commande tabulate pour créer des variables dichotomiques de niveau d'éducation (à partir de la variable ‘sco2’) : tabulate sco2, gen(educ) 10 Exemple : Créer une variable dichotomique pour chaque pays : tabulate pays, gen(pays) 13. Estimations - La commande regress permet d’estimer un modèle de régression linéaire (Moindres Carrés Ordinaires - MCO) de la variable dépendante ‘depvar’ sur les variables explicatives ‘indepvars’ : regress depvar indepvars Exemple : Estimer un modèle OLS simple du log du revenu total horaire de l’activité principale (variable ‘lrev_hor’) sur les variables explicatives suivantes : - Age et âge au carré (variables ‘age’ et ‘age2’), - Niveaux d’éducation : jamais scolarisé ou primaire inachevé, primaire achevé ou collège inachevé, secondaire technique, collège achevé ou lycée inachevé, lycée achevé, études supérieures (variables ‘educ2’ à ‘educ6’). "Jamais scolarisé/primaire inachevé" est la catégorie de référence (variable ‘educ1’), - Pays (variables ‘pays2’ à ‘pays5’), - Statut marital (variable ‘mari’), - Sexe (variable ‘femme’). regress lrev_hor femme mari pays2-pays5 educ2-educ6 age age2 - La commande probit permet d’estimer un modèle probit avec la méthode du maximum de vraisemblance. La commande dprobit est une alternative à probit. Au lieu de présenter les coefficients, dprobit montre les effets marginaux, c’est-à-dire la variation de la probabilité pour une variation infinitésimale de chaque variable explicative continue, et par défaut, la variation discrète de la probabilité pour les variables explicatives dichotomiques (dummy variables). Exemple : Estimer l’impact marginal des variables ‘femme', ‘mari’, ‘pays2’ à ‘pays5’, ‘educ2’ à ‘educ6’, ‘age’ et ‘age2’, sur la probabilité d’être au chômage (variable ‘chomeur_std’). dprobit chomeur_std femme mari pays2-pays5 educ2-educ6 age age2 14. Commande search La majorité des commandes STATA sont écrites en langage de programmation STATA, le langage « ado-file ». Un des avantages des versions récentes de STATA est la possibilité de les mettre à jour sur internet. STATA sert en fait de navigateur internet, et peut donc contacter le serveur internet de STATA pour chercher des mises à jours éventuelles du logiciel. Dans les modules suivants, vous aurez besoin d’utiliser l’ado-file « outreg2 », qui permet de présenter des régressions, des statistiques descriptives et des tabulations dans des tableaux. 11 - Pour télécharger un module STATA depuis internet : search outreg2, net Dans la fenêtre de résultats, http://fmwww.bc.edu/RePEc/bocode/o » . cliquez sur : « outreg2 from - Dans la fenêtre de visualisation qui apparaîtra, cliquez sur « click here to install ». 12
Documents pareils
Mémento Stata
nombre d'options.
Cette notice n’est qu’un recueil de quelques commandes utiles. Pour le détail et des exemples, on se
réfèrera à la documentation Stata
La version actuelle de Stata est Stata 12 (j...
Guide d`économétrie appliquée pour Stata
Chaque section présente le but de l’opération qui y est traitée. Les commandes
appropriées sont ensuite présentées, d’abord individuellement, puis dans le cadre d’un
exemple concret. Prenez note qu...