Académique Documents
Professionnel Documents
Culture Documents
W. Aristide OUEDRAOGO
Ingénieur Statisticien Economiste
Introduction
Les données statistiques sont collectées par un nombre de plus en plus important d'instituts de
recherche et d'entreprises. Elles recouvrent une grande quantité d'informations utiles pour la
prise de décisions au sein de l’entreprise ainsi qu’au sommet de l’Etat. Leur exploitation
judicieuse consiste à révéler ces informations avec discernement et à les interpréter à des fins
utiles.
Le présent cours d'introduction aux logiciels statistiques a pour objectif de familiariser les
étudiants à l'analyse statistique à partir du logiciel Stata. Il est en étroite relation avec les
notions qui seront abordées plus tard en économétrie ou en analyse des données. Tout au long
de ce cours, nous apprendrons à résumer, présenter et interpréter les données à l’aide du
logiciel Stata.
Chap 1: Introduction au logiciel Stata
Stata est un logiciel d'analyses statistiques. Son utilisation est de plus en plus répandue dans le
monde académique et de la recherche. Bien que souvent utilisé à des fins économétriques, Stata
fait également de l'analyse des données multidimensionnelles ainsi que la description simple. Dans
ce premier chapitre du cours d’introduction au logiciel, nous étudierons la syntaxe de base de Stata
ainsi que quelques fonctions.
Depuis sa version 8, Stata devient de plus en plus convivial avec ses menus pour les régressions
économétriques et l’analyse des données. Au démarrage du logiciel (version 12), on obtient l’écran
suivant :
• La fenêtre Reviewmontre l’historique des commandes déjà exécutées.
• La fenêtre Variables montre les différentes variables de la base de données active.
• La fenêtre Resultmontre les résultats des différentes procédures exécutées.
• Dans le menu Window, il est possible d’ouvrir un .do file. Un .do file est un fichier texte
où des commandes de Stata peuvent être tapées et d’où elles peuvent être directement
exécutées. Il est aussi possible d’ouvrir un nouveau .do file en tapant dans la ligne de
commandes doedit.
1.2 Syntaxegénérale des commandes Stata
[byvarlist1:] command [varlist2] [=exp] [if exp] [in range] [weight] [using filename]
[,options] byest un préfixe qui permet de répéter l’exécution de command pour les différents
sous-groupes définis par les combinaisons des variables citées dans varlist1.
commandest la commande Stata à exécuter (e.g. tab1, tab, regress, summarize, etc.)
varlist2est la liste de variables sur laquelle porte la procédure statistique à mettre en oeuvre.
Dans le cas où la commande consiste à créer une variable, expest l’expression qui permet de
calculer la variable. ifpermet d’exécuter la commande pour les observations qui respectent un
certain nombre de critères.
inest comparable à if mais les critères ici se rapportent aux numéros des observations.
weightest un mot clé facultatif qui permet de pondérer les observations dans un jeu de données (e.g.
pweight, aweight, fweight).
La commande display permet d’utiliser Stata comme une calculatrice. Sa syntaxe est :
log(10)+exp(2) di
(1/2*sqrt(2*pi))*exp(-((3-1)/2)^2 Liste
Opérateurs logiques
&: et
|: ou
~ ou! : non
Opérateurs de comparaison
~=: différent
!=: différent
== : égal
Opérateurs arithmétiques
+: addition -:
soustraction
/: division
*: multiplication
^: puissance
Fonctions usuelles
sqrt():racine carrée
exp(): exponentielle
log(): logarithme
int(): troncature
round(): arrondi à l’entier le plus proche
log10(): logarithme base 10 mod() :
reste d’une division euclidienne abs() :
valeur absolue
Cette commande compte le nombre d’observations vérifiant un certain critère. La syntaxeest count
if critere.
Exemple :
count if myvar==2
Le chargement des données dans Stata se fait de différentes manières selon le format des fichiers de
données. Les commandes qui permettent de charger des données dans Stata sont:
Il est possible de ne charger à l’ouverture d’une base de données que les variables indispensables.
La syntaxe à utiliser dans pareil cas est la suivante :
Infile2: permet de charger des données ASCII avec un dictionnaire des variables.
Après avoir chargé les données en mémoire on peut les décrire pour avoir le nom des variables, leur
type, les libellés des valeurs etc. Cela se fait avec la commande describe. La commande
inspectprésente un histogramme des valeurs en plus de quelques statistiques descriptives (Valeurs
manquantes, valeurs positives, valeurs négatives, nombre de valeurs uniques). Elle indique
également si les variables portent un libellé ainsi que leurs valeurs. La commande codebookaffiche
pour chaque variable un tableau de fréquences, le nombre de valeurs uniques, le type de la variable,
le nombre de valeurs manquantes, l’étendue. Toutes ces commandes peuvent être appelées avec ou
sans liste de variables.
Pour la clarté des tableaux que l'on réalise, on a besoin de mettre des étiquettes aux variables, à
leurs valeurs, à la base de données etc. La commande Stata est label.
Il est possible de décrire très brièvement une base de données au format Stata. Pour ce faire, on
utilise la commande suivante :
L'instruction keeppermet de garder les observations qui vérifient un certain critère dans la base de
données ou de retenir une liste de variables dans la base de données en mémoire. L'instruction drop
permet de supprimer de la base les observations qui vérifient un certain critère ou de supprimer une
liste de variables. keepif critere : Sélectionne les observations qui vérifient le critère
critere.
keepvarlist :Sélectionne les variables listées drop if critere :
Supprime les observations qui vérifient le critère critere.
dropvarlist : Supprime les variables listées.
Pour créer de nouvelles variables, on utilise la commande generateou egen. La commande egenest
une commande d’aggrégation des données. Par exemple pour créer la variable varsqégale au carré
de la variable var, on écrira :
Exemple :
genvarsq=var^2 gen
double varsq=var^2
Pour créer la variable aggageégale à la moyenne de l’âge par département, on écrira l’instruction
:
Dans cet exemple, nous avons utilisé la fonction d’agrégation mean. Il existe d’autres fonctions
supportées par egen.
Pour recalculer une variable, on utilise la commande replace. La syntaxe de cette commande est
identique à celle de la commande generate.
Exemple :
replace varsq = sqrt(varsq)^2
Pour recoder une variable, on utilise la commande recode. La syntaxe de cette commande est la
suivante :
Les règles de recodage peuvent inclure les libellés des nouvelles valeurs. Parmi les options, il y a :
noms de variables du préfixe pfx pour créer les nouvelles variables. Cette option ne doit pas être
utilisée en même temps que l’option generate.
Exemple :
recode foreign (0=1 Maison) (1=2 Extérieur),gen(Rforeign) label(lblforeign)
Pour dichotomiser une variable, on utilise la commande xi. La syntaxe de cette commande est la
suivante : xii.catvar1, options: crée des indicatrices pour chaque modalité de la variable catégorielle
catvar1
1.4.8 Ajouter des variables ou des observations à la base de données active
Pour ajouter des variables contenues dans une autre base à la base de données active, on utilise la
commande merge. Pour ajouter des observations, on utilise la commande append. Ces deux
commandes obéissent aux syntaxes ci-après :
Pour voir les données dans un éditeur, on utilise la commande browse. Pour modifier des données
dans l’éditeur, on utilise la commande edit.
Exemple : editforeign : affiche uniquement la variable foreign pour
l’édition browse : affiche toutes les variables de la base de données en
lecture seule.
Pour sauver les données en mémoire sur le disque, il faut taper la commande suivante:
savefilename
saveoldsauvegarde également les fichiers de données mais sa particularité est qu’elle permet de
sauver dans des formats compatibles aux anciennes versions du logiciel. La syntaxe est la même
que celle de save.
Chap 2: Statistiques descriptives et inférence de base
Avec Stata, on peut obtenir des tableaux de fréquences d’une ou de plusieurs variables qualitatives
en utilisant la commande tab1 ou tabulate. La différence entre les deux commandes est que pour
plus d’une variable, la commande tabulatefait le croisement des variables et non la fréquence
simple de ces variables.
On peut aussi représenter graphiquement ces informations à l'aide des camemberts "graph pie", des
diagrammes en bâtons.
Exemple:
tab1 z d y sex
tabulatesex //Fréquences simples
tabulatesex z //Croisement des variables sex et z tabulatesex z, col
//Croisement des variables sex et z, pourcentage colonnes tabulatesex z, row
//Croisement des variables sex et z, pourcentage lignes graph pie, over(z)
graph pie, over(d) graph pie, over(sex)
Pour le croisement deux à deux d’un certain nombre de variables, on utilise la commande tab2.
La commande summarizepermet de calculer les statistiques descriptives simples pour une variable
quantitative. En outre, on peut visualiser ces informations dans une boîte à moustaches ou la
distribution de la variable quantitative au sein de la population. La commande peut être abrégée
par sum. Exemple:
Exemple
summarizeage
La commande table permet de construire des tableaux personnalisés. On peut faire un tableau de
fréquences simples, de moyennes, et d’autres statistiques pour plusieurs variables différentes.
2.2 Inférence statistique de base
tabulatex y [,options].
Exemple
tabulate z d /*Tableau croisé de z par d*/ tabulate z d, column /* */
tabulate z d, rownofreq /*Calcule les pourcentages sur une ligne en
supprimant les effectifs*/ tabulate z d, column /* */
Pour calculer le chi2 et faire le test du chi2, il faut spécifier l'option chi2.
Pour faire le test de variance, on utilise la commande sdtest. Les tests standards pour la
variance ont des résultats assez volatiles en raison de la contrainte de normalité imposée par la loi
de Fisher sur laquelle repose la statistique du test. Pour cela, Levene (1960) a proposé une
statistique robuste à la non normalité. Plus tard, Brown et Forsythe (1974) ont proposé d'autres
statistiques plus robustes que celle de Levene. La commande robvarpermet de mener ces tests sur
Stata. sdtest age, by(z) robvar age, by(z)
2.2.3 Les tests de moyenne
Pour faire le test de moyenne, on utilise la commande ttest. Le test de variance doit être
préalablement effectué car le test de moyenne se conduit différemment selon que les variances des
groupes sont égales ou différentes.
Pour faire le test de proportion simple ou sur échantillon apparié, on utilise la commande prtest.
Pour estimer une équation de régression linéaire sur Stata, la commande à utiliser est la commande
regresssuivie de la variable dépendante puis des variables indépendantes. En abrégé, on utilise
reg.
Exemple
regresswthtageparity
Dans cet exemple, on régresse le poids des enfants sur leur taille, sur leur âge et sur la parité de
leur mère. Toutes les variables dans cet exemple peuvent être dites quantitatives. Cependant, on est
parfois intéressé par l’effet d’une variable qualitative sur la variable dépendante. Dans ces cas, la
démarche adoptée consiste à dichotomiser cette variable et à introduire les variables indicatrices
dans le modèle. A part la mise en oeuvre manuelle de cette procédure, Stata offre deux autres
possibilités :
Après l’estimation d’une équation, les valeurs estimées de la variable dépendante et des autres sont
calculées à l’aide de la commande predict. La syntaxe de cette commande est la suivante :
Le modèle linéaire est inadapté pour estimer la probabilité de survenance d’un événement
(exemple : décision de migrer, être pauvre ou non … Même si cette probabilité est estimée avec le
modèle linéaire, l’hypothèse traditionnelle d’homoscédasticité est violée, les valeurs prédites
peuvent être plus grandes que 1 ou négatives. Pour éviter ces problèmes, le modèle logistique est
utilisé.
Pour estimer une équation de régression logistique sur Stata, la commande à utiliser est la
commande logitou probitsuivie de la variable dépendante puis des variables indépendantes.
Probitdep_varexp_varlist, optionsExemples
probitmarriedwageiqage
Level(#) : spécifie le niveau de confiance des intervalles de confiance. Par défaut, 95% est retenu
pour la plupart des modèles.
Exerices :
Question 0
Question 1. (1 pts)
Quelle est le nombre total des enfants dans le fichier Excel nommé « Base_de_Donnees » ?
Question 2. (5 pts)
En utilisant les données du fichier Excel nommé « Base_de_Donnees », renseignez les tableaux
suivants :
Quelle est le nombre total d'enfant en âge de scolarisation obligatoire dans les données du fichier
Excel nommé « Base_de_Donnees » ?
Question 7. (3 pts)
La moyenne minimum d’admission pour le niveau d’étude « primaire » est supérieur ou égale 5 et
celle du niveau d’étude « secondaire » est supérieur ou égale 10.
Sachant leur niveau d’étude et à l’aide d’une formule (obligatoire), renseigner pour chaque enfant
la colonne « REPONSE_Q7 » du fichier Excel nommé « Base_de_Donnees » avec l’expression :
Question 8. (2 pts)
puis label value sex sexe, nofix pour assigner ce label à la variable sex
label list sexe liste le label sexe
label drop sexe supprime le label sexe
label list liste tous les labels
tab zau, gen(zau) crée autant de dichotomiques que de modalité dans zau
summarize rev pour des stats descriptives sur les variables continues
sum rev, detail même chose mais avec les centiles
tabstat txent, stats(mean count n sum sd) équivalent mais plus complet sur les stats
tabulate foreign, summarize(mpg) donne des stats des d'une variable continue par
modalité d'une variable discrète