/* ****************************************************************** */ /* chapit 04 - ANALYSE DE LA CONVERGENCE */ /* ****************************************************************** */ libname exo 'Z:\Econometrie appliquee\donnees'; ods pdf file="Z:\Econometrie appliquee\Resultats\chapitre04.pdf"; title; * ------------------------------- ; * Intitulé des différentes séries ; * ------------------------------- ; * logy2000 = logarithme du PIB par tête en 2000 * logy70 = logarithme du PIB par tête en 1970 * logs2000 = logarithme du taux d'épargne en 2000 * logn2000 = logarithme du taux de croissance de la population additionné du taux de croissance du progrès technique et du taux de dépréciation du stock de capital en 2000 * logs = logarithme du taux d'épargne annuel moyen entre 1970 et 2000 * logn = logarithme du taux de croissance annuel moyen de la population sur la période 1970-2000 additionné du taux de croissance du progrès technique et du taux de dépréciation du stock de capital ; * --------------------------------------------------- ; * Problème 4.1 : Estimation de l'équation d'équilibre ; * --------------------------------------------------- ; * Point 1 Estimation de l'équation d'équilibre avec la méthode des MCO; * ------------------------------------------------------------------- ; proc reg data=exo.chapit04; model logy2000 = logs2000 logn2000 ; run; quit; * Point 2 : modèle estimé avec la contrainte beta(logs2000) = -beta(logn2000) ; * --------------------------------------------------------------------------- ; proc reg data=exo.chapit04; model logy2000 = logs2000 logn2000 ; restrict logs2000 = -logn2000 ; run; quit; * --------------------------------------------------; * Problème 4.2 : Test de l'hypothèse de convergence ; * --------------------------------------------------; * Point 1 : calcul du taux de croissance de l'ouptput ; * par tête entre 1970 et 2000 ; * --------------------------------------------------- ; data chapit04; set exo.chapit04; dlogy = logy2000 - logy70; run; goptions reset=global ftext=times ; * Réinitialise toutes les options des graphiques; proc gplot data=chapit04 ; symbol1 color=blue i=reg value=dot h=1 pointlabel=("#pays") ; plot dlogy*logy70; * Représentation graphique de dlogy en fonction de logy70; run; quit; proc reg data=chapit04 outest=resreg1; model dlogy = logy70 / p; * L'option p permet d'obtenir les valeurs prédites de dlogy; plot dlogy*logy70; output out=chapit04 p=dlogyp; * Sauvegarde les valeurs prédites sous le nom de dlogyp dans la table chapit04; run; quit; data resultat1; set resreg1; * Table RESREG à partir de laquelle sera calculée la vitesse de convergence ; label vitconv ="Vitesse de convergence "; label an ="La moitié de l'écart à l'équilibre est rattrappé en :"; vitconv = -Log(logy70+1)/31; an = Log(1/2)/-vitconv; run; proc print data=resultat1 label noobs; * Affiche le résultat ; var vitconv an; run; * Point 2 ; * ------- ; proc reg data=chapit04 outest=resreg2; * Récupère les parametres estimés dans la table resreg; model dlogy = logy70 dums dumd; run; quit; data resultat2; set resreg2; * Table RESREG à partir de laquelle sera calculée la vitesse de convergence ; label vitconv='Vitesse de convergence du PIB par tête'; label an ="La moitié de l'écart à l'équilibre est rattrappé en :"; vitconv = -Log(logy70+1)/31; an = Log(1/2)/-vitconv; run; proc print data=resultat2 label noobs; * Affiche le résultat ; var vitconv an; run; * Point 3 : test de convergence conditionnelle ; * -------------------------------------------- ; * a) Teste l'hypothèse beta(logs)+beta(logn)=0; * --------------------------------------------; proc reg data=chapit04 ; model dlogy = logy70 Logs Logn; test logs = -logn; * Teste H0: B3+B4=0; run; quit; proc reg data=chapit04 outest=resreg3; model dlogy = logy70 logs logn; restrict logs = -logn; * Estime le modèle sous l'hypothese H0: B3+B4=0; run; quit; data resultat3; set resreg3; * Table RESREG1 à partir de laquelle sera calculée la vitesse de convergence et la part du capital; label vitconv='Vitesse de convergence du PIB par tête'; label partcap='Part du capital dans le revenu'; vitconv=-Log(logy70+1)/31; partcap=Logs/(1-exp(-vitconv*31)+Logs); run; proc print data=resultat3 label noobs; * Affiche le résultat ; var vitconv partcap; run; * b) Teste le modèle emboité sous l'hypothèse nulle beta(logs)=beta(logn)=0; * -------------------------------------------------------------------------; proc reg data=chapit04; model dlogy = logy70 logs logn; test logs = logn = 0; * Teste H0: B3=B4=0; run; quit; * Point 4 : test de convergence conditionnelle avec prise en compte de DUMS et DUMD; * --------------------------------------------------------------------------------- ; * a) Teste l'hypothèse beta(logs)+beta(logn)=0; * --------------------------------------------; proc reg data=chapit04; model dlogy = logy70 logs logn dums dumd / p ; test logs=-logn; output out=chapit04 p=dlogypdum; run; quit; proc reg data=chapit04 /*all*/ outest=resreg4 outsscp=sscp; model dlogy = logy70 logs logn dums dumd ; restrict logs = -logn; * Estime le modèle sous l'hypothese H0: B3+B4=0; run; quit; data resultat4; set resreg4; label vitconv='Vitesse de convergence du PIB par tête'; label partcap='Part du capital dans le revenu'; vitconv=-Log(logy70+1)/31; partcap=Logs/(1-exp(-vitconv*31)+Logs); run; proc print data=resultat4 label noobs; var vitconv partcap; run; * b) représentation graphique des valeurs observées et prédites ; * ------------------------------------------------------------- ; data chapit04; set chapit04; label dlogypdum='dlogypdum' dlogyp='dlogyp'; run; goptions reset=global ftext=simplex ; * On réinitialise toutes les options des graphiques; proc gplot data=chapit04; title1 'Representation graphique des series Dlogy, Dlogyp et Dlogypdum'; symbol1 color=red i=join value=square; * Définit la couleur et le style de chaque ligne; symbol2 color=green i=join value=star; symbol3 color=blue i=join value=diamond; legend position=bottom shape=line(1) label=none; * Affiche une légende; axis1 label=none; plot (dlogypdum dlogyp dlogy)*pays/overlay vaxis=axis1 legend ; run; quit; * Simulation; * ----------; * i) Table temporaire = copie de la table chapit04 ; data chapit04b; set chapit04; run; * ii) Ajoute 2 lignes dans la table CHAPIT04B correspondant aux données avec lesquelles seront réalisées les estimations ; proc sql; insert into chapit04b(logy70,logs,logn,dums,dumd) Values(10 3.15 -2.85 0 0); insert into chapit04b(logy70,logs,logn,dums,dumd) Values(10 3.15 -2.85 1 0); run; * iii) Ré-exécute le modèle précédent, les observations rajoutées n'étant pas prises en compte dans le calcul des paramètres; proc reg data=chapit04b outest=resreg5 noprint; model dlogy = logy70 logs logn dums dumd / cli; * CLI = calcule les intervalles de confiance pour les 2 obs. rajoutées; restrict Logs = -Logn; * Estime le modèle sous l'hypothese H0: B3+B4=0; output out=simulation p=phat lcl=b_inf95 ucl=b_sup95 ; run; quit; proc print data=simulation; var logy70 logs logn dums dumd phat b_inf95 b_sup95 ; where pays=.; title "Valeur prédite du taux de croissance du PIB par tête (simulation)"; run; * Problème 4.3 : Analyse du processus de convergence avec introduction ; * des effets specifiques aux pays de l'UE ; * ---------------------------------------------------------------------; data chapit04; set chapit04; dumeulogy70 = dumeu * logy70; run; proc reg data=chapit04 outest=resreg6; model dlogy = logy70 logs logn dums dumd dumeu dumeulogy70; restrict logs = - logn ; title " "; run; quit; * Pour les pays d'Europe; * ----------------------; data resultat6; set resreg6; label vitconv='Vitesse de convergence du PIB par tête'; label partcap='Part du capital dans le revenu'; vitconv=-Log(dumeulogy70+logy70+1)/31; partcap=Logs/(1-exp(-vitconv*31)+Logs); run; proc print data=resultat6 label noobs; var vitconv partcap; run; * Pour les autres pays; * --------------------; data resultat6; set resreg6; label vitconv='Vitesse de convergence du PIB par tête'; label partcap='Part du capital dans le revenu'; vitconv=-Log(logy70+1)/31; partcap=Logs/(1-exp(-vitconv*31)+Logs); run; proc print data=resultat6 label noobs; var vitconv partcap; run; ods pdf close;