/* ********************************************************** */ /* CHAPITRE 08 - MODELISATION DE L'OFFRE DE VIANDE BOVINE */ /* ********************************************************** */ libname exo 'Z:\Econometrie appliquee\donnees'; ods pdf file="Z:\Econometrie appliquee\Resultats\chapitre08.pdf"; title; * ----------------------------------------------------------------- ; * Problème n°8.1: Construction des variables et analyse descriptive ; * ----------------------------------------------------------------- ; * Point 1: Transformation des indices de prix ; * ------------------------------------------- ; data chapit8; set exo.chapit08; * Construction des variables de prix avec, comme année de référence, 1990; p90 = p / 313.47962382*100; * Création de la variable p90; w90 = w / 140.88050314*100; * Création de la variable w90; run; * ----------------------------------------------------- ; * Point 2 : Analyse graphique des différentes variables ; * ----------------------------------------------------- ; goption reset=all; legend1 /* Présence d'une légende */ across=1 mode=share position= (top left) /* Position de la légende */ offset=(17 pct, -6 pct) value=(tick=2 'p90'); legend2 /* Présence d'une légende */ across=1 mode=share position= (top left) /* Position de la légende */ offset=(17 pct, -12 pct) value=(tick=2 'p90'); axis1 label=('Annee') order=(1953 to 1998 by 2) width=1 value=(h=1); axis2 label=('Quantites' justify=right 'en tec') order=(500 to 1750 by 250) width=1 value=(h=1) color=black; axis3 label=('Prix base 100' justify=left'en 1990') order =(0 to 120 by 20) width=1 value=(h=1) color=black; proc gplot data= chapit8; title 'Evolution des prix et de la production' font=arial justify=center height=3; symbol1 value=none i=j l=8 color=blue; symbol2 value=none i=j l=8 color=red; plot q*an / overlay caxis=black haxis=axis1 vaxis=axis2 legend=legend1; plot2 p90*an / overlay vaxis=black vaxis=axis3 legend=legend2; run; title ''; quit; * Option concernant la légende du deuxième graphique ; goption reset=all; legend2 frame across=1 mode=share position= (top left) offset=(20 pct, -6 pct) cshadow=grey; axis1 label=('Annee') order=(1953 to 1998 by 2) width=1 value=(h=1); axis2 label=('Prix base 100' justify=left'en 1990') order =(0 to 120 by 20) width=1 value=(h=1) color=black; proc gplot data=chapit8; title 'Prix a la production et prix des aliments du betail' font=arial justify=center height=3; plot (p90 w90)*an / caxis=black overlay legend=legend2 haxis=axis1 vaxis=axis2; symbol1 value=square i=j v=none color=blue; symbol2 value=square i=j v=none color=red; run; title ''; quit; * ----------------------------------------------------------------- ; * Problème n°8.2 : Estimation de la fonction d'offre en utilisant ; * le modèle de Nerlove ; * ----------------------------------------------------------------- ; * Point 1 : Spécification de la fonction d'offre ; * ---------------------------------------------- ; * => cf. Econométrie appliquée (I. Cadoret) ; * chapit 8, page 184 ; * Point 2 : Estimation MCO de l'équation d'offre ; * ---------------------------------------------- ; *** Création des variables nécessaires à l'estimation ***; data chapit8; set chapit8; p1=lag1(p90); /* Création de la variable décalée d'une période p1 */ q1=lag1(q); /* Création de la variable décalée d'une période q1 */ w1=lag1(w90); /* Création de la variable décalée d'une période w1 */ run; *** Estimation MCO de l'équation d'offre + test d'autocorrélation d'ordre 1 ***; proc reg data=chapit8 outest=beta covout; model q= p1 q1 w1 / sse mse rmse p r dw; /* Calcul la stat de durbin watson */ run; quit; data beta2 (keep=p1 q1 w1 denom stat_h seuil); set beta; if _NAME_ notin('q1') then delete; denom = 1-(45*q1); stat_h = (1-(1.804/2))*sqrt(45/denom); seuil=1.64; run; proc print data=beta2; var stat_h seuil; run; * calcul du h de durbin (modèle dynamique) : h =(1-d/2)*(racine[t/(1-t*(var(q1))))]) = 0.85 ; * ==> Conclusion : pas d'autocorrélation, on garde l'estimation MCO pour l'équation d'offre; * Point 3 : Test d'exogénéité de la quantité décalée et choix de la méthode d'estimation ; * Utilisation du test d'Hausman ; * -------------------------------------------------------------------------------------- ; *** 1ere étape du test d'Hausman : estimation MCO de Q1 ***; *** où les variables explicatives sont : p1 w1 et w2 ***; * Création des variables nécessaires à l'estimation; data hausman1; set chapit8; w2=lag2(w90); /* Création de la variable décalée de 2 périodes (w2) */ * if an=1954 then do; /* Mise à blanc des variables pour 1954 */ * p1=.; * q1=.; * w1=.; * w2=.; * end; run; * Estimation par les MCO ; proc reg data=hausman1 outest=parametres; model q1= p1 w1 w2 ; output out=etape1 r=residu p=predict; title "Premiere etape du test d'hausman"; run; quit; *** 2eme étape du test d'Hausman : estimation MCO de Q ***; *** où les variables explicatives sont : p1 w1 et résidu ***; *** de la 1ère étape ***; proc reg data=etape1 covout; model q= p1 q1 w1 residu; title "Seconde etape du test d'hausman"; run; title ' '; quit; ** Résultat : le coefficient du RESIDU n'est pas significatif **; ** ==> la quantité décalée n'est pas exogène **; ** utilisation des MCO **; * ----------------------------------------------------------------- ; * Problème n°8.3 : Interprétation des résultats et utilisation des ; * variables indicatrices ; * ----------------------------------------------------------------- ; * Point 1 : Calcul des élasticités prix de court et long terme ; * et calcul du coefficient d'ajustement partiel ; * ------------------------------------------------------------ ; *** Calcul des élasticités prix court et long terme ***; *** On retient 1990 comme point de référence ***; proc reg data=chapit8 outest=coeff covout; model q = p1 q1 w1; run; quit; data coeff2 (keep = intercept rp1 rq1 rw1 rq); set coeff (firstobs=1 obs=1); rename p1=rp1 q1=rq1 w1=rw1 q=rq; run; data chapit8b; set chapit8 (firstobs=38 obs=38); run; data coeff3; set coeff2; set chapit8b; ectb = rp1 *(p90/q); eltb = (rp1/(1-rq1))*(p90/q); ecta = rw1*(p90/q); elta =(rw1/(1-rq1))*(p90/q); ca = 1-rq1; run; proc print data=coeff3; var ectb eltb ecta elta ca; title "Calcul des élasticités du coefficient d'ajustement (base 1990)"; run; * Point 2 : Impact significatif du boycott de 74 sur le niveau de l'offre? ; * Impact significatif de la vache folle de 96 sur le niveau de l'offre? ; * ------------------------------------------------------------------------------- ; *** Construction de 2 variables indicatrices D74 et D96 ***; data chapit8; set chapit8; if an=1974 then d74=1; else d74=0; /* Création de d74 */ if an=1996 then d96=1; else d96=0; /* Création de d96 */ run; *** Impact du boycott de la viande de veau après 1973 ***; proc reg data=chapit8; model q = p1 q1 w1 d74; /* Impact du boycott de la viande de veau après 1973? */ run; quit; *** Impact de la crise de la vache folle en 1996 ***; proc reg data=chapit8; model q = p1 q1 w1 d96; /* Impact de la crise de la vache folle en 1996? */ run; quit; * Point 3 : Effet de la réforme de la PAC ; * --------------------------------------- ; *** Construction de la variable indicatrice D93 et D93P ***; data chapit8; set chapit8; if an>=1993 then d93=1; else d93=0; /* Construction de la variable indicatrice D93 */ d93p=p1*d93; /* Construction de la variable indicatrice D93P */ run; *** Hypothèse1 : la réforme ne modifie pas la réponse des producteurs aux variations de prix ***; proc reg data=chapit8; model q = p1 q1 w1 d93; /*On introduit d93 de manière additive */ run; quit; *** Hypothèse2 : la réforme modifie la réponse des producteurs aux variations de prix ***; proc reg data=chapit8; model q = p1 q1 w1 d93p; /*On introduit d93 de manière multiplicative */ run; quit; * ------------------------------------------------------------------------------- ; * Problème n°8.4 : Prise en compte des caractéristiques de la production de boeuf ; * ------------------------------------------------------------------------------- ; * Point 1: Commenter l'effet des variables prix ; * --------------------------------------------- ; data extension; set chapit8; p2=lag2(p90); /* Prix décalé de 2 périodes */ p3=lag3(p90); /* Prix décalé de 3 périodes */ if an=1974 then d74=1; else d74=0; /* Variable indicatrice D74 */ if an=1955 then do; /* Mise à blanc des variables pour 1955 */ p1=.; q1=.; w1=.; p2=.; p3=.; d74=.; end; run; proc reg data=extension; model q = p1 p2 p3 q1 w1 d74; run; quit; ods pdf close;