Initiation aux logiciels d’analyse de
données
AVEC STATA
Installation de Stata14
• -Copier le répertoire Stata14 sur votre bureau de l’ordinateur
• -Double cliquer sur StataSE
• Création de raccourci au bureau
I-Présentation de Stata 14
Stata est un logiciel de traitement de données et d’analyse statistique. Il
dispose d’un langage de programmation aisé et convivial
- Ouvrir une session ou lancer STATA14:double clic sur l’icone raccourci
- fermer une session: clic sur la croix rouge en haut à droite
• Types de fichiers sous Stata
On distingue trois types de fichiers :
- Les fichiers de données ayant pour extension .dta
- Les fichiers programmes d’extension .do
- Les fichiers programmes prédéfini d’extension .ado
- Les fichiers de résultat d’extension .log, txt, smcl,etc.
• Fenêtres de travail
Au démarrage du logiciel, l’interface de Stata fait apparaître quatre fenêtres
de travail :
- Fenêtre Variables : Affiche les noms des variables dans la base de données,
détaille toutes les variables présentes dans la base de données actuellement
ouverte dans Stata (Stata ne peut ouvrir qu'une seule base de données en
même temps);
- Fenêtre Command : Permet de saisir les lignes de commandes que Stata doit
exécuter;
- Fenêtre Review : Garde en rappel les dernières commandes exécutées, affiche
l'historique des commandes tapées par l'utilisateur et permet d'en rappeler une
facilement,
- Fenêtre Results : Affiche le résultat d’une commande, utilisée pour afficher tous
les résultats des commandes tapées par l'utilisateur
• Remarques :
- Si on veut automatiser le travail par un programme, on peut utiliser la fenêtre
des programmes do-file Editor
- Chaque commande Stata doit être validée en appuyant sur la touche Entrée.
= = >stata dispose une barre de menus qui permet
d'exécuter les commandes les plus courantes sous Stata
sans avoir à se servir de la fenêtre Command
II-Saisir de données avec STATA
• -mode edit ou ed➔exemple
• Mode browse
= = >Exemple: saisi en Excel
III-Importer de données
La plus simple c’est de copier coller:Exemple
-insheet file
Interrogation de base
-interactif
-programmation
1-Saisir en stata les données suivantes:
2-Saisir en Excel puis copier dans STATA les données
suivantes
n° Rendement Engrais
n xi yi
1 16 20
2 18 24
3 23 28
4 24 22
5 28 32
6 29 28
7 26 32
8 31 36
9 32 41
10 34 41
Commands de STATA
count
browse ou br
edit ou ed
Codebook
describe
tabulate ou tab
tabulate1 ou tab1
tab1 sif01a- qe03i
tab V1 V2,m
tabulate2 ou tab2
ttest yi,by(var4)
tab sif01a sif01b,row
tab sif01a sif01b, chi2
tab sif01a sif01b, exact
tab v1 v2, m chi2
tab v1 v2, m chi2 exact
Option: nofreq, row colu
• Test sur la distribution de deux variables : test de
chi2
Hypothèse nulle : Indépendance des deux variables
Hypothèse alternative : lien entre les deux variables
Syntaxe : tab variable1 variable2, chi2
•Commande correlate (corr) : Elle produit la matrice des
variances-covariances d’une liste de variables
ou d’un ensemble de coefficients d’une régression
corr y x, cov produit la matrice des variances-covariances des
variables y et x
•
• Coefficients de corrélation
Syntaxe pour calculer la corrélation entre deux ou
plusieurs variables :
pwcorr variable1 variable2…variableN, obs sig star (#)
- L’option obs reporte le nombre d’observations utilisé
pour calculer les coefficients de corrélation
- L’option sig rajoute une ligne donnant la probabilité de
rejet de l’hypothèse de non significativité du coefficient
de corrélation
- L’option star, si # = 10, tous les coefficients de corrélation significatifs au
seuil de 10% sont marqués d’une étoile (*)
- L’option star, si # =5, tous les coefficients de corrélation significatifs au
seuil de 5% sont marqués d’une étoile (**)
- L’option star, si # =1, tous les coefficients de corrélation significatifs au
seuil de 10% sont marqués d’une étoile (***)
Condition: if et in
count if
edit if
br in
br V if
Commande replace : Permet de modifier les valeurs d’une variable déjà existante
replace sif01a=0 if sif01a==9 | sif01a==99
replace sif01b=0 if sif01b==9 | sif01b==99
for var sif01a- qe03i qe04j-qe04o:replace X=0 if X==9 | X==99
br if qelvecole=="EC ANKAZOAVO«
br if strpos(qelvecole,"EPP TANANDAVA")
summarize ou sum, d
replace qelvecole="EPP MAROFARIA" if qelvecole=="MAROFARIA EPP"
replace qelvecole="EPP TANANDAVA III" if qelvecole=="EPP TANANDAVA II"
sum V
sum sif01a
. sum sif01a
sum sif01a- qe03i,sep(0)
sum V,d
tabstat sif01a,st(sum mean)
- Création de nouvelles variables : les commandes
generate (gen) et egenerate (egen)
egen est une extension de la commande generate.
Elle permet de créer des variables à l’aide de
fonctions spécifiques.
Les commandes gen et egen peuvent être
combinées avec by, if et in.
Exemples :
generate y = x+z crée une variable y qui est la somme
des variables x et z
gen noteab=sif01a +sif01b
drop noteab
gen y = x^2 crée une nouvelle variable y telle que
y soit le carré de x
gen a=(sif01a==1)+4*(sif01a==0)
gen a1=4 if sif01a==0
replace a1=1 if a1==.
list if x==10 liste les observations dont la valeur de x est
égale à 10
Renomer une variable: rename V1 V2 ou ren V1 V2
generate y = ‘‘ab’’ crée une variable non numérique (18) contenant le terme ab pour toutes les observations
egen y = sd(x) crée une variable y dont la valeur constante est égale à l’écart-type de la variable x
Calcul de moyenne ou de score
• Renomer une variable: rename V1 V2 ou ren V1 V2
Quelques opérateurs logiques et arithmétiques sous Stata
Opérateurs arithmétiques Opérateurs de relation Opérateurs logiques
Addition + Supérieur > Ou \
Soustraction - Supérieur ou égal >= (Altgr+touche6)
Multiplication * Inférieur <
Division / Inférieur ou égal <= Et &
Exposant ^ Egal =
Différent de !=
Les expressions by, if, in
Expressions Syntaxe
by By variables : commande
bysort bysort variable :commande
if Commande if conditions
in Commande in intervalle
- Commande keep : Elle fonctionne de la même
manière que la commande drop à la différence qu’elle
produit le résultat inverse
drop in
Exemple : keep in 1/6 ne garde dans la base de données que la
première jusqu’à la sixième observation
keep V1 –Vn
Commande drop : elle permet de supprimer une ou plusieurs
variable
Drop v1
Drop if +« expression » permet de supprimer un ou plusieurs des
enregistrements
• Régressions
Pour effectuer une régression par la méthode des
Moindres Carrés Ordinaires (MCO), on peut utiliser la
commande regress (reg) suivie de la variable
dépendante, des variables explicatives et
éventuellement des options.
Syntaxe : reg var_dep var_explicatives (if, in), options
scatter y x || lfit y x
. tab sexe
sexe | Freq. Percent Cum.
------------+-----------------------------------
F| 4 44.44 44.44
M| 5 55.56 100.00
------------+-----------------------------------
Total | 9 100.00
Commandes de base da tabulation statistique
❑Tests usuels
❖Test d’indépendance entre deux varaibles qualitatives
• table var1 var2, chi2 /*relation d’indépendance entre deux variables*/
Si (P > |t|)<0,05 = = > il y a un lien entre les deux variables qualitatives
❖Test de corrélation de Pearson
• corr var1 var2 var3 /*coefficient de corrélation entre les variables*/
• pwcorr var1 var2 var3 …, sig /*coef. corrél. entre les variables + degré de sig*/
❖Test de différences de moyennes
• ttest var1=var2 /*comparaison de la moyenne de 2 échantillons*/
• ttest var1=valeur /*comparaison de la moyenne d’une variable*/
• ttest var1, by(var2) /*comparaison de la moyenne de deux groupes*/
Si (P > |t|)<0,05 = = > il y a une différence significative des moyennes de deux groupes
Exporter les tableaux statistiques
Graphiques
Fonction
twoway function y =-x^2, range(-4 4)
twoway function y =sin(x),range(-3.14 3.14)
twoway function y = 2*exp(-2*x), range(0 2)
twoway function f=ln(x),range(0 100)
twoway function y = gammaden(1.5,2,0,x), range(0 10)
Matrices
Pour créer une matrice dans STATA
matrix A=(1,0,2\1,1,2) ou encore mat A =(1,0,2\1,1,2) ou encore mat define A =(1,0,2\1,1,2)
Visualiser une matrice
Mat list A
Opération sur les matrices
Le calcul matriciel dans stata se fait par des opérateurs arithmétiques tels +, - ou *, etc. et par les fonctions matricielles de type
inverse ou transposé. V=A+B+W
Transposé d’une matrice
Mat X=(1,0,2\-2,0,4\-1,-2,0)
mat A=X’
Produit de matrice
mat G=(1,1\1,0)
mat H=(-1,4\1,-1)
mat J=G*H
mat list G
mat list H
mat list J
Clear
use "C:\Users\user\Desktop\EXO\angrais.dta", clea
• count
• Déterminant d’une matrice
display det(H) ou encore
scal a=det(G)
scal b=det(H)
scal list a
display det(H) a b
mat R=(1,2,0\0,1,0\1,1,-1)
mat C=det(R)
mat list C
Mat list C
disp det(R)
• Matrice inverse
matrix B = inv(X’X)X’Y /*inv signifie l’inverse d’une matrice et ‘ est le symbole de
la transposée d’une matrice*/
Prédiction et matrice et intervalle de confiance
Régression simple: Exercice= = > "C:\Users\user\Desktop\EXO\angrais.dta"
reg rendement angrais
reg rendement angrais,noheader
Prédiction/prévision
ereturn list
mat b=e(b)
gen ychapau=1.1165449*angrais+1.2581772
Predict yhat
margins,at(angrais=0)
mat p0=(0\1)
mat c0=b*p0
mat list c0
mat p14=(14\1)
mat list p14
mat c14=b*p14
mat list c14
margins,at(angrais=(14 15 16))
margins,at(angrais=(14 15 16)) vsquish
margins,at(angrais=(14 15 16 15.5 16.7 16.8)) vsquish
Spécification de l’intervalle de confiance
set level 90
margins,at(angrais=(14 15 16))
Regression multiple
= = >exercice
clear
use "C:\Users\user\Desktop\EXO\base_regMul.dta",clear
reg y x1 x2 x3
ereturn list
Exercice:
1) A partir du tableau suivant, estimer le modèle : yt=a0+a1x1t+a2x2t +t
2) Calculer une prévision et son IC à 95% pour les périodes : x1,15=3 ,
x2,15=24, x1,16=6 et x2,16=38
t y x1 x2 x3
1 12 2 45 121
2 14 1 43 132
3 10 3 43 154
4 16 6 47 145
5 14 7 42 129
6 19 8 41 156
7 21 8 32 132
8 19 5 33 147
9 21 5 41 128
10 16 8 38 163
11 19 4 32 161
12 21 9 31 172
13 25 12 35 174
14 21 7 29 180
Standardisation des variables: centrer et réduire les variables
reg y x1 x2 x3,beta
sum x1
scal a= r(sd)
scal b=(r(Var))^(1/2)
scal list a b
Coefficient standardisés
reg y x1 x2 x,beta
gen z_x1=(x1-r(mean))/r(sd)
sum x2
gen z_x2=(x2-r(mean))/r(sd)
sum x3
gen z_x3=(x3-r(mean))/r(sd)
Comparaison de moyennes, test d’indépendance
= = > cahier.cp2.dta
tab sif01a
count if (sif01a==1 & sif01b==1)
disp 1803/4614*100
39.076723
Tab sif01a sif01b
tab sif01a sif01b, row
tab sif01a sif01b, row nofreq
replace sif01a=0 if (sif01a==9 | sif01a==99)
tab sif01a sif01b, row nofreq
replace sif01b=0 if (sif01b==9 | sif01b==99)
tab1 sif01a-sif09y
for var sif01a-sif09y: replace X=0 if (X==9 | X==99)
for var sif01a-sif09y: replace X=0 if (X==9 | X==99)
sum sif01a-sif09y
création de variables
generate ab=sif01a+sif01b ou encore
gen ab=sif01a+sif01b
gen abc=sif01a+sif01b+sif01c
egen totFR=rsum(sif01a-sif09y)
tab totFR
Matrice et base de données
• set matsize 5000
mkmat sif01a,mat(A)
mat list A
mat xposA=A’
mat B=A*xposA
mat list B
mat D=xposA*A
mat list D
mat B=A*xposA
mkmat sif01a sif01b sif01c sif02d sif03e sif03f
sif03g sif03h sif03i sif04j sif04k sif04l sif04m
sif04n sif05o sif05p sif05q sif06r sif06s ///
sif06t ///
sif07u ///
sif07v ///
sif07w ///
sif08x ///
sif09y ,mat(X)
= = > ou encore
ou encore
mkmat sif01a sif01b sif01c sif02d sif03e
sif03f sif03g sif03h sif03i sif04j
sif04k sif04l sif04m sif04n sif05o
sif05p sif05q sif06r sif06s sif06t
sif07u sif07v sif07w sif08x
sif09y,mat(X)
Graphiques
graph box lsalary, over(male) ytitle(Log
academic salary) asyvars
histogram lsalary, by(male, rows(2)) xtitle(Log
academic salary)