guide d’´econom´etrie appliqu´ee - ciranomccauslw/ecn3949/guideeconom...guide...
Post on 21-Jan-2021
10 Views
Preview:
TRANSCRIPT
Guide d’econometrie appliquee
Simon Leblond1
Universite de Montrealsimon.leblond@umontreal.ca
9 septembre 2003
1Merci a William McCausland, Francois Vaillancourt et Benoit Perron pourleurs commentaires utiles dans l’elaboration de ce document. Je demeure seuleresponsable de toutes les erreurs.
Table des Matieres
1 Commandes generales importantes 51.1 Importation des donnees . . . . . . . . . . . . . . . . . . . . . 51.2 Manipulation des donnees . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Operateurs mathematiques . . . . . . . . . . . . . . . . 91.2.2 Operateurs logiques et de comparaison . . . . . . . . . 91.2.3 Fonctions et Operateurs matriciels . . . . . . . . . . . 9
1.3 Autres transformations des variables . . . . . . . . . . . . . . 131.4 Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5 Exemples et resultats pour le Chapitre 1 . . . . . . . . . . . . 16
2 Visualisation des donnees 182.1 Impression/Exportation des donnees . . . . . . . . . . . . . . 18
2.1.1 Impression a l’ecran . . . . . . . . . . . . . . . . . . . . 182.1.2 Exportation . . . . . . . . . . . . . . . . . . . . . . . . 182.1.3 Impression . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Exemples et resultats pour le Chapitre 2 . . . . . . . . . . . . 19
3 Graphiques 213.1 Exemples et resultats pour le Chapitre 3 . . . . . . . . . . . . 24
4 Regressions Simples 264.0.1 Estimateurs de Variance Robustes . . . . . . . . . . . . 28
4.1 Tests d’heteroscedasticite . . . . . . . . . . . . . . . . . . . . . 304.2 Test de Changement structurel (Test de Chow) . . . . . . . . 32
5 Variables instrumentales et Doubles Moindres Carres 345.1 Estimateur Variables Instrumentales . . . . . . . . . . . . . . 345.2 DMCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1
5.3 Tests d’endogeneite . . . . . . . . . . . . . . . . . . . . . . . . 37
6 Estimateur du Maximum de Vraissemblance (EMV) 38
7 Moindres Carres Generalises 41
8 Variables dependantes qualitatives 438.1 Probit/Logit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438.2 Tobit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9 Series Chronologiques 489.1 Operation sur les variables dans le cadre de series chronologiques 489.2 Operateurs de series temporelles . . . . . . . . . . . . . . . . . 489.3 Tests d’autocorrelation . . . . . . . . . . . . . . . . . . . . . . 509.4 Methode de Box-Jenkins . . . . . . . . . . . . . . . . . . . . . 51
9.4.1 Stationnarite des donnees . . . . . . . . . . . . . . . . 519.4.2 Modelisation des cycles: Modeles AR, MA, ARMA,
ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . 539.4.3 Selection de Modele . . . . . . . . . . . . . . . . . . . . 55
10 Donnees longitudinales (Panel) 5610.1 Variables Binaires . . . . . . . . . . . . . . . . . . . . . . . . . 5610.2 Effets Fixes et Effets Aleatoires . . . . . . . . . . . . . . . . . 57
11 Interaction avec les traitements de texte et les tableurs 60
12 Ou trouver ses donnees et comment les extraires 61
A Tableaux Recapitulatifs 62A.1 Fonctions de Matlab . . . . . . . . . . . . . . . . . . . . . . . 62A.2 Fonctions de Stata . . . . . . . . . . . . . . . . . . . . . . . . 65A.3 Operateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2
Introduction
Ce manuel ne vient pas se substituer a vos notes de cours, mais plutot lescompleter en vous donnant un guide pour l’utilisation des logiciels econome-triques. A ce titre, bien que vous trouverez quelques fois des explicationsplus importantes sur la nature d’un probleme econometrique, la majorite dutemps on supposera que vous possedez deja les connaissances liees a la sectionconsultee.
Chaque section presente rapidement le but de l’operation qui y est traite.Les commandes appropriees sont ensuite presentees, d’abord individuelle-ment, puis dans le cadre d’exemples concrets. Pour l’instant, les deux logi-ciels couverts par ce manuel sont Matlab et Stata. Notez que ce manuelcouvre la version 7 de Stata, la version 8 sera integree peu a peu pendantl’annee qui vient. Comme il s’agit d’un manuel encore en developpement, deschangements lui seront constamment apportes en cours de session et la ver-sion distribuee sera toujours la plus recente. Tout commentaire, suggestionou correction sera bienvenu et apprecie.
Prenez note que ce texte decrit seulement certaines fonctions ainsi queleurs options les plus souvent utilisees pour le genre de recherches effectueesau bac et a la maıtrise en economie, il n’est donc pas du tout exhaustif. Unconseil: apprenez a utiliser l’aide de Matlab et de Stata. Il s’agit la d’outilsfort utiles pour decouvrir de nouvelles fonctions ou pour connaıtre l’ensembledes options disponible pour les fonctions decrites dans ce guide.
Les fonctions sont presentees dans le format suivant:
Pour Matlab:
1. Le nom de la fonction;
2. Le format d’entree;
3
3. Sa description;
4. Ses options (s’il y en a);
5. Un exemple court.
Pour Stata:
1. Le nom de la fonction et, entre parantheses, le nom abrgege de lafonction;
2. Sa description;
3. Le format d’entree;
4. Ses options (s’il y en a);
5. Un exemple court.
La majorite des chapitres se terminent par une section donnant un exempleplus long et plus concret d’applications des informations presentes dans lechapitre.
La nomenclature suivante est suivie dans ce guide:
• Le texte en machine a ecrire designe les fonctions dans leur formegenerique.
• Le texte en italique designe les variables et autres chaınes de caracteresqui doivent etre remplacees.
• Le texte en sans serif designe le texte tel qu’il serait entre a l’ordinateur.
Les chapitres 1 a 3 font le tour des commandes de base dans Stata etMatlab, ainsi que leur format de saisie. A la suite de ces chapitres vousdevriez etre en mesure d’importer, de manipuler, puis d’exporter vos donneeset de tracer des graphiques.
Les chapitres 4 a 10 abordent quant a eux chacun un sujet specifiquede l’econometrie. Ils prennent donc une approche quelque peu differentepuisqu’ils introduisent peu de nouvelles fonctions, se concentrant plutot surla demarche a adopter pour effectuer l’operation en question.
4
Finalement, les deux derniers chapitres (11 et 12) (a venir) sortent quelquepeu du cadre de ce guide en abordant respectivement la manipulation desdonnees par Word et Excel et la recherche de donnees. Ces chapitres ont pourbut de vous aider dans le cadre plus general de la production d’un travail derecherche.
5
Chapitre 1
Commandes generalesimportantes
1.1 Importation des donnees
Matlab
load
load nom de fichier1
load fonctionne seulement avec les donnees numeriques, mais a l’avantaged’etre la commande d’importation de donnees la plus simple de Matlab. loadimporte le fichier specifie dans une matrice du meme nom. Les donneesdoivent etre separees par des espaces ou des tabulations.
ex: importe les donnees du fichier ‘monfichier.dat’ dans la ma-trice ‘monfichier’load monfichier.dat
Note: load devrait etre suffisant pour les besoin du cours ECN 3949.
xlsread
[A, B] = xlsread(nom de fichier)
1Puisque le dossier de travail est deja specifie dans Matlab, il est inutile de donner lechemin d’acces avec le nom des fichiers. Les extensions doivent par ailleurs etre presentes.
6
xlsread lit la premiere feuille d’un tableur Microsoft Excel (‘.xls’) et renvoittoutes les donnees numeriques dans la matrice A et toutes les donnees textedans la matrice B de meme taille. Les element de texte sont remplaces par‘NaN’ dans la matrice A et les elements numeriques sont laisses vides dansla matrice B.Si xlsread rencontre des donnees texte dans la premiere rangee et la premierecolonne, la matrice B ne contiendra que ces valeurs.
ex: importe les donnees du fichier ‘tableur.xls’ dans les matrices‘num’[num,txt] = xlsread(‘tableur.xls’)
textread
[A, B, C . . . ] = textread(‘nom de fichier’, ‘format’)textread permet d’importer des donnees d’un fichier formatte nom de fichiervers les variables specifiees A, B, C, etc. format est une chaıne de caractereset specifie le format des variables a importer, il doit y avoir un format parvariable. N’importe quel separateur de donnees peut-etre utilise par le fichier.Les formats possibles sont:
• %u: donnees numeriques, entier positif
• %f: donnees numeriques non-entieres
• %s: texte
• %q: texte, si entre guillemets (‘ “xyz” ’), renvoie seulement le texte(‘xyz’)
• ‘lettres’: ignore le texte ecrit; par exemple si on a ‘etage6’, “ ‘format′
= ‘etage%u’ renverait ‘6’ ”
Il est suggere de se limiter a %f et %q qui sont amplements suffisants dans lecadre du cours.Options: headerlines: specifie un nombre de lignes a sauter au debut dufichier.[A, B, C, . . . ] = textread(‘fichier’,‘format′’,‘headerlines’, #)
ex: fmt = ‘%f%f%f%q’[y,var1,var2,var3] = textread(‘ECN3949TP1.txt’,fmt,headerlines,2)
7
dlmread
M = (‘nom de fichier’, ‘separateur de donnees’)Moins flexible que textread, mais plus que load, dlmread fonctionne seule-ment avec les donnees numeriques, mais a l’avantage d’etre plus simple.dlmread importe le fichier specifie dans la matrice M .‘separateur de donnees’ specifie le type de separateur dans le fichier, il peutprendre les valeurs suivantes:
• ‘,’: virgule, valeur par defaut
• ‘;’: point-vigule
• ‘\t’: tabulation
• ‘ ’: espace
ex: M = (‘ECN3949TP1.txt’,‘\t’)
Stata
insheet
Rapide et efficace, insheet permet d’importer les donnees d’un fichier textepossedant une observation par ligne et dont les donnees sont separees pardes tabulations ou des virgules.si le nom des donnees sont sur la premiere ligne:
insheet using nomdefichier2
si le fichier ne contient pas le nom des donnees:
insheet [nomdesvariables]3 using nomdefichier
options4: clear, specifie que les donnees en memoires peuvent etre rem-placees par les nouvelles donnees importees.
2A moins de precisions contraires, nomdefichier indique le nom complet, donc avec lechemin d’acces et l’extension (a : \test.txt par exemple).
3La nomenclature de l’aide de Stata est conservee tout au long de ce guide, ainsi lesarguments entre “[ ]” designent des arguments facultatifs.
4Les options dans stata sont separes du reste de la commande par une virgule. Parexemple, dans le cas present: insheet using ”c:\ test.txt”, clear
8
infile (inf)5
Permet plus de flexibilite que insheet en permettant que les observationssoient sur plusieurs lignes ou que les donnees soient separees par des espaces.une observation par ligne: infile nomdesvariables using nomdefichierobservations sur plusieurs lignes:infile nom des variables [ skip(#) nom des variables] using ‘‘nom de fichier’’;ou # designe le nombre de ligne a sauter pour continuer la lecture de l’observation.options: clear, voir insheet
ex: observation sur la premiere, la deuxieme et la quatriemeligne. . .infile var1 var2 skip var3 var4 skip(1) var5 var6 using “a:\ test.raw”
1.2 Manipulation des donnees
Matlab
Matlab etant un logiciel de manipulations de matrices, il n’y a pas dedistinction faite entre une matrice et une variable comme c’est le cas avecStata. Les variables sont automatiquement traite comme des vecteurs dansle cas de Matlab.Toutes les manipulations de donnees sont donc traitees dans la section 1.2.3:Fonctions et operateurs matriciels.
Stata
generate (g)Probablement la commande la plus utile (et utilisee) dans Stata, elle permetde creer des nouvelles variables.generate nouvellevariable = expression
ex: g x2 = x^2
5Le nom entre parantheses qui suit le nom de la fonction designe l’abreviation que l’onpeut utiliser dans le code.
9
replace
Meme idee que generate, mais pour une variable existante.replace variable existante = expression
ex: replace x2 = x/2
1.2.1 Operateurs mathematiques
Ce sont les memes dans Matlab et Stata:
Addition: +Soustraction: -Multiplication: *Division: /Puissance: ^
1.2.2 Operateurs logiques et de comparaison
Ce sont les memes dans Matlab et Stata:
ET: &OU: |Non (¬) : ~
Egal : ==Different : ~ =Plusgrand : >Pluspetit : <Plusgrandouegal : >=Pluspetitouegal : <=
1.2.3 Fonctions et Operateurs matriciels
Matlab
10
Creation de matrices
Les matrices et les vecteurs sont crees dans Matlab en inscrivant directementle nom de la matrice et les operations qu’on desire effectuer separees par lesigne egal (‘=’).
ex:A = [1,2,3,4;5,6,7,8]; ou les virgules separent les colonnes et lespoints-virgules separent les rangees. (matrice 2× 4)B = A*2C = A^2
Fonctions matricielles
• Creer une matrice identite 2× 2: I = eye(2)
• Creer une matrice 4x5 dont chaque element egale a zero: Z = zeros(4, 5)
• Creer un vecteur 1x6 dont chaque element egale a un: O = ones(1, 6)
• Creer une matrice 2x2 dont chaque element est un alea U(0,1): U =
rand(2), equivalent a U = rand(2, 2)
• Creer une matrice 3x8 dont chaque element est un alea N(0,1): N =
randn(3, 8)
Operation sur les matrices
• Extraction d’une sous-matrice:
– Extraire la deuxieme colonne de A: A(:,2)
– Extraire la deuxieme rangee de A: A(2,:)
– Extraire l’element A12: A(1,2)
– Extraire le vecteur (A12, A13, A14): A(1,2:4)
• Empilage de matrices
– Empiler horizontalement (mettre les rangees une sur l’autre): [A,A]
(4× 4)
11
– Empiler verticalement (mettre les colonnes une a cote de l’autre):[A;A] (2× 8)
• Operation element par element: operateur mathematique precede d’unpoint (‘.’)
– Multiplication de A par B element par element: A.*B
• Inverse: Inv(A)
• Transposee: A′
• Matrice diagonale n× n, avec pour diagonale les elements de V , ou Vest un vecteur n× 1 ou 1× n: diag(V )
• Extraire la diagonale d’une matrice carree A sous forme de vecteur:diag(A)
Autres trucs utiles
• Creation d’une variable binaire: g = (condition logique);ex: d = (y >= 0)
• Creation d’un vecteur dont les elements sont une suite: v = debut:increment:fin;ex: x = 1.0;0.1;2.0 produit le vecteur [1.0,1.1,1.2, . . . ,2.0];notez que l’argument increment est facultatif, ainsi x = 1:10 produit levecteur [1,2, . . . ,10].
Stata
Fonctions matricielles
matrix (mat)L’equivalent de generate pour les matrices, permet de creer des nouvellesmatrices ou de modifier des matrices existantes.matrix nom de la matrice = expression
12
ex:Creation d’une matrice: mat A = B*CModification d’une matrice existante: mat A = A*2Construction d’une matrice: mat D = (1,0,0\0,1,0); ou les vir-gules separent les colonnes et les \ separent les rangees (matrice2× 3).Extraction d’une sous-matrice: mat A = B(1..4,2...); se lit rangees1 a 4, colonne 2 a N.Remplacement d’un element: mat A(1,1) = 3; remplace l’elementa11 par 3.
mkmat
Permet de transformer des variables existantes en vecteurs du meme nom ouen une nouvelle matrice.Transformation en vecteurs: mkmat nom(s) de variable(s)Transformation en matrice: mkmat nom(s) de variable(s), matrix [(nom de la nouvelle matrice)]
ex: mkmat x1 x2 x3 x4, mat(X)
svmat
Inverse de mkmat, transforme les colonnes d’une matrice en vecteurs.svmat matrice, [names(nom col1, nom col2, . . . )]; names peut aussi s’ecriren
ex: svmat X, n(x1,x2,x3,x4)
matrix get
Sert a obtenir une copie d’une matrice systeme6
Quelques matrices systemes:
• b: coefficients apres une estimation
• VCE: matrice de variance-covariance apres une estimation
matrix variable = get(matrice systeme)
6Les variables et les matrices systemes sont stockes par Stata dans des noms predefinisapres une operation donnee.
13
ex: matrix beta = get( b)
det(A): determinant de Arowsof(A): nombre de rangees de Acolsof(A): nombre de colonnes de Ael(A,i,j): element aij de AI(n): matrice identite n× ninv(A): inverse de la matrice carree Adiag(V ): matrice diagonale n × n, avec pour diagonale les elements de V ,ou V est un vecteur n× 1 ou 1× nvecdiag(A): extrait la diagonale d’une matrice carree A sous forme devecteur
Operateurs matriciel
Soit A et B, deux matrices carrees definies positives n×n et C, une matricedefinie positive t× n:Transposee: A′ (n× n)Somme: A + B (n× n)Difference: A - B (n× n)Produit vectoriel: B*C ′ (n× n)Division par un scalaire: A/k (n× n)Empiler les rangees horizontalement: A ((n + t)× n)Empiler les colonnes verticalement: A,B (n× 2n)
1.3 Autres transformations des variables
Matlab
Soit un vecteur z 1× n:exp(z): exponentielle de z element par elementlog(z): logarithme naturel de z element par elementsqrt(z): racine carree de z element par elementmean(z): moyenne des elements du vecteur zstd(z): ecart-type des elements du vecteur zvar(z): variance des elements du vecteur z
14
sum(z): somme des elements du vecteur zcumsum(z): somme cumulative des elements du vecteur z (retourne un vecteur1× n)min(z): renvoie l’elements du vecteur z ayant la valeur la moins eleveemax(z): renvoie l’elements du vecteur z ayant la valeur la plus eleveelength(z): nombre de colonnes du vecteur zsize(z): renvoie un vecteur 1×2 contenant la taille de la matrice (rangees,colonnes)
Stata
log(x): logarithme naturel de x, equivalent a ln(x)exp(x): exponentiel de x, i.e. ex
mod(x,y): partie entiere de x par rapport a y, par exemple: mod(5,26) = 5abs(x): valeur absolue de xsqrt(x): racine carree de x, equivalent a x^1/2
max(x1, ..., xn): renvoie l’argument possedant la valeur la plus eleveemin(x1, ..., xn): renvoie l’argument possedant la valeur la moins eleveesum(x): somme de tous les elements de xuniform(): donne une valeur aleatoire entre 0 et 1 (ditribution uniforme sur[0,1))
1.4 Divers
Matlab
CommentairesIl est possible d’inserer des commentaires dans son programme en prenantsoin de debuter la ligne de commentaire par le symbole ‘%’.
ex: % Ceci est un commentaire.
Suppression de la sortiePour que Matlab effectue une operation sans que l’on voit le resultat, il suffitde terminer la ligne de commande par un point-virgule (‘;’).
ex: B = [8,7,6,5;4,3,2,1]; N’affichera pas la matrice B.
15
Commande sur plusieurs lignesIl est possible d’ecrire une commande sur plusieurs lignes. Les ‘. . . ’ indiquenta Matlab que la commande se poursuit a la ligne suivante.
ex:[v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16] = . . .textread(‘TP1donnees.txt’, fmt);
Stata
CommentairesIl est possible d’inserer des commentaires dans son programme en prenantsoin de debuter la ligne de commentaire par le symbole ‘*’.
ex: * Ceci est un commentaire.
more
Avez-vous deja rencontre le message --more-- qui fait une pause dans l’affichagede vos donnees? Si ca vous enerve, vous pouvez enlever ce message enspecifiant set more off au debut de votre programme.
set matsize (set mat)La taille maximale des matrices est fixee par defaut a 40 × 40 dans Stata.Pour utiliser des matrices plus grandes vous devez utiliser la fonction set
matsize.set matsize #; ou # est un nombre entre 10 et 800 qui indique la taillemaximale des matrices.
if
La majorite des fonctions peuvent etre suivies de la commande if qui permetde specifier une condition pour que l’expression soit executee. if est placeapres la fonction, mais avant les optionsCette option ne sera pas mentionnee pour chaque fonction puisqu’elle estpresente tres souvent.commande if expression
ex: replace x = y if x < y
16
in
La majorite des fonctions peuvent etre suivies de la commande in qui permetde specifier l’etendue des donnees affectees par la fonction. in est place apresla fonction, mais avant les options.Cette option ne sera pas mentionnee pour chaque fonction puisqu’elle estpresente tres souvent.commande in etendue; ou etendue peut prendre la forme # ou #/#, et# peut-etre un nombre positif, l (derniere observation), f (premiere obser-vation) ou un nombre negatif (distance par rapport a la derniere observation).
ex:regress y x1 x2 in f/60; equivalent a regress y x1 x2 in 1/60: les60 premieres observations.list y in -10/l: les 10 dernieres observations.
1.5 Exemples et resultats pour le Chapitre 1
Lecture des donnees a partir du fichier Donnees.dat et manipulation desvariables dans le but de faire une regression. Le fichier Donnees.dat contient5 variables, comptant chacune 100 observations.
Matlab
load Donnees.dat;% Attribution de noms a certaines des variables.px = Donnees(:,1);qt = Donnees(:,2);% Construction d’une variable binaire: le rapport de la 3e sur la 4e variable doit% etre inclu dans l’ensemble [0,25;0,5]et la 5e variable doit etre egale% a 1 pour que la variable binaire egale 1.bin = (0.25 = Donnees(:,3)/Donnees(:,4) = 0.5 & Donnees(:,5) == 1);% Creation d’une variable indice.no = [1:100]
Stata
17
set more offinfile px qt var3 var4 var5 ”c:\mes documents\Donnees.dat”, clear* Construction d’une variable binaire: le rapport de la 3e sur la 4e variable doit* etre inclu dans l’ensemble [0,25;0,5] et la 5e variable doit etre egale* a 1 pour que la variable binaire egale 1.g bin = (0.25 = var3/var4 = 0.5 var5==1)* Creation d’une variable indice.g no = n
18
Chapitre 2
Visualisation des donnees
2.1 Impression/Exportation des donnees
2.1.1 Impression a l’ecran
Matlab
Matlab affiche par defaut toutes les operations effectuees a l’ecran. Poureliminer la sortie, se referer a la section 1.4.
Stata
list
Affiche a l’ecran la valeur des variables specifees.list [nom(s) de variable(s)]; si aucun nom de variable est specifie, Stataaffiche toutes les variables.
2.1.2 Exportation
Matlab
diary
Permet de sauvegarder une copie de sa session dans le fichier specifie. Doitetre suivi de diary(‘off’) a la fin du programme.diary(‘nom de fichier’)programme
19
diary(‘off’)
wk1write
wk1write(‘nom de fichier’,M)
Sauvegarde la matrice M dans un fichier de tableur nom de fichier.wk1;aucune extension ne doit donc etre specifiee.
Stata
log using
Permet de sauvegarder une copie de sa session dans le fichier specifie. Doitetre suivi de log off a la fin du programme.log using nom de fichierprogrammelog off
Options: replace, indique a Stata de remplacer le fichier existant.
2.1.3 Impression
Matlab
La facon la plus pratique d’imprimer ses resultats est d’utiliser la fonctiondiary, puis de traiter le fichier de sortie avec son traitement de texte prefere.
Stata
La facon la plus pratique d’imprimer ses resultats est d’utiliser la fonctionlog, puis de traiter le fichier “.log” avec son traitement de texte prefere.
2.2 Exemples et resultats pour le Chapitre 2
Reprenons l’exemple du chapitre 1, en incluant cette fois les fonctions duchapitre 2.
Matlab
diary(’ExChap2.out’);
20
load Donnees.dat;% Attribution de noms a certaines des variables.px = Donnees(:,1);qt = Donnees(:,2);% Construction d’une variable binaire: le rapport de la 3e sur la 4e variable doit% etre inclu dans l’ensemble [0,25;0,5] et la 5e variable doit etre egale% a 1 pour que la variable binaire egale 1.bin = (0.25 = Donnees(:,3)/Donnees(:,4) = 0.5 & Donnees(:,5) == 1);# Creation d’une variable indice.no = [1:100]diary(’off’)
Stata
log using ”c:\mes documents\ExChap2.log”, replaceset more offinfile px qt var3 var4 var5 ”c:documents.dat”, clear* Construction d’une variable binaire: le rapport de la 3e sur la 4e variable doit* etre inclu dans l’ensemble [0,25;0,5] et la 5e variable doit etre egale* a 1 pour que la variable binaire egale 1.g bin = (0.25 = var3/var4 = 0.5 & var5 ==1)list px qt bin* Creation d’une variable indice.g no = nlog close
21
Chapitre 3
Graphiques
Matlab
plot
Trace des nuages de point en deux ou trois dimensions.plot(x, y,‘couleur style marqueur’,x, y2,‘couleur style marqueur de 2’,x, y3,...)
Ou ‘couleur style marqueur’ est une chaıne de caractere optionnelle con-tenant de un a quatre caracteres et qui definit la couleur de la serie, le stylede la ligne et le type de marqueur des points.Les possibilites sont:
• Couleurs:
– ‘c’: cyan
– ‘m’: magenta
– ‘y’: jaune
– ‘r’: rouge
– ‘g’: vert
– ‘b’: bleu
– ‘w’: blanc
– ‘k’: noir
• Styles:
22
– ‘-’: solide
– ‘--’: tiret (???)
– ‘:’: pointille
– ‘-.’: tiret-point
– ‘none’: pas de ligne
• Marqueurs:
– ‘+’, ‘o’, ‘*’, ‘x’: marqueur du meme signe
– ‘s’: carre (plein)
– ‘d’: losange (plein)
– ‘’,‘v’,‘<’: triangle vers le haut, le bas ou la gauche respective-ment (plein)
– ‘p’: pentagone (plein)
– ‘h’: hexagone (plein)
Il est possible de donner une seule variable, Matlab fait alors un graphiquede cette variable par rapport a l’indice des observations.
ex:plot(y): courbe de y par rapport a l’indice des observationsplot(x,y): courbe de y par rapport a x, options standard (lignepleine,pas de marqueur)plot(x,y,‘k+’): courbe de y par rapport a x, marqueurs en ‘+’,noirs (pas de ligne)plot(x,y,‘b-d’,x,y2,‘r:’): courbe de y par rapport a x et de y2 parrapport a x (sur le meme graphique), premiere courbe bleue,pleine, marqueurs en losanges, deuxieme courbe rouge, pointillee(pas de marqueurs)
Il est possible une fois le graphique trace de modifier une foule de ses parametres,voici quelques-unes de ces fonctions:
xlabel(‘titre’): specifie le titre de l’axe des xylabel(‘titre’): specifie le titre de l’axe des ytitle(‘titre)’: specifie le titre du graphique.
23
axis: permet de definir les proprietes des axes, voir l’aide de Matlab pourplus de details.grid: permet de definir les proprietes des axes, voir l’aide de Matlab pourplus de details.
hold
Permet de superposer plusieurs graphiques en specifiant hold on.Pour ne plus superposer les graphiques suivant, il suffit de specifier hold
off.plot(x,y)hold on
plot(x,y2)plot(x,y3)hold off
Pour sauvegarder un graphique, il suffit de selectionner Save dans le menuFile de la fenetre du graphique.
Stata
graph (gr)Trace des graphiques.graph nom des variables, [type de graphique, autres options]Ou type de graphique peut prendre les valeurs suivantes:
• histogram (h): histogramme
• twoway (t): nuage de points a deux axes; valeur par defaut si plusieursvariables sont affiches. La premiere variable specifiee est toujours lavariable dependante.
• bar (b): graphique a barres
• pie (p): graphique en pointe de tartes
Voici certaines des options supplementaires les plus utiles:
• xlog, ylog: specifie que l’axe des x ou des y respectivement doit etreen echelle logarithmique.
24
• xline, yline: specifie qu’une grille en x ou en y respectivement de-vrait etre affichee.
• connect(option) (c(option)): specifie si les points devraient etre con-nectes/. option peut prendre les valeurs suivantes:
– .: non-connectes; valeur par defaut
– l: lignes droites entre les points
– s: traces des lignes courbes entre les points (A VERIFIER)
• symbol(option) (s(options)): specifie le symbole que doivent prendreles points. option peut prendre les valeurs suivantes:
– O: grand cercles; valeur par defaut
– o: petits cercles
– .: points
– i: invisibles
• saving(nomdefichier), [replace]: sauvegarde le graphique dans lefichier specifie, si aucune extension n’est specifiee, Stata ajoute pardefaut “.gph”.replace indique que le fichier existant peut etre remplace.
3.1 Exemples et resultats pour le Chapitre 3
Matlab
diary(’ExChap3.out’);% creation d’un indice de temps commencant a 4.t = 4:103;% creation du log de cet indice.lnt = log(t);plot(t,lnt,‘k’)plot(t,lnt,‘k-’)plot(t,lnt,‘k-p’)hold onplot(t,-lnt,‘b-+’)
25
xlabel(‘temps’)ylabel(‘log du temps’)title(‘courbe logarithmique’)diary(’off’)
Stata
log using ”e:\ExChap3.log”, replaceset more off* Fixer le nombre d’observations a 100. set obs 100* creation d’un indice de temps commencant a 4. g t = n+3 * creation du logde cet indice. g lnt = log(t) graph lnt t, saving(”e:1”, replace)graph lnt t, yline saving(”e:2”, replace)graph lnt t, yline c(s) saving(”e:3”, replace)graph lnt t, yline s(.) saving(”e:4”, replace)graph lcrd t, xlog yline c(s) s(i) saving(”e:5”, replace)log off
26
Chapitre 4
Regressions Simples
Dans ce chapitre et les suivants, il est suggere de lire la section de Matlabmeme si on utilise Stata: contrairement a ce dernier ou on a qu’a utiliser unefonction pour effectuer l’operation desiree, Matlab necessite l’elaboration pasa pas de l’operation qui est effectuee par la boıte noire qu’est Stata.
Dans ce chapitre nous considererons le modele suivant:
y = β0 + β1x1 + β2x2 + · · ·+ βkxk + uy = Xβ + U
Matlab
MCO
Definition des variables:X = [ones(size(x1),x1,x2,. . . ,xk][T,K] = size[X]T et K sont respectivement le nombre d’observations et le nombre de variablesindependantes.Procedure pour calculer les moindres carres ordinaires (MCO):Calcul des coefficient:b = inv(X’*X)*X’*you X est une matrice T ×K, Y est un vecteur t× 1 et b un vecteur k × 1Calcul des residus:e = y-X*b
27
Calcul de la variance des residus:sigma2 = (e’*e)/(T-K)Calcul de la variance des coefficients:varb = sigma2 * inv(X’*X)Calcul de l’ecart-type des coefficients:etype = sqrt(diag(varb))Creation d’un vecteur de y-moyen:ybar = [ones(size(y))*mean(y)]Vecteur des y predits:yhat = X*bVariation expliquee:SSE = sum((yhat-ybar).^2)Variation totale:SST = sum((y-ybar).^2)Calcul du R2:R2 = SSE/SST
Tests d’hypotheses et Intervalles de confiance
Test de H0,β2 = 0:b2 = b(3)etype2 = etype(3)t2 = b2/etypeb2On obtient ainsi la valeur de la statistique t.
Intervalle de confiance a 95% de β2:bornesupp = b2 + etype2*1.96borneinf = b2 + etype2*(-1.96)
Fonctions dans Matlab
La notion de fonction est introduite, car vous effectuerez des MCO tellementsouvent qu’il vous est suggere d’en faire une fonction des maintenant.
Une fonction est un fichier matlab independant qui contient du codea etre execute lorsque son nom est invoque.
28
La premiere ligne du fichier doit etre sous la forme suivante:function [varo1, varo2, . . . ] = Nom de fonction(vari1, vari2, . . . )ou varo designe une variable retournee par la fonction et vari designe unevariable utilisee par la fonction.Les lignes subsequentes contiennent le code a etre execute.La fonction peut ensuite etre appelee par la commande suivante:[vars1, vars2, . . . ] = Nom de fonction(vare1, vare2, . . . )ou vars sont les nom qu’on desire utiliser pour les variables varo et vare lenom de variables que l’on donne a la fonction.
ex: MCO.mfunction [b,e,etype,R2] = MCO(X,y)[T,K] = size(X);b = inv(X’*X)*X’*y;e = y-X*b;sigma2Ch = (e’*e)/(T-K);varChb = sigma2Ch * inv(X’*X);etype = sqrt(diag(varChb));ybar = [ones(size(y))*mean(y)];yCh = X*b;SSE = sum((yCh-ybar).^2);SST = sum((y-ybar).verb+2+);R2 = SSE/SST;
Cette fonction serait appelee par la commande suivante:[beta,u,etype,R2] = MCO(Z,y)ou beta, u, etype et R2 sont les noms de variables qui seront utiliseesdans le code et Z et y sont les variables contenant les donnees aetre traitees. Z prend generalement la forme Z = [ones(size(x1)),x1,x2,...].
4.0.1 Estimateurs de Variance Robustes
Il peut etre utile de pouvoir calculer une matrice de variance-covariance quisoit robuste a la presence d’heteroscedascticite. L’estimateur robuste de cettematrice le plus utilise est celui de White qui est donne par la formule suiv-
29
ante:
ˆV ar[b] =1
T
(X ′X
T
)−1(
1
T
T∑i=1
e2i xix
′i
)(X ′X
T
)−1
En matlab, toujours en utilisant les resultats de la fonction MCO.m, on de-vrait ecrire:e2 = e.^2varWhite = T*inv(X’*X)*sum((e2.*X)*X’)/T*inv(X’*X)
Stata
regress (reg)Incontournable si on desire faire des regressions par MCO. Effectue la regressionde la variable dependante sur la ou les variables independantes specifiees.regress variable dependante [variables independantes]Options:
• level(#) (l(#)): permet de specifier le niveau de confiance pour lesintervalles et le p-value (# doit etre un entier); si level() n’est passpecifie, # prend la valeur 95, i.e. le niveau de confiance est fixe a 95%.
• robust (r): calcule des variances robustes par la methode de Eicker-White.
ex: reg y x1 x2 x3 if x1==1, r
predict
Permet de calculer les valeurs predites, les residus, etc. pour toutes les ob-servations.predict nom de nouvelle variable; sans aucune option calcule les valeurspredites (y).Options:
• xb: calcule X ′β, la valeur lineaire predite
• residuals (r): calcule les residus
• stdp: calcule les ecarts-types des valeurs predites
30
ex: calcule les y hors-echantillonreg y x1 x2 x3 in 1/100predict y hat if ˜
e(sample)
test (t)test permet d’effectuer des tests d’hypotheses apres une estimation. Il prendprincipalement deux formes:test [expression1 = expression2]: test que l’expression1 n’est pas statis-tiquement differente de l’expression2test liste de coefficients: test que les coefficients ne sont pas conjointe-ments statistiquement differents de zero.
ex:reg y x1 x2 x3test x1 = x2test x2 x3
4.1 Tests d’heteroscedasticite
La presence d’heteroscedasticite ne vient pas biaiser vos resultats, elle biaiseplutot les ecarts-types obtenus par MCO. Il existe plusieurs methodes sim-ilaires de tester pour la presence d’heteroscedasticite. La plus simple est letest de Breusch-Pagen:
1. recuperer les residus de la regression qu’on desire tester;
2. generer le carre des residus;
3. regresser la carre des residus sur les variables dependantes de la regressionoriginale;
4. tester si les coefficients sont conjointement significatifs (test F ou testLM).
31
Matlab[b,u,etype,R2] = MCO(X,y)u2 = u.^2[bu,e,etypeu,R2u] = MCO(X,u2)
Test F:F = (R2u/length(bu’))/((1-R2u)/(length(u2)-length(bu’))) 1
Test LM 2:LM = length(u2)*R2uNotez bien que le R2 utilise est celui de la regression auxiliaireeffectuee en 3.
Statareg y x1 x2predict u, rg u2 = u2reg u2 x1 x2Il suffit alors de regarder la statistique F donnee par Stata.
La faiblesse du test de Breusch-Pagan est qu’il suppose les erreurs nor-malement distribuees. Afin de laisser tomber cette hypothese, il suffit d’ajouterle carre des variables dependantes et leurs produits croises dans la regressionde l’etape 3, il s’agıt la du test de White. Afin de limiter le nombre deregresseurs, on peut utiliser un test de White legerement modifie:
u2 = β0 + β1y + β2y2 + e
On procede pour le reste exactement de la meme facon que pour le test deBreusch-Pagan.
Que faire lorsque vous trouvez la presence d’heteroscedasticite? Deux op-tions s’offrent a vous:
• Calculer des variances robustes par la methode de White3
1Rappel: la forme generale du test F pour la signification conjointe de tous les coeffi-cients est: F = R2/k
(1−R2)/(n−k−1)2Rappel: la statistique LM suit une χ2
k3Il peut-etre bien tentant de proceder systematiquement avec les variances robustes
32
• Estimer le modele par MCG, i.e. modeliser la forme d’heteroscedasticite(voir le chapitre 7).
4.2 Test de Changement structurel (Test de
Chow)
Considerez le modele suivant:
y = β0 + β1x1 + β2x2 + u
Le test de Chow sert a verifier s’il existe une difference dans l’influenced’une variable dependante entre deux groupes de donnees, i.e. si le coefficientest statistiquement different. Les deux groupes de donnees pourraient etredeux series d’observations ou deux periodes de temps par exemple.La facon “classique” d’effectuer le test de Chow est d’effectuer la regressiondu modele pour les deux groupes de facon independante et pour les deuxgroupes ensemble:= β10 + β11x11 + β12x12
y2 = β20 + β21x21 + β22x22
y = β0 + β1x1 + β2x2 puis de tester si les coefficient sont statistiquementdifferents par un test F :
F =( ˆSSRy − ˆSSRy1 − ˆSSRy2)/q
( ˆSSRy1 − ˆSSRy2)/n1 + n2 − 2k)
Rappel: q est le nombre de contraintes et k le nombre de coefficients, iciq = k = 3Une autre facon plus rapide d’effectuer ce test est de construire une variablebinaire egale a un pour les observations du deuxieme groupe et de faire uneseule regression sur les variables originales et sur les termes d’interaction avecla variable binaire4:
Eicker-White pour eviter de faire le test d’heteroscedasticite, mais cette facon de fairereduit la precision de vos resultats (i.e. gonfle les ecarts-types et reduit la puissance destests) lorsque les donnees sont homoscedastiques.
4Cette section et l’exemple qui la suit sont inspires de la rubrique de l’aide de Stata:How can I compute the Chow test statistic? par Bill Gould.
33
Soit δ la variable binaire:
y = β0 + β1x1 + β2x2β3δ + β4x1δ + β5x2δ
On desire maintenant tester si β0 = (β0 + β3), si β1 = (β1 + β4) et si β2 =(β2 + β5). Ce qui revient a tester si β3, β4 et β5 sont conjointement differentde 0. Ceci peut etre facilement effectue par un test de F .
ex:
Matlabg2 = (groupe ==2);g2x1 = g2*X(:,2);g2x2 = g2*X(:,3);Xg = [X,g2,g2x1,g2x2];function [b,u,etype,R2] = MCO(X,y);function [bg,ug,etypeg,R2g] = MCO(Xg,y);
# Test F:F = (R2 - R2g/length(b’))/((1-R2g)/(length(u)-length(b’)))5
Statag g2 = (groupe == 2)g g2x1 = g2*x1g g2x2 = g2*x2reg y x1 x2 g2 g2x1 g2x2test g2 g2x1 g2x2
5Rappel: la forme generale R2 du test F est: F = (R2ur−R2
r)/k(1−R2
ur)/(n−k−1)
34
Chapitre 5
Variables instrumentales etDoubles Moindres Carres
Lorsqu’une variable “independante” est correlee avec le terme d’erreur, les hy-potheses classiques du modele lineaire sont violees et on se retrouve face a unprobleme d’endogeneite. Dans ces cas, on peut faire appel a l’estimateurde variables instrumentales (VI) ou aux doubles moindres carres or-dinaires (DMCO).
5.1 Estimateur Variables Instrumentales
Soit X, une matrice de VI et Z, la matrice originale. L’estimateur VI estdonne par:
β(V I) = (X ′Z)−1X ′y
et l’estimateur VI de la covariance par:
σ2(X ′Z)−1(X ′X)(Z ′X)−1
ou
σ2 =1
T(y − Zβ(IV ))
′(y − Zβ(IV )).
ou, lorsque K > J (K etant le nombre de VI et J le nombre de variablesindependantes), par:
β(IV ) = [Z ′X(X ′X)−1X ′Z]−1Z ′X(X ′X)−1X ′y.
35
σ2[Z ′X(X ′X)−1X ′Z]−1.
Matlab
Creons la fonction VI pour l’estimateur VI:function [bvi,evi,etypevi,varChbvi,R2vi] = VI(X,Z,y)[T,K] = size(X);bvi = inv(X’*Z)*X’*y;evi = y-Z*bvi;sigma2Ch = (evi’*evi)/(T-K);varChbvi = sigma2Ch * inv(X’*Z)*X’*X*inv(Z’*X);etypevi = sqrt(diag(varChbvi));ybar = [ones(size(y))*mean(y)];yCh = Z*bvi;SSEvi = sum((yCh-ybar).2);SSTvi = sum((y-ybar).2);R2vi = SSEvi/SSTvi;Notez que cette fonction est optimale seulement pour K ≤ J .
Stata
ivreg
ivreg permet de faire directement une regression par DMCO.ivreg variable dependante variables independantes (variable dependante =variable(s) intrumentale(s)), options
ou options peut prendre les memes valeurs que pour regress, ainsi quefirst qui affiche les resultats de la premiere regression.
ex:ivreg y1 z1 z2 (y2=x1), r first
predict peut etre utilise apres ivreg
36
5.2 DMCO
Le principe des doubles moindres carres ordinaires est d’utiliser une estima-tion de la variable endogene qui ne soit pas correlee avec le terme d’erreurpour effectuer la regression.Soit le modele suivant:
y1 = β0 + β1x1 + β2x2 + β3y2 + u
et soit z une VI de y2.
Comme leur nom l’indique, les DMCO se font en deux etapes.
1. Estimation de la variable endogene:Regression de y2 sur toutes les variables independantes (x1 et x2
ici) et la/les VI pour y2 (z ici).On recupere y2, l’estimation lineaire de y2.
2. Regression du modele avec y2:Regression de y1 sur une constante, x1, x2 et y2.
Cette derniere regression ne souffrant plus d’endogeneite, les βainsi obtenus sont non-biaises.
Matlab
Z = [ones(size(y1)),x1,x2,z][bz,uz,etypez,R2z] = MCO(Z,y2)y2hat = Z*bzX = [ones(size(y1)),x1,x2,y2hat][b,u,etype,R2] = MCO(X,y1)
Stata
Voir la fonction ivreg a la section precedente.
37
5.3 Tests d’endogeneite
Le test de Hausman permet de verifier s’il existe bel et bien une differenceentre l’estimateur VI et l’estimateur MCO, verifiant ainsi s’il y a bel et bienendogeneite des variables (si les deux estimateurs sont consistants, ils serontasymptotiquement egaux). Sous H0, la statistique de Hausman est:
H = [β(V I) − b]′[σ2[(Z ′X(X ′X)−1X ′Z]−1 − σ2(Z ′Z)−1]−1[β(V I) − b] ∼ χ2(J)
Matlab
En utilisant la fonction developpee a la section precedente:[bmco,umco,etypemco,varChbmco,R2mco] = MCO(X,y)[biv,uiv,etypeiv,varChbiv,R2iv] = IV(X,y)H = (biv-bmco)’*(varChbiv-varChbmco))’*(biv-bmco)
Stata
hausman
Effectue le test de specification d’Hausman.Estimation du modele moins efficient, mais convergent (VI ici)hausman, save
Estimation du modele efficient, mais peut-etre pas convergent (MCO ici)hausman
Options: constant (c), indique que la constante doit etre inclue dans lacomparaison des deux modeles.
ex:ivreg y1 z1 z2 (y2=x1)hausman, savereg y1 z1 z2 y2hausman, c
38
Chapitre 6
Estimateur du Maximum deVraissemblance (EMV)
La fonction de vraisemblance est la probabilite jointe des observationsetant donne les parametres d’interets, i.e.:
L(θ|y) = f(y1, . . . , yn|θ) =n∏
i=1
f(yi|θ)
L’estimateur du maximum de vraisemblance (EMV) a pour but dechoisir le vecteur de parametres θ qui maximise la fonction de vraisemblance,i.e. pour lequel les donnees observees sont les plus probables. Pour simplifierles choses, la fonction de log-vraisemblance,L(θ|y), est generalement utilisee1.Prenons l’exemple d’un echantillon normalement distribue, de moyenne 0 etde variance σ2:
f(y|X, β, σ2) =T∏
t=1
(2πσ2)−1/2 exp[(yt − x′tβ)2]
= (2πσ2)−T/2 exp
[−(y −Xβ)′(y −Xβ)
2σ2
].
La log-vraisemblance est
L(β, σ2) = −T
2log(2π)− T
2log σ2 − (y −Xβ)′(y −Xβ)
2σ2.
1Le logarithme etant une fonction montone, la valeur qui maximise L(θ|y) est la memeque celle qui maximise L(θ|y).
39
Les CPO sont:δlnL
δβ=
(y −Xβ)(y −Xβ)
2σ2
δlnL
δσ2= − T
2σ2+
(y −Xβ)′(y −Xβ)
2σ4
Ce qui nous permet de trouver
β = (X ′X)X ′y
σ2 =(y −Xβ)′(y −Xβ)
T=
e′e
T
Matlab
Il n’existe pas de fonction de maximisation dans Matlab, il faut donc min-imiser la negative de la fonction a l’aide de la fonction suivante:
fminsearch
[x, fval] = fminsearch(fonction, options, variables)ou x est la variable qui contiendra la/les valeur(s) qui minimise(nt)la fonc-tion, fval est une variable facultative ou seront stockees les valeurs de lafonction pour chacune des valeur minimale, fonction est le nom de la fonc-tion a minimiser (refere a un fichier ‘.m’) et variables est une liste de variablesutilisees par la fonction, mais qui ne doivent pas etre minimisees. Les optionspossibles sont:
• Display: ajuste l’affichage de la progression de la minimisation; sereferer a l’aide de Matlab pour plus d’info.
• MaxFunEvals: nombre maximal d’evaluations de la fonction permises
• MaxIter: nombre maximal d’iterations permises
Si aucune option n’est desiree, il faut utilisee l’ensemble vide [] pour options.
ex: voir section 8.1
40
Stata
ml
Permet de faire une estimation par maximum de vraisemblance pour uneequation donnee. Cette fonction etant fort complexe et tres peu utilisee dansle cadre des problemes abordes dans ce guide, il est laisse a la discretion dulecteur le soin de consulter l’aide de Stata a son sujet. Il existe normalementdes fonctions pre-definies pour les estimateur abordees ici qui doivent etretraites par maximum de vraisemblance (probit et logit par exemple).
41
Chapitre 7
Moindres Carres Generalises
La methode des moindres carres generalises (MCG) cherche a modeliserla fonction de la variance. Nous obtenons alors l’estimateur MCG
βMCG = (X ′V −1X)−1X ′V −1y
ou encoreβMCG = (X ′W−1X)−1W ′V −1y
et sa variance estvar[β] = σ2(X ′V −1X)−1.
ou V et W sont egaux a
W = σ2
x1 0 · · · 00 x2 · · · 0...
.... . .
...0 0 · · · xn
≡ σ2V
MatlabLe principe de base ici est de construire la matrice V avec la forme approprieede variance pour pouvoir ensuite calculer les βMCG.Voyons comment on estimerait le modele y = β0 + β1x1 + β2x2 + ε ou l’onsuppose que la variance suivre une fonction de type σ2(x) = σ2x2i:
X = [ones(size(y)),x1,x2];V = diag(x2);
42
[T,K] = size(X);
bGLS = inv(X’*inv(V)*X)*X’*inv(V)*y;eGLS = y-X*bGLS;sigma2ChGLS = (eGLS’*eGLS)/(T-K);varChbGLS = sigma2ChGLS * inv(X’*inv(V)*X);etypeGLS = sqrt(diag(varChbGLS));
ybar = [ones(size(y))*mean(y)];yChGLS = X*bGLS;SSEGLS = sum((yChGLS-ybar).2);SST = sum((y − ybar).2);R2GLS = SSEGLS/SST
Stata
vwls
permet de faire une regression lineaire ponderee par la variance.vwls variable dependante variables independantes [poids], options
Options: sd(nom variable) fournit une estimation de l’ecart-type de la vari-able dependante.
ex:vwls y x1 x2, sd(sigma2ch)ou sigma2ch est une estimation de l’ecart-type de y.
predict peut etre utilise apres vwls
43
Chapitre 8
Variables dependantesqualitatives
8.1 Probit/Logit
Un probit et un logit s’appuient en fait sur le meme principe, ils ne differentque dans la forme de la fonction de repartition qu’ils utilisent pour calculerl’effet sur la probabilite d’une variation de la variable latente. En effet,lorsque la variable dependante ne prend que des valeurs qualitatives (oui ounon par exemple), l’effet d’une variable independante sur la probabilite dedire oui doit etre “traduit” par une fonction de repartition. Cette dernierenous donne la probabilite associee a une valeur donnee de la valeur latenteexprimee par la combinaison lineaire des variables independantes.
Matlab
Pour le probit, on doit utiliser la fonction de repartition de la loi normale:
F (x) = Φ(x) =1√2π
∫ x
−∞e−z2
2 dz
normcdf
normcdf(X)Donne la valeur de la fonction de repartition de la loi normale pour la valeurde X specifiee.
44
Pour le logit, on utilie plutot la fonction de repartition de la loi logistique:
F (x) =1
1 + e−x
Comme il n’existe pas de fonction predefinie dans Matlab pour la fonctionde repartition de la loi logistique, on doit en construire une:
function [Fx] = logitcdf(x)Fx = 1/(1+exp(-x))
La procedure etant la meme pour un probit et un logit, elle ne sera demontreequ’une seule fois pour le cas de la loi logistique (logit).
Voyons d’abord comment construire une fonction de log-vraisemblance pourune loi normale:
function P = logvrais(b,X,y)[T,K] = size(y);sumy = sum(y);summy = T - sum(y);lXb = logitcdf(X*b’) L = y.*log(lXb) + (ones(T,1)-y).*log(ones(T,1)-lXb);P = -sum(L)
Voyons maintenant comment il nous est possible d’utiliser cette fonction pourtrouver les β par maximum de vraisemblance:
options = []bmin = fminsearch(@logvrais,[0,0,0,0,0,0,0,0,0,0,0],options,X,y)
Il ne nous reste maintenant qu’a calculer l’effet d’une variable sur la proba-bilite. Ceci peut etre fait en fixant toutes les autres variables a une valeur(generalement leur moyenne echantillonalle), puis en estimant le modele suc-cessivement pour deux valeurs de la variable. La difference de la probabilitede ces deux estimations lineaires de la variable dependante (y) donne la vari-ation de probabilite.
45
ex: le modele estime est y = β0 + β1x1 + β2x2 + β3bin1 + µ oubin1 est une variable binaire.options = []bmin = fminsearch(@logvrais,[0,0,0,0,0,0,0,0,0,0,0],options,X,y)yhat1 = bmin(1) + bmin(2)*mean(x1) + bmin(3)*mean(x2) + bmin(4)yhat2 = bmin(1) + bmin(2)*mean(x1) + bmin(3)*mean(x2)diff = normcdf(yhat1)-normcdf(yhat2)
Note: on pourrait aussi calculer l’effet marginal directement en calculant laderivee de l’esperance de y sachant X:
∂E[y|X]
∂X=
{dF (X ′β)
d(X ′β)
}β = f(X ′β)β
Par exemple, dans le cas d’un probit:
Pr(y = 1) = Φ(X ′β)
∂ Pr(y = 1)
∂X= φ(X ′β)β
Stata
probit (prob)Estime un modele probit.probit variable dependante variable independanteOptions: probit possede en grande partie les memes options que regress.Note: Ici predict donne par defaut la probabilite. Pour avoir l’estimationlineaire, il faut preciser xt dans les options de predict.
logit
Permet d’estimer un modele logit.logit variable dependante variable independanteOptions: logit possede en grande partie les memes options que regress.
46
8.2 Tobit
Un tobit est essentiellement un modele dont les donnees sont tronquees.Comme le probit, le tobit suit une loi normale.
MatlabSoit un modele tronque a gauche a zero (y∗ etant une variable latente de y):
y∗ = X ′β + µ
y = max(0, y∗)
Encore ici, on procedera par maximum de vraisemblance, mais on devracette fois considerer qu’il existe deux fonctions: une pour y = 0 et une poury > 0. La log vraisemblance pour le tobit sera donnee par la somme de lalog vraisemblance des deux fonctions:
si y = 0 :
l1(β, σ) = log[1− Φ(xiβ/σ)
si y > 0 :
l2(β, σ) = log{(1/σ)φ[(yi − xiβ)/σ]}
En matlab:
ybin = (y == 0)lvrais = ybin.*log(1-normcdf(X’*b/sqrt(sigma2Ch))) + ...(ones(T,1)-ybin).*log(1/sqrt(sigma2Ch)*normpdf((y-X’*b)/sqrt(sigma2Ch))P = -sum(lvrais)
Afin de calculer l’esperance de y etant donne x, il suffit de calculer:
E(y|x) = Φ(xβ/σ)xβ + σφ(xβ/σ)
Le transfert de cette fonction en Matlab ne devrait plus, a ce stade, vous
47
causer aucun probleme...
Stata
tobit
Permet d’estimer un modele tobit.logit variable dependante variable independanteOptions: ll(#), ul(#): indiquent respectivement que les donnees sonttronquees a gauche ou a droite. Une ou les deux de ces options doivent etrespecifiees. # indique le point de troncation. Si # n’est pas precise, Statasuppose qu’il s’agit respectivement de la valeur minimum et de la valeurmaximum.Les autres options de tobit sont en grande partie commune avec regress.
ex:tobit y x1 x2 x3 x4, ll(0)
48
Chapitre 9
Series Chronologiques
9.1 Operation sur les variables dans le cadre
de series chronologiques
Matlab
Il n’y a pas d’operation particuliere a effectuer avec Matlab lorsqu’on tra-vaille avec des series chronologiques.
Stata
tsset
Lorsqu’on travaille avec des series chronologiques dans Stata, il est necessairede l’en informer par la commande tsset.tsset variable de temps
ex:generate t = ntsset = t
9.2 Operateurs de series temporelles
Voici comment reproduire l’equivalent des operateurs Avance et Retard dansMatlab et Stata pour travailler sur les series chronologiques.
49
Matlab
Il n’existe pas d’operateur de series temporelles en soit dans Matlab, il fautdonc utiliser les operateurs matriciels vus au chapitre 1.
ex:
• Operateur Retard:T = length(X)x = X(3:T)x lag1 = X(2:T-1)x lag2 = X(1:T-2)Note: il faut ajuster manuellement le nombre d’observationsconsiderees.
• Operateur Avance:T = length(X)x = X(1:T-2)x fwd1 = X(2:T-1)x fwd2 = X(3:T)
Stata
l
L’operateur l est l’operateur Retard de stata. Il peut etre utilise avec toutesles fonctions qui acceptent les series temporelles une fois que la declarationde series temporelles a ete faite.l#.variableou variable est la variable sur laquelle l’operateur doit agir et # est le nombrede retards a appliquer. Si # est omis, un seul retard est applique (equivalenta l1.variable).
tsset tregress y x l.x l2.x
50
f
L’operateur f est l’operateur Avance de stata. Il peut etre utilise avec toutesles fonctions qui acceptent les series temporelles une fois que la declarationde series temporelles a ete faite.f#.variableou variable est la variable sur laquelle l’operateur doit agir et # est le nom-bre d’avance a appliquer. Si # est omis, une seule avance est appliquee(equivalent a f1.variable).
tsset tregress y x f.x f2.x
9.3 Tests d’autocorrelation
Inutile de mentionner que l’autocorrelation est un probleme qui n’est perti-nent que dans le cas des series temporelles. . .Le test ρ est le test le plus simple a effectuer pour tester la presence d’autocorrelation:
1. recuperer les residus de la regression qu’on desire tester;
2. regresser ut sur ut−1 a ut−n et X
3. Tester la signification conjointe des coefficients de cette regression parun test F.
Choisissons n egal a 3.
MatlabT = length(y)[b,u,etype,R2] = MCO(X,y)U = [ones(T-3,1),u(3:T-1),u(2:T-2);u(1:T-3)];[bu,e,etypeu,R2u] = MCO(U,u(4:T))
Test F:F = (R2u/length(bu’))/((1-R2u)/(length(u2)-length(bu’)-1))Test LM:LM = (T-3)*R2u
51
Statareg y x1 x2predict u, rreg u l.u l2.u l3.uIl suffit alors de regarder la statistique F donnee par Stata.
Le test de Durbin-Watson est aussi utilise pour tester la presence d’autocorrelation,mais comme il est moins precis et ne considere qu’une seule periode, nous nele couvrirons pas ici.
9.4 Methode de Box-Jenkins
Ce qu’il est important de comprendre, a mon avis, dans la methode de Box-Jenkins, c’est que l’objectif de toutes les operations que nous effectuons estde se retrouver avec un residu qui est un bruit-blanc. Le but ultime etantde modeliser la serie afin de faire des predictions, nous pouvons seulementetre certain d’avoir tout extrait lorsqu’il nous reste seulement un bruit-blanc:un processus qui est par definission impossible a predire.
9.4.1 Stationnarite des donnees
La premiere etape de la methode de Box-Jenkins consiste a effectuer lestransformations necessaires afin de s’assurer que notre serie est stationnaire,si elle ne l’est pas, il nous sera impossible de travailler dessus.Premiere question a se poser: doit-on travailler en log ou pas? Si la vari-able croıt a un taux constant, elle sera lineaire en log. De plus, les pro-prietes du logarithme font en sorte qu’il “ecrase” une variance croissante.Outre la transformation logarithmique, il existe trois cas possibles de non-stationnarite qui impliqueront des changements dans la serie (ou sa modelisation):
• Changement structurel
• Tendance deterministe
• Racine unitaire
52
Changement structurel
Les changement structurels peuvent etre detectes a l’aide du Test de Chow(voir section 4.2). Malheureusement, rien ne peut generalement etre fait pourstationnariser une serie dans le cas d’un changement structurel.
Tendance deterministe
Afin de regler le probleme de la presence d’une tendance temporelle, il suffitde la modeliser la tendance. Il faut faire attention de bien choisir la tendancela mieux adaptee a nos donnees: lineaire, quadratique, logarithmique, etc.
ex: tendance quadratiqueMatlabT = length(y);t = 1:T;t2 = t^2;X = [ones(size(y)),t,t2][b,u,etype,R2] = MCO(X,y)
Statat = nt2 = t^2tsset tregress y t t2
Racines Unitaires
On fait face a un probleme de racine unitaire lorsque ρ = 1 dans le modelesuivant:
yt = α + ρyt−1 + et
Afin de regler le probleme de racine unitaire, il faut differencier la serie, i.e.travailler sur ∆yt = yt − yt−1 plutot que yt. Le modele devient donc:
∆yt = α + θyt−1 + εt
Matlab
53
T = length(y);x = y(2:T) - y(1:T-1)...
Stata
La differenciation d’une serie est effectuee automatiquement dans Stata lorsde l’utilisation de la fonction arima.
Tester pour la presence d’une racine unitaire se fait par un test t ou H0
est θ = 0. Malheureusement, sous l’hypothese nulle, la statistique t ne suitpas la loi asymptotique habituelle. Il faut plutot utiliser la loi de Dickey-Fuller. S’il y a correlation des termes d’erreur, il faut plutot utiliser une loide Dickey-Fuller augmentee.
Stata
dfuller
Effectue un test de Dickey-Fuller augmente sur la variable specifiee.dfuller nom de variable, optionsOptions:
• lags(#): specifie le nombre de retards a utiliser pour le calcul de lavariance estimee Newey-West.
• trend: incluera une variable de tendance dans la regression.
pperron
Possede exactement la meme structure et les memes options que dfuller,mais effectue un test de Phillips-Perron plutot qu’un test de Dickey-Fulleraugmente.
9.4.2 Modelisation des cycles: Modeles AR, MA, ARMA,ARIMA
Stata
54
arima
Permet d’estimer un modele AR, MA, ARMA ou ARIMA par maximum devraisemblance.arima variable dependante variable independante, arima(p,d,q)ou p est le nombre de AR, d le nombre de differenciation et q le nombre deMA.Il n’est pas necessaire de preciser de variables independates.
ex: AR(1)arima t, arima(1,0,0)ex: MA(1)arima t, arima(0,0,1)ex: ARIMA(1,1,2)arima t, arima(1,1,2)
Pour choisir p et q, il est bon de regarder l’autocorrelogramme partiel (nom-bre de AR) et l’autocorrelogramme (nombre de MA) de la variable qui nousinteresse.
corrgram
Construit une table des autocorrelations et des autocorrelations partielles.Permet de tracer l’autocorrelogramme et l’autocorrelogramme partiel.corrgram nom de variable, optionOptions: lags(#): specifie le nombre de retards a calculer.
corrgran peut etre suivi de deux autres fonctions:
ac
Produit un autocorrelogramme.ac nom de variable, optionsOptions:
• lags(#): specifie le nombre de retards a calculer.
• level(#): specifie le niveau de confiance a utiliser dans lecalcul des bandes de confiances.
55
• Toutes les options standards d’un graphique sont egalementadmissible.
pac
Produit un autocorrelogramme partiel. Meme structure et memesoptions que ac.
9.4.3 Selection de Modele
A chaque etape de la modelisation de notre serie chronologique, il est impor-tant de choisir le meilleur des choix qui s’offre a nous: tendance quadratiqueou logarithmique? AR(2) ou AR(3)?Plusieurs criteres existent pour nous aider dans nos choix, nous en exploreronstrois qui se basent tous sur le principe de penalite pour le nombre de variables.
R-carre ajuste
Le R-carre ajuste (R2) est donne par la formule suivante:
R2 = 1− n− 1
n−K(1−R2)
Akaike information criterion (AIC)
Voici la formule habituelle du critere d’Akaike:
AIC(K) = log(e′e
n) +
2K
n
Bayesian information criterion (BIC)
Voici la formule habituelle du critere de Schwartz ou Bayesien:
BIC(K) = log(e′e
n) +
Klogn
n
A la fois dans Matlab et Stata, ces criteres doivent etre construits manuelle-ment.
56
Chapitre 10
Donnees longitudinales (Panel)
Il existe bon nombre de methodes pour traiter les donnees en Panel et lalitterature sur le sujet est tres exhaustive, nous ne traiterons donc dans cechapitre que des methodes de base.
10.1 Variables Binaires
La facon la plus simple de controler pour le pooling de plusieurs annees estd’ajouter dans la regression une variable binaire par annee. Ces dernierespermettent de capter l’effet de l’annee sur la variable dependante. Cettemethode suppose de fait que toutes les autres variables sont constantes atravers le temps. Comme dans tous les cas ou l’on travaille avec des vari-ables binaires, il faut laisser tomber une des variables pour ne pas avoir decolinearite parfaite
Matlab
Il suffit simplement de construire des variables binaires tel qu’indique dansle chapitre 1.
ex: On desire faire une regression sur des echantillons tires de1980,81,82 et 83.a81 = (annee == 1981)a82 = (annee == 1982)a83 = (annee == 1983)X = [X,a81,a82,a83]
57
function [b,u,etype,R2] = MCO(X,y)
Stata
Comme c’est le cas avec Matlab, on peut simplement ajouter manuellementdes variables binaires dans notre regression. Il existe par ailleurs une methodeautomatique d’indiquer a Stata que l’on travaille avec des donnees en panelqui sera presentee a la section suivante.
ex: On desire faire une regression sur des echantillons tires de1980,81,82 et 83.a81 = (annee == 1981)a82 = (annee == 1982)a83 = (annee == 1983)regress y x1 x2 a81 a82 a83
10.2 Effets Fixes et Effets Aleatoires
Tres souvent, l’estimation simplement a l’aide de donnees binaires d’anneesdonnera un resultat biaise. Ce modele fait en effet abstraction de la pos-sibilite d’un effet non-observe independant du temps (effet lie au groupe).Cet effet peut soit etre correle avec les variables explicatives (Effet Fixe) ounon-correlees avec celles-ci (Effet Aleatoire).Dans le cas d’un effet fixe, la methode la plus simple de capter cet effet estde supposer qu’il existe pour chacun de nos groupes et, ainsi, d’ajouter unevariable binaire par groupe (sans oublier, comme d’habitude, dans laissertomber une). Donc si nous avons cinq groupes et quatre periodes de temps,nous aurons un total de sept variables binaires.Nous presenterons le cas d’un effet aleatoire que pour Stata car c’est uneprocedure qui est faite automatiquement avec la fonction xtreg.
Matlab
Ajout de variables binaires pour chaque groupe et chaque annee.
ex: Regression sur cinq echantillons tires de 1980,81,82 et 83.a81 = (annee == 1981)
58
a82 = (annee == 1982)a83 = (annee == 1983)g2 = (groupe == 2)g3 = (groupe == 3)g4 = (groupe == 4)g5 = (groupe == 5)X = [X,a81,a82,a83,g2,g3,g4,g5]function [b,u,etype,R2] = MCO(X,y)
Stata
Ajout manuellement de variables binaires pour chaque groupe et chaqueannee.
ex: Regression sur cinq echantillons tires de 1980,81,82 et 83.a81 = (annee == 1981)a82 = (annee == 1982)a83 = (annee == 1983)g2 = (groupe == 2)g3 = (groupe == 3)g4 = (groupe == 4)g5 = (groupe == 5)regress y x1 x2 a81 a82 a83 g2 g3 g4 g5
Tel que mentionne a la section precedente, il est aussi possible d’indiquera Stata que l’on travaille avec des donnees en Panel afin d’automatiser leprocessus:
tsset
Cette fonction deja vue dans le chapitre 9 permet egalement de declarer nosdonnees comme un panel de series temporelles. Il suffit pour ca d’ajouter lavariable de panel (de groupe) avant la variable de temps.tsset variable de panel variable de temps
ex:g t = ntsset groupe t
59
Une fois tsset declare pour des donnees panel, il est possible de travailleravec la famille de fonctions xt de Stata. Il existe une telle fonction pour cha-cun des types de regression: xtreg, xtlogit, xprobit, xttobit, xtgls,
etc. Nous ne couvrirons ici que sommairement xtreg et nous vous referonsa l’aide de Stata pour plus de details sur cette famille de fonctions.
xtreg
Permet de faire des regressions sur des donnees en Panel.Effet fixe: xtreg variable dependante variable independante, fe
Effet aleatoire estime par MCG: xtreg variable dependante variable independante,re
Effet aleatoire estime par EMV: xtreg variable dependante variable independante,mle
ex:tsset groupe anneextreg y x1 x2, fe
60
Chapitre 11
Interaction avec les traitementsde texte et les tableurs
61
Chapitre 12
Ou trouver ses donnees etcomment les extraires
62
Annexe A
Tableaux Recapitulatifs
A.1 Fonctions de Matlab
Fonction Description Forme
Importation de Donneesdlmread Importe des donnees
numeriques d’un fichier.M = (‘nom de fichier’,‘separateur de donnees′)
load Importe des donneesnumeriques d’un fichier.
load nom de fichier
textread Importe les donnees d’un fichier. [A, B, C . . . ] =
textread(‘nom de fichier’,‘format’)
xlsread Importe les donnees d’un tableurExcel.
[A, B] =
xlsread(nom de fichier)
63
Transformation de Variablescumsum Somme cumulative des elements
d’un vecteur.cumsum(z)
exp Exponentielle d’une matriceelement par element.
exp(z)
length Nombre de colonnes d’un vecteur. length(z)log Logarithme naturel d’une matrice
element par element.log(z)
max Renvoie l’elements du vecteurayant la valeur la plus elevee.
max(z)
mean Moyenne des elements d’unvecteur.
mean(z)
min Renvoie l’elements du vecteurayant la valeur la moins elevee.
min(z)
size renvoie un vecteur 1 × 2 con-tenant la taille d’une matrice(rangees,colonnes).
size(z)
std Ecart-type des elements d’unvecteur.
std(z)
sqrt Racine carree d’une matriceelement par element.
sqrt(z)
sum Somme des elements du vecteur. sum(z)var Variance des elements d’un
vecteur.var(z)
64
Fonctions Matriciellesdiag Extraction de la diagonale d’une
matrice. / Creation d’une ma-trice diagonale.
diag(A)
eye Cree une matrice identite. I = eye(#)
inv Inverse d’une matrice. Inv(A)
ones Creer une matrice dont chaqueelement egale a un.
O = ones(#, #)
rand Creer une matrice dont chaqueelement est un alea U(0,1)
U = rand(#, #)
randn Creer une matrice dont chaqueelement est un alea N(0,1)
N = randn(#, #)
zeros Creer une matrice dont chaqueelement egale a zero.
Z = zeros(#, #)
Autres Fonctionsdiary Permet de sauvegarder une copie
de sa session dans le fichierspecifie.
diary(‘nom de fichier’)programme diary(‘off’)
fminsearch Minimise une fonction. [x, fval] =
fminsearch(fonction, options, variables)hold Permet de superposer plusieurs
graphiques.hold on graphiques hold off
normcdf Donne la valeur de la fonction derepartition de la loi normale.
normcdf(X)
normpsf Donne la valeur de la fonction deprobabilite de la loi normale.
normpdf(X)
plot Trace un graphique en nuage depoints.
plot(x, y,‘couleur style marqueur’)
wk1write Sauvegarde une matrice dans unfichier de tableur.
wk1write(‘nom de fichier’,M)
65
A.2 Fonctions de Stata
Fonction Abreviation Description Forme
Importation de Donneesinfile inf Importe les donnees d’un
fichier.infile nom des variablesusing nomdefichier
insheet Importe les donnees d’unfichier (separateurs: tabula-tions ou virgules).
insheet using
nom de fichier
Transformation de Variablesgenerate g Cree une nouvelle variable. generate
nouvelle variable =
expressionreplace Remplace une variable exis-
tante.replace variable existante= expression
abs Valeur absolue. abs(x)exp Exponentiel. exp(x)log Logarithme naturel. log(x)max Renvoie l’argument
possedant la valeur laplus elevee.
max(x1, ..., xn)
min Renvoie l’argumentpossedant la valeur lamoins elevee.
min(x1, ..., xn)
mod Modulo de x par rapport ay.
mod(x,y)
sqrt Racine carree. sqrt(x)sum Somme de tous les elements
de x.sum(x)
uniform Donne une valeur aleatoireentre 0 et 1 (ditribution uni-forme sur [0,1)).
uniform()
66
Fonctions Matriciellesmatrix mat Cree ou modifie une ma-
trice.matrix nom de la matrice= expression
matrix get Permet d’obtenir copied’une matrice systeme.
matrix variable =
get(matrice systeme)mkmat Transforme des variables en
vecteurs/matrice.mkmat
nom(s) de variable(s),matrix
[(nomdelanouvellematrice)]svmat Transforme les colonnes
d’une matrice en variables.svmat matrice,[names(nom col1, nom col2, . . . )]
colsof nombre de colonnes d’unematrice.
colsof(A)
det Determinant d’une matrice. det(A)
diag Matrice diagonale n × n,avec pour diagonale leselements de V .
diag(V )
el Element aij d’une matrice. el(A,i,j)I Matrice identite n× n. I(n):inv Inverse d’une matrice
carree.inv(A)
rowsof Nombre de rangees d’unematrice.
rowsof(A)
vecdiag Extrait la diagonale d’unematrice carree sous forme devecteur.
vecdiag(A)
Fonctions Diversesgraph gr Trace un graphique. graph nomdesvariables,
[typedegraphique,autresoptions]
list Affiche a l’ecran les vari-ables specifiees.
list
[nom(s) de variable(s)]log Enregistre la session. log using nom de fichiermore Active ou desactive
l’affichage de --more--.more on/off
set matsize set mat Fixe la taille maximale desmatrices.
set matsize #
67
Fonctions Diverses (suite)tsset Declaration de series tem-
porelles/Donnees pannel.tsset variable de temps
l Operateur retard. l#.variablef Operateur avance. f#.variable
Fonctions Econometriquesregress reg Effectue une regression
lineaire par MCO.regress vardep [vars inds]
predict Calcule les valeurs predites,les residus, etc.
predict nouvelle variable,options
test t Effectue des testsd’hypothese.
test [expression1 =
expression2]ivreg Effectue une regression par
DMCO.ivreg var dep vars inds(var dep = V I), options
hausman Effectue le test despecification d’Hausman.
hausman / hausman, save
vwls Effectue une regressionponderee par la variance(FGLS).
vwls vardep vars inds[poids], options
probit prob Estime un modele probit. probit var dep vars indslogit Estime un modele logit. logit var dep vars indstobit Estime un modele tobit. tobit var dep vars inds,
[ll(#)] [ul(#)]
dfuller Effectue le test de Dickey-Fuller augmente.
dfuller nom de variable,options
pperron Effectue le test de Phillips-Perron.
pperron nom de variable,options
corrgram Produit une table des au-tocorrelations et des auto-correlations partielles.
corrgram
nom de variable, option
xtreg Effectue une regression surdes donnees panel.
xtreg var dep vars inds,[fe] [re] [mle]
68
A.3 Operateurs
Description Forme
Operateurs MathematiquesAddition +
Soustraction -
Multiplication *
Division /
Puissance ^
Operateurs LogiquesET &
OU |Non (¬) ~
Operateurs de Comparaison
Egal ==
Different ~=
Plus grand >
Plus petit <
Plus grand ou egal >=
Plus petit ou egal <=
69
top related