Guide d économétrie appliquée

Documents pareils
Introduction à MATLAB R

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Formations EViews FORMATIONS GENERALES INTRODUCTIVES INTRO : INTRODUCTION A LA PRATIQUE DE L ECONOMETRIE AVEC EVIEWS

Calcul Formel et Numérique, Partie I

EXCEL TUTORIEL 2012/2013

1 Définition de la non stationnarité

MODELE A CORRECTION D ERREUR ET APPLICATIONS

Chapitre 2 Le problème de l unicité des solutions

3.2. Matlab/Simulink Généralités

INITIATION AU LOGICIEL SAS

Logiciel XLSTAT version rue Damrémont PARIS

Séance 0 : Linux + Octave : le compromis idéal

Introduction à l approche bootstrap

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Calcul Formel et Numérique, Partie I

Température corporelle d un castor (une petite introduction aux séries temporelles)

FOAD COURS D ECONOMETRIE 1 CHAPITRE 2 : Hétéroscédasicité des erreurs. 23 mars 2012.

Cours 7 : Utilisation de modules sous python

Correction de l examen de la première session

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

STAGE IREM 0- Premiers pas en Python

GUIDE Excel (version débutante) Version 2013

Exercice : la frontière des portefeuilles optimaux sans actif certain

Infolettre #18 : Les graphiques avec Excel 2010

Évaluation de la régression bornée

Annexe commune aux séries ES, L et S : boîtes et quantiles

données en connaissance et en actions?

2 TABLE DES MATIÈRES. I.8.2 Exemple... 38

STATISTIQUES. UE Modélisation pour la biologie

Aide - mémoire gnuplot 4.0

Projet de Traitement du Signal Segmentation d images SAR

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Précision d un résultat et calculs d incertitudes

3 Approximation de solutions d équations

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Simulation de variables aléatoires

La Clé informatique. Formation Excel XP Aide-mémoire

Le modèle de régression linéaire

Débuter avec Excel. Excel

Méthodes de Simulation

Coup de Projecteur sur les Réseaux de Neurones

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Premiers pas avec Mathematica

Traitement des données avec Microsoft EXCEL 2010

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Maple: premiers calculs et premières applications

Analyses de Variance à un ou plusieurs facteurs Régressions Analyse de Covariance Modèles Linéaires Généralisés

Introduction à l économétrie : Spécifications, formes fonctionnelles, hétéroscédasticité et variables instrumentales

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Régression linéaire. Nicolas Turenne INRA

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Approche modèle pour l estimation en présence de non-réponse non-ignorable en sondage

Créer le schéma relationnel d une base de données ACCESS

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

La fonction exponentielle

Quantification Scalaire et Prédictive

Optimisation, traitement d image et éclipse de Soleil

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Table des matières. I Mise à niveau 11. Préface

Premiers pas avec SES-Pegase (version 7.0) SES : Un Système Expert pour l analyse Statistique des données. Premiers pas avec SES-Pegase 1

Gestion obligataire passive

Analyse en Composantes Principales

Découverte du tableur CellSheet

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INF6304 Interfaces Intelligentes

TABLE DES MATIÈRES. Bruxelles, De Boeck, 2011, 736 p.

Note de cours. Introduction à Excel 2007

TP 1 Introduction à Matlab Février 2009

Rappels sur les suites - Algorithme

Résolution d équations non linéaires

Cours d initiation à la programmation en C++ Johann Cuenin

Python - introduction à la programmation et calcul scientifique

Loi binomiale Lois normales

Cours d Analyse. Fonctions de plusieurs variables

TP 1. Prise en main du langage Python

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Séries Statistiques Simples

Transmission d informations sur le réseau électrique

Introduction au logiciel STATA

PROJET MODELE DE TAUX

Leçon N 4 : Statistiques à deux variables

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

SPHINX Logiciel de dépouillement d enquêtes

Création WEB avec DreamweaverMX

Représentation des Nombres

Extraction d informations stratégiques par Analyse en Composantes Principales

Etude des propriétés empiriques du lasso par simulations

Introduction aux Statistiques et à l utilisation du logiciel R

Formation tableur niveau 1 (Excel 2013)

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Fonctions de deux variables. Mai 2011

Équations non linéaires

Transcription:

Guide d économétrie appliquée Simon Leblond 1 Université de Montréal simon.leblond@umontreal.ca 9 septembre 2003 1 Merci à William McCausland, François Vaillancourt et Benoit Perron pour leurs commentaires utiles dans l élaboration de ce document. Je demeure seule responsable de toutes les erreurs.

Table des Matières 1 Commandes générales importantes 5 1.1 Importation des données..................... 5 1.2 Manipulation des données.................... 8 1.2.1 Opérateurs mathématiques................ 9 1.2.2 Opérateurs logiques et de comparaison......... 9 1.2.3 Fonctions et Opérateurs matriciels........... 9 1.3 Autres transformations des variables.............. 13 1.4 Divers............................... 14 1.5 Exemples et résultats pour le Chapitre 1............ 16 2 Visualisation des données 18 2.1 Impression/Exportation des données.............. 18 2.1.1 Impression à l écran.................... 18 2.1.2 Exportation........................ 18 2.1.3 Impression......................... 19 2.2 Exemples et résultats pour le Chapitre 2............ 19 3 Graphiques 21 3.1 Exemples et résultats pour le Chapitre 3............ 24 4 Régressions Simples 26 4.0.1 Estimateurs de Variance Robustes............ 28 4.1 Tests d hétéroscédasticité..................... 30 4.2 Test de Changement structurel (Test de Chow)........ 32 5 Variables instrumentales et Doubles Moindres Carrés 34 5.1 Estimateur Variables Instrumentales.............. 34 5.2 DMCO............................... 36 1

5.3 Tests d endogénéité........................ 37 6 Estimateur du Maximum de Vraissemblance (EMV) 38 7 Moindres Carrés Généralisés 41 8 Variables dépendantes qualitatives 43 8.1 Probit/Logit............................ 43 8.2 Tobit................................ 46 9 Séries Chronologiques 48 9.1 Opération sur les variables dans le cadre de séries chronologiques 48 9.2 Opérateurs de séries temporelles................. 48 9.3 Tests d autocorrélation...................... 50 9.4 Méthode de Box-Jenkins..................... 51 9.4.1 Stationnarité des données................ 51 9.4.2 Modélisation des cycles: Modèles AR, MA, ARMA, ARIMA.......................... 53 9.4.3 Sélection de Modèle.................... 55 10 Données longitudinales (Panel) 56 10.1 Variables Binaires......................... 56 10.2 Effets Fixes et Effets Aléatoires................. 57 11 Interaction avec les traitements de texte et les tableurs 60 12 Où trouver ses données et comment les extraires 61 A Tableaux Récapitulatifs 62 A.1 Fonctions de Matlab....................... 62 A.2 Fonctions de Stata........................ 65 A.3 Opérateurs............................. 68 2

Introduction Ce manuel ne vient pas se substituer à vos notes de cours, mais plutôt les compléter en vous donnant un guide pour l utilisation des logiciels économétriques. À ce titre, bien que vous trouverez quelques fois des explications plus importantes sur la nature d un problème économétrique, la majorité du temps on supposera que vous possédez déjà les connaissances liées à la section consultée. Chaque section présente rapidement le but de l opération qui y est traité. Les commandes appropriées sont ensuite présentées, d abord individuellement, puis dans le cadre d exemples concrets. Pour l instant, les deux logiciels couverts par ce manuel sont Matlab et Stata. Notez que ce manuel couvre la version 7 de Stata, la version 8 sera intégrée peu à peu pendant l année qui vient. Comme il s agit d un manuel encore en développement, des changements lui seront constamment apportés en cours de session et la version distribuée sera toujours la plus récente. Tout commentaire, suggestion ou correction sera bienvenu et apprécié. Prenez note que ce texte décrit seulement certaines fonctions ainsi que leurs options les plus souvent utilisées pour le genre de recherches effectuées au bac et à la maîtrise en économie, il n est donc pas du tout exhaustif. Un conseil: apprenez à utiliser l aide de Matlab et de Stata. Il s agit là d outils fort utiles pour découvrir de nouvelles fonctions ou pour connaître l ensemble des options disponible pour les fonctions décrites dans ce guide. Les fonctions sont présentées dans le format suivant: Pour Matlab: 1. Le nom de la fonction; 2. Le format d entrée; 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 paranthèses, le nom abrgégé de la fonction; 2. Sa description; 3. Le format d entrée; 4. Ses options (s il y en a); 5. Un exemple court. La majorité des chapitres se terminent par une section donnant un exemple plus long et plus concret d applications des informations présentés dans le chapitre. La nomenclature suivante est suivie dans ce guide: Le texte en machine à écrire désigne les fonctions dans leur forme générique. Le texte en italique désigne les variables et autres chaînes de caractères qui doivent être remplacées. Le texte en sans serif désigne le texte tel qu il serait entré à l ordinateur. Les chapitres 1 à 3 font le tour des commandes de base dans Stata et Matlab, ainsi que leur format de saisie. À la suite de ces chapitres vous devriez être en mesure d importer, de manipuler, puis d exporter vos données et de tracer des graphiques. Les chapitres 4 à 10 abordent quant à eux chacun un sujet spécifique de l économétrie. Ils prennent donc une approche quelque peu différente puisqu ils introduisent peu de nouvelles fonctions, se concentrant plutôt sur la démarche à adopter pour effectuer l opération en question. 4

Finalement, les deux derniers chapitres (11 et 12) (à venir) sortent quelque peu du cadre de ce guide en abordant respectivement la manipulation des données par Word et Excel et la recherche de données. Ces chapitres ont pour but de vous aider dans le cadre plus général de la production d un travail de recherche. 5

Chapitre 1 Commandes générales importantes 1.1 Importation des données Matlab load load nom de fichier 1 load fonctionne seulement avec les données numériques, mais a l avantage d être la commande d importation de données la plus simple de Matlab. load importe le fichier spécifié dans une matrice du même nom. Les données doivent être séparées par des espaces ou des tabulations. ex: importe les données du fichier monfichier.dat dans la matrice monfichier load monfichier.dat Note: load devrait être suffisant pour les besoin du cours ECN 3949. xlsread [A, B] = xlsread(nom de f ichier) 1 Puisque le dossier de travail est déjà spécifié dans Matlab, il est inutile de donner le chemin d accès avec le nom des fichiers. Les extensions doivent par ailleurs être présentes. 6

xlsread lit la première feuille d un tableur Microsoft Excel (.xls ) et renvoit toutes les données numériques dans la matrice A et toutes les données texte dans la matrice B de même taille. Les élément de texte sont remplacés par NaN dans la matrice A et les éléments numériques sont laissés vides dans la matrice B. Si xlsread rencontre des données texte dans la première rangée et la première colonne, la matrice B ne contiendra que ces valeurs. ex: importe les données 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 données d un fichier formatté nom de f ichier vers les variables spécifiées A, B, C, etc. format est une chaîne de caractères et spécifie le format des variables à importer, il doit y avoir un format par variable. N importe quel séparateur de données peut-être utilisé par le fichier. Les formats possibles sont: %u: données numériques, entier positif %f: données numériques non-entiéres %s: texte %q: texte, si entre guillemets ( xyz ), renvoie seulement le texte ( xyz ) lettres : ignore le texte écrit; par exemple si on a etage6, format = etage%u renverait 6 Il est suggéré de se limiter à %f et %q qui sont amplements suffisants dans le cadre du cours. Options: headerlines: spécifie un nombre de lignes à sauter au début du fichier. [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 f ichier, séparateur de données ) Moins flexible que textread, mais plus que load, dlmread fonctionne seulement avec les données numériques, mais a l avantage d être plus simple. dlmread importe le fichier spécifié dans la matrice M. séparateur de données spécifie le type de séparateur dans le fichier, il peut prendre les valeurs suivantes:, : virgule, valeur par défaut ; : point-vigule \t : tabulation : espace ex: M = ( ECN3949TP1.txt, \t ) Stata insheet Rapide et efficace, insheet permet d importer les données d un fichier texte possédant une observation par ligne et dont les données sont séparées par des tabulations ou des virgules. si le nom des données sont sur la première ligne: insheet using nomdefichier 2 si le fichier ne contient pas le nom des données: insheet [nomdesvariables] 3 using nomdefichier options 4 : clear, spécifie que les données en mémoires peuvent être remplacées par les nouvelles données importées. 2 À moins de précisions contraires, nomdef ichier indique le nom complet, donc avec le chemin d accès et l extension (a : \test.txt par exemple). 3 La nomenclature de l aide de Stata est conservée tout au long de ce guide, ainsi les arguments entre [ ] désignent des arguments facultatifs. 4 Les options dans stata sont séparés du reste de la commande par une virgule. Par exemple, dans le cas présent: insheet using c:\ test.txt, clear 8

infile (inf) 5 Permet plus de flexibilité que insheet en permettant que les observations soient sur plusieurs lignes ou que les données soient séparées par des espaces. une observation par ligne: infile nomdesvariables using nomdef ichier observations sur plusieurs lignes: infile nom des variables [ skip(#) nom des variables] using nom de f ichier ; où # désigne le nombre de ligne à sauter pour continuer la lecture de l observation. options: clear, voir insheet ex: observation sur la première, la deuxième et la quatrième ligne... infile var1 var2 skip var3 var4 skip(1) var5 var6 using a:\ test.raw 1.2 Manipulation des données Matlab Matlab étant un logiciel de manipulations de matrices, il n y a pas de distinction faite entre une matrice et une variable comme c est le cas avec Stata. Les variables sont automatiquement traité comme des vecteurs dans le cas de Matlab. Toutes les manipulations de données sont donc traitées dans la section 1.2.3: Fonctions et opérateurs matriciels. Stata generate (g) Probablement la commande la plus utile (et utilisée) dans Stata, elle permet de créer des nouvelles variables. generate nouvellevariable = expression ex: g x2 = x^2 5 Le nom entre paranthèses qui suit le nom de la fonction désigne l abréviation que l on peut utiliser dans le code. 9

replace Même idée que generate, mais pour une variable existante. replace variable existante = expression ex: replace x2 = x/2 1.2.1 Opérateurs mathématiques Ce sont les mêmes dans Matlab et Stata: Addition: + Soustraction: - Multiplication: * Division: / Puissance: ^ 1.2.2 Opérateurs logiques et de comparaison Ce sont les mêmes dans Matlab et Stata: ET: & OU: Non ( ) : ~ Égal : == Différent : ~ = P lusgrand : > P luspetit : < P lusgrandouégal : >= P luspetitouégal : <= 1.2.3 Fonctions et Opérateurs matriciels Matlab 10

Création de matrices Les matrices et les vecteurs sont crées dans Matlab en inscrivant directement le nom de la matrice et les opérations qu on désire effectuer séparées par le signe égal ( = ). ex: A = [1,2,3,4;5,6,7,8]; où les virgules séparent les colonnes et les points-virgules séparent les rangées. (matrice 2 4) B = A*2 C = A^2 Fonctions matricielles Créer une matrice identité 2 2: I = eye(2) Créer une matrice 4x5 dont chaque élément égale à zéro: Z = zeros(4, 5) Créer un vecteur 1x6 dont chaque élément égale à un: O = ones(1, 6) Créer une matrice 2x2 dont chaque élément est un aléa U(0,1): U = rand(2), équivalent à U = rand(2, 2) Créer une matrice 3x8 dont chaque élément est un aléa N(0,1): N = randn(3, 8) Opération sur les matrices Extraction d une sous-matrice: Extraire la deuxieme colonne de A: A(:,2) Extraire la deuxieme rangée de A: A(2,:) Extraire l élément A 12 : A(1,2) Extraire le vecteur (A 12, A 13, A 14 ): A(1,2:4) Empilage de matrices Empiler horizontalement (mettre les rangées une sur l autre): [A,A] (4 4) 11

Empiler verticalement (mettre les colonnes une à côté de l autre): [A;A] (2 8) Opération élément par élément: opérateur mathématique précédé d un point (. ) Multiplication de A par B élément par élément: A.*B Inverse: Inv(A) Transposée: A Matrice diagonale n n, avec pour diagonale les éléments de V, où V est un vecteur n 1 ou 1 n: diag(v ) Extraire la diagonale d une matrice carrée A sous forme de vecteur: diag(a) Autres trucs utiles Stata Création d une variable binaire: g = (condition logique); ex: d = (y >= 0) Création d un vecteur dont les éléments sont une suite: v = début:incrément:f in; ex: x = 1.0;0.1;2.0 produit le vecteur [1.0,1.1,1.2,...,2.0]; notez que l argument incrément est facultatif, ainsi x = 1:10 produit le vecteur [1,2,...,10]. Fonctions matricielles matrix (mat) L équivalent de generate pour les matrices, permet de créer des nouvelles matrices ou de modifier des matrices existantes. matrix nom de la matrice = expression 12

ex: Création d une matrice: mat A = B*C Modification d une matrice existante: mat A = A*2 Construction d une matrice: mat D = (1,0,0\0,1,0); où les virgules séparent les colonnes et les \ séparent les rangées (matrice 2 3). Extraction d une sous-matrice: mat A = B(1..4,2...); se lit rangées 1 à 4, colonne 2 à N. Remplacement d un élément: mat A(1,1) = 3; remplace l élément a 11 par 3. mkmat Permet de transformer des variables existantes en vecteurs du même nom ou en 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 matric 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 écrire n ex: svmat X, n(x1,x2,x3,x4) matrix get Sert à obtenir une copie d une matrice système 6 Quelques matrices systèmes: b: coefficients après une estimation VCE: matrice de variance-covariance après une estimation matrix variable = get(matrice système) 6 Les variables et les matrices systèmes sont stockés par Stata dans des noms prédéfinis après une opération donnée. 13

ex: matrix beta = get( b) det(a): déterminant de A rowsof(a): nombre de rangées de A colsof(a): nombre de colonnes de A el(a,i,j): élément a ij de A I(n): matrice identité n n inv(a): inverse de la matrice carrée A diag(v ): matrice diagonale n n, avec pour diagonale les éléments de V, où V est un vecteur n 1 ou 1 n vecdiag(a): extrait la diagonale d une matrice carrée A sous forme de vecteur Opérateurs matriciel Soit A et B, deux matrices carrées définies positives n n et C, une matrice définie positive t n: Transposée: A (n n) Somme: A + B (n n) Différence: A - B (n n) Produit vectoriel: B*C (n n) Division par un scalaire: A/k (n n) Empiler les rangées 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 élément par élément log(z): logarithme naturel de z élément par élément sqrt(z): racine carrée de z élément par élément mean(z): moyenne des éléments du vecteur z std(z): écart-type des éléments du vecteur z var(z): variance des éléments du vecteur z 14

sum(z): somme des éléments du vecteur z cumsum(z): somme cumulative des éléments du vecteur z (retourne un vecteur 1 n) min(z): renvoie l éléments du vecteur z ayant la valeur la moins élevée max(z): renvoie l éléments du vecteur z ayant la valeur la plus élevée length(z): nombre de colonnes du vecteur z size(z): renvoie un vecteur 1 2 contenant la taille de la matrice (rangées,colonnes) Stata log(x): logarithme naturel de x, équivalent à ln(x) exp(x): exponentiel de x, i.e. e x mod(x,y): partie entière de x par rapport à y, par exemple: mod(5,26) = 5 abs(x): valeur absolue de x sqrt(x): racine carrée de x, équivalent à x^1/2 max(x 1,..., x n ): renvoie l argument possédant la valeur la plus élevée min(x 1,..., x n ): renvoie l argument possédant la valeur la moins élevée sum(x): somme de tous les éléments de x uniform(): donne une valeur aléatoire entre 0 et 1 (ditribution uniforme sur [0,1)) 1.4 Divers Matlab Commentaires Il est possible d insérer des commentaires dans son programme en prenant soin de débuter la ligne de commentaire par le symbole %. ex: % Ceci est un commentaire. Suppression de la sortie Pour que Matlab effectue une opération sans que l on voit le résultat, il suffit de 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 lignes Il est possible d écrire une commande sur plusieurs lignes. Les... indiquent à Matlab que la commande se poursuit à la ligne suivante. Stata ex: [v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16] =... textread( TP1donnees.txt, fmt); Commentaires Il est possible d insérer des commentaires dans son programme en prenant soin de débuter la ligne de commentaire par le symbole *. ex: * Ceci est un commentaire. more Avez-vous déjà rencontré le message --more-- qui fait une pause dans l affichage de vos données? Si ça vous énerve, vous pouvez enlever ce message en spécifiant set more off au début de votre programme. set matsize (set mat) La taille maximale des matrices est fixée par défaut à 40 40 dans Stata. Pour utiliser des matrices plus grandes vous devez utiliser la fonction set matsize. set matsize #; où # est un nombre entre 10 et 800 qui indique la taille maximale des matrices. if La majorité des fonctions peuvent être suivies de la commande if qui permet de spécifier une condition pour que l expression soit executée. if est placé après la fonction, mais avant les options Cette option ne sera pas mentionnée pour chaque fonction puisqu elle est présente très souvent. commande if expression ex: replace x = y if x < y 16

in La majorité des fonctions peuvent être suivies de la commande in qui permet de spécifier l étendue des données affectées par la fonction. in est placé après la fonction, mais avant les options. Cette option ne sera pas mentionnée pour chaque fonction puisqu elle est présente très souvent. commande in étendue; où étendue peut prendre la forme # ou #/#, et # peut-être un nombre positif, l (dernière observation), f (première observation) ou un nombre négatif (distance par rapport à la dernière observation). ex: regress y x1 x2 in f/60; équivalent à regress y x1 x2 in 1/60: les 60 premières observations. list y in -10/l: les 10 dernières observations. 1.5 Exemples et résultats pour le Chapitre 1 Lecture des données à partir du fichier Donnees.dat et manipulation des variables dans le but de faire une régression. Le fichier Donnees.dat contient 5 variables, comptant chacune 100 observations. Matlab load Donnees.dat; % Attribution de noms à certaines des variables. px = Donnees(:,1); qt = Donnees(:,2); % Construction d une variable binaire: le rapport de la 3e sur la 4e variable doit % être inclu dans l ensemble [0,25;0,5]et la 5e variable doit être égale % à 1 pour que la variable binaire égale 1. bin = (0.25 = Donnees(:,3)/Donnees(:,4) = 0.5 & Donnees(:,5) == 1); % Création d une variable indice. no = [1:100] Stata 17

set more off infile 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 * être inclu dans l ensemble [0,25;0,5] et la 5e variable doit être égale * à 1 pour que la variable binaire égale 1. g bin = (0.25 = var3/var4 = 0.5 var5==1) * Création d une variable indice. g no = n 18

Chapitre 2 Visualisation des données 2.1 Impression/Exportation des données 2.1.1 Impression à l écran Matlab Matlab affiche par défaut toutes les opérations effectuées à l écran. éliminer la sortie, se référer à la section 1.4. Pour Stata list Affiche à l écran la valeur des variables spécifées. list [nom(s) de variable(s)]; si aucun nom de variable est spécifié, Stata affiche toutes les variables. 2.1.2 Exportation Matlab diary Permet de sauvegarder une copie de sa session dans le fichier spécifié. Doit être suivi de diary( off ) à la fin du programme. diary( nom de f ichier ) programme 19

diary( off ) wk1write wk1write( nom de f ichier,m) Sauvegarde la matrice M dans un fichier de tableur nom de f ichier.wk1; aucune extension ne doit donc être spécifiée. Stata log using Permet de sauvegarder une copie de sa session dans le fichier spécifié. Doit être suivi de log off à la fin du programme. log using nom de fichier programme log off Options: replace, indique à Stata de remplacer le fichier existant. 2.1.3 Impression Matlab La façon la plus pratique d imprimer ses résultats est d utiliser la fonction diary, puis de traiter le fichier de sortie avec son traitement de texte préféré. Stata La façon la plus pratique d imprimer ses résultats est d utiliser la fonction log, puis de traiter le fichier.log avec son traitement de texte préféré. 2.2 Exemples et résultats pour le Chapitre 2 Reprenons l exemple du chapitre 1, en incluant cette fois les fonctions du chapitre 2. Matlab diary( ExChap2.out ); 20

load Donnees.dat; % Attribution de noms à certaines des variables. px = Donnees(:,1); qt = Donnees(:,2); % Construction d une variable binaire: le rapport de la 3e sur la 4e variable doit % être inclu dans l ensemble [0,25;0,5] et la 5e variable doit être égale % à 1 pour que la variable binaire égale 1. bin = (0.25 = Donnees(:,3)/Donnees(:,4) = 0.5 & Donnees(:,5) == 1); # Création d une variable indice. no = [1:100] diary( off ) Stata log using c:\mes documents\exchap2.log, replace set more off infile px qt var3 var4 var5 c:documents.dat, clear * Construction d une variable binaire: le rapport de la 3e sur la 4e variable doit * être inclu dans l ensemble [0,25;0,5] et la 5e variable doit être égale * à 1 pour que la variable binaire égale 1. g bin = (0.25 = var3/var4 = 0.5 & var5 ==1) list px qt bin * Création d une variable indice. g no = n log 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,...) Où couleur style marqueur est une chaîne de caractère optionnelle contenant de un à quatre caractères et qui définit la couleur de la série, le style de la ligne et le type de marqueur des points. Les possibilités sont: Couleurs: Styles: c : cyan m : magenta y : jaune r : rouge g : vert b : bleu w : blanc k : noir 22

- : solide -- : tiret (???) : : pointillé -. : tiret-point none : pas de ligne Marqueurs: +, o, *, x : marqueur du même signe s : carré (plein) d : losange (plein) ^, v, < : triangle vers le haut, le bas ou la gauche respectivement (plein) p : pentagone (plein) h : hexagone (plein) Il est possible de donner une seule variable, Matlab fait alors un graphique de cette variable par rapport à l indice des observations. ex: plot(y): courbe de y par rapport à l indice des observations plot(x,y): courbe de y par rapport à x, options standard (ligne pleine,pas de marqueur) plot(x,y, k+ ): courbe de y par rapport à x, marqueurs en +, noirs (pas de ligne) plot(x,y, b-d,x,y2, r: ): courbe de y par rapport à x et de y2 par rapport à x (sur le même graphique), première courbe bleue, pleine, marqueurs en losanges, deuxième courbe rouge, pointillée (pas de marqueurs) Il est possible une fois le graphique tracé de modifier une foule de ses paramètres, voici quelques-unes de ces fonctions: xlabel( titre ): spécifie le titre de l axe des x ylabel( titre ): spécifie le titre de l axe des y title( titre) : spécifie le titre du graphique. 23

axis: permet de définir les propriétés des axes, voir l aide de Matlab pour plus de détails. grid: permet de définir les propriétés des axes, voir l aide de Matlab pour plus de détails. hold Permet de superposer plusieurs graphiques en spécifiant hold on. Pour ne plus superposer les graphiques suivant, il suffit de spécifier hold off. plot(x,y) hold on plot(x,y2) plot(x,y3) hold off Pour sauvegarder un graphique, il suffit de sélectionner Save dans le menu File de la fenêtre du graphique. Stata graph (gr) Trace des graphiques. graph nom des variables, [type de graphique, autres options] Où type de graphique peut prendre les valeurs suivantes: histogram (h): histogramme twoway (t): nuage de points à deux axes; valeur par défaut si plusieurs variables sont affichés. La première variable spécifiée est toujours la variable dépendante. bar (b): graphique à barres pie (p): graphique en pointe de tartes Voici certaines des options supplémentaires les plus utiles: xlog, ylog: spécifie que l axe des x ou des y respectivement doit être en échelle logarithmique. 24

xline, yline: spécifie qu une grille en x ou en y respectivement devrait être affichée. connect(option) (c(option)): spécifie si les points devraient être connectés/. option peut prendre les valeurs suivantes:.: non-connectés; valeur par défaut l: lignes droites entre les points s: traces des lignes courbes entre les points (Á VÉRIFIER) symbol(option) (s(options)): spécifie le symbole que doivent prendre les points. option peut prendre les valeurs suivantes: O: grand cercles; valeur par défaut o: petits cercles.: points i: invisibles saving(nomdef ichier), [replace]: sauvegarde le graphique dans le fichier spécifié, si aucune extension n est spécifiée, Stata ajoute par défaut.gph. replace indique que le fichier existant peut être remplacé. 3.1 Exemples et résultats pour le Chapitre 3 Matlab diary( ExChap3.out ); % création d un indice de temps commençant à 4. t = 4:103; % création du log de cet indice. lnt = log(t); plot(t,lnt, k ) plot(t,lnt, k- ) plot(t,lnt, k-p ) hold on plot(t,-lnt, b-+ ) 25

xlabel( temps ) ylabel( log du temps ) title( courbe logarithmique ) diary( off ) Stata log using e:\exchap3.log, replace set more off * Fixer le nombre d observations à 100. set obs 100 * création d un indice de temps commençant à 4. g t = n+3 * création du log de 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 Régressions Simples Dans ce chapitre et les suivants, il est suggéré de lire la section de Matlab même si on utilise Stata: contrairement à ce dernièr où on a qu à utiliser une fonction pour effectuer l opération désirée, Matlab nécessite l élaboration pas à pas de l opération qui est effectuée par la boîte noire qu est Stata. Dans ce chapitre nous considérerons le modèle suivant: y = β 0 + β 1 x 1 + β 2 x 2 + + β k x k + uy = Xβ + U Matlab MCO Définition 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 variables indépendantes. Procédure pour calculer les moindres carrés ordinaires (MCO): Calcul des coefficient: b = inv(x *X)*X *y où X est une matrice T K, Y est un vecteur t 1 et b un vecteur k 1 Calcul des résidus: e = y-x*b 27

Calcul de la variance des résidus: sigma2 = (e *e)/(t-k) Calcul de la variance des coefficients: varb = sigma2 * inv(x *X) Calcul de l écart-type des coefficients: etype = sqrt(diag(varb)) Création d un vecteur de y-moyen: ybar = [ones(size(y))*mean(y)] Vecteur des y prédits: yhat = X*b Variation expliquée: SSE = sum((yhat-ybar).^2) Variation totale: SST = sum((y-ybar).^2) Calcul du R 2 : R2 = SSE/SST Tests d hypothèses et Intervalles de confiance Test de H 0,β 2 = 0: b2 = b(3) etype2 = etype(3) t2 = b2/etypeb2 On obtient ainsi la valeur de la statistique t. Intervalle de confiance à 95% de β 2 : bornesupp = b2 + etype2*1.96 borneinf = b2 + etype2*(-1.96) Fonctions dans Matlab La notion de fonction est introduite, car vous effectuerez des MCO tellement souvent qu il vous est suggéré d en faire une fonction dès maintenant. Une fonction est un fichier matlab indépendant qui contient du code à être exécuté lorsque son nom est invoqué. 28

La première ligne du fichier doit être sous la forme suivante: function [varo1, varo2,... ] = Nom de fonction(vari1, vari2,... ) où varo désigne une variable retournée par la fonction et vari désigne une variable utilisée par la fonction. Les lignes subséquentes contiennent le code à être exécuté. La fonction peut ensuite être appelée par la commande suivante: [vars1, vars2,... ] = Nom de fonction(vare1, vare2,... ) où vars sont les nom qu on désire utiliser pour les variables varo et vare le nom de variables que l on donne à la fonction. ex: MCO.m function [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 appelée par la commande suivante: [beta,u,etype,r2] = MCO(Z,y) où beta, u, etype et R2 sont les noms de variables qui seront utilisées dans le code et Z et y sont les variables contenant les données à être traitées. Z prend généralement la forme Z = [ones(size(x1)),x1,x2,...]. 4.0.1 Estimateurs de Variance Robustes Il peut être utile de pouvoir calculer une matrice de variance-covariance qui soit robuste à la présence d hétéroscédascticité. L estimateur robuste de cette matrice le plus utilisé est celui de White qui est donné par la formule suiv- 29

ante: ˆ V ar[b] = 1 T ( ) ( X 1 X 1 T T ) T (X e 2 i x i x X i T i=1 ) 1 En matlab, toujours en utilisant les résultats de la fonction MCO.m, on devrait écrire: e2 = e.^2 varwhite = T*inv(X *X)*sum((e2.*X)*X )/T*inv(X *X) Stata regress (reg) Incontournable si on désire faire des régressions par MCO. Effectue la régression de la variable dépendante sur la ou les variables indépendantes spécifiées. regress variable dépendante [variables indépendantes] Options: level(#) (l(#)): permet de spécifier le niveau de confiance pour les intervalles et le p-value (# doit être un entier); si level() n est pas spécifié, # prend la valeur 95, i.e. le niveau de confiance est fixé à 95%. robust (r): calcule des variances robustes par la méthode de Eicker- White. ex: reg y x1 x2 x3 if x1==1, r predict Permet de calculer les valeurs prédites, les résidus, etc. pour toutes les observations. predict nom de nouvelle variable; sans aucune option calcule les valeurs prédites (ŷ). Options: xb: calcule X β, la valeur linéaire prédite residuals (r): calcule les résidus stdp: calcule les écarts-types des valeurs prédites 30