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

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...

Plus en détail

Guide d`économétrie appliquée pour Stata

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...

Plus en détail