**AUTEUR : Isabelle CADORET-DAVID** END 1 CALENDAR(PANELOBS=29) 1970 ALLOCATE 0 19//1998:1 *le fichier comporte des observations sur 19 pays et $ *pour chaque pays on dispose de 29 années d'observation* OPEN DATA investpanel.wks DATA(FORMAT=wks,ORG=obs) / *lecture du fichier de données* *PRINT / COMPUTE nper = 19 COMPUTE tper = 29 DEC VECTOR[SERIES] D(nper) DO i=1,nper SET D(i) = %INDIV(T)==i END DO I *creation des variables indicatrices pour chaque pays* DISP '*********************************************************************************' DISP '*********************************************************************************' DISP 'Partie 1 : procédure de test pour choisir entre une estimation par pays' DISP 'une estimation avec données empilées (pooled) ou avec un effet individuel fixe' DISP '*********************************************************************************' DISP '*********************************************************************************' DISP '***estimation pays par pays*****' COMPUTE scr = 0.0 COMPUTE ddl = 0 DO i=1,nper LINREG(SMPL=d(i)) pinat # CONSTANT psnat COMPUTE scr = scr + %RSS COMPUTE ddl = ddl + %ndf END DO I DISP scr DISP ddl DISP '***estimation pooled****' LINREG pinat # CONSTANT psnat COMPUTE SCRT = %RSS COMPUTE ddlt = %ndf DISP '***test de contrainte - tous les parametres sont identiques***' *compare les estimations par pays et l'estimation pooled* COMPUTE fstat1 = ((scrt-scr)/(ddlt-ddl))/(scr/ddl) COMPUTE [INTEGER] ddl1= ddlt -ddl CDF FTEST fstat1 ddl1 ddl *on refuse l'hypothèse H0* DISP '***estimation avec un effet fixe individuel***' DISP '**calcul de l"estimateur du Least Square Dummy Variable***' LINREG pinat # psnat D COMPUTE scrw = %RSS COMPUTE [INTEGER] ddlw = %ndf DISP '***test de contrainte - le paramètre de pente est identique pour tous les pays***' *compare les estimations par pays et les estimations LSDV* COMPUTE fstat2 = ((scrw-scr)/(ddlw-ddl))/(scr/ddl) COMPUTE [INTEGER] ddl2 = ddlw -ddl CDF FTEST fstat2 ddl2 ddl *on refuse l'hypothèse H0 - Les tests conduisent à retenir l'estimation par pays* DISP '**calcul de l"estimateur Within***' PREGRESS(EFFECTS=INDIV,METHOD=FIXED) pinat # psnat *on note que les résultats sont identiques au résultat donné par l'estimateur LSDV* COMPUTE betaw = %beta(1) COMPUTE vbetaw = (%SEESQ)*%XX(1,1) DISP '*********************************************************************************' DISP '*********************************************************************************' DISP 'Partie 2 : procédure de test pour choisir entre une estimation avec un effet indivuel aléatoire' DISP 'une estimation avec données empilées (pooled) ou avec un effet individuel fixe' DISP '*********************************************************************************' DISP '*********************************************************************************' DISP '***estimation avec un effet aléatoire***' PREGRESS(EFFECTS=INDIV,METHOD=RANDOM) pinat # psnat CONSTANT COMPUTE betaa = %beta(1) COMPUTE vbetaa = (%SEESQ)*%XX(1,1) DISP '**test de Breush et Pagan**' *compare le modèle avec effet individuel aléatoire et le pooled* LINREG(NOPRINT) pinat / resids # CONSTANT psnat SET residmco = resids PANEL(ENTRY=0.0,INDIV=28) residmco / residm SET period = %period(T)==1 SMPL(SERIES=period) SET scrim = residm**2 STATISTICS(noprint) scrim COMPUTE scrm=nper*%mean COMPUTE LM = ((nper*(tper-1))/(2*((tper-1)-1)))*(((scrm/scrt)-1)**2) CDF CHISQUARED LM 1 *le test conduit à refuser H0 et donc le pooled* smpl DISP '**test d"Hausman**' *compare le modèle à effet fixe individuel et à effet individuel aléatoire* COMPUTE Wald = ((betaw-betaa)**2)/(vbetaw-vbetaa) CDF CHISQUARED Wald 1 *on retient l'hypothèse H0 et par conséquent le modèle à effet aléatoire* DISP '**calcul du poids de l"estimateur within dans l"estimateur MCG du modèle à effet aléatoire**' DISP '**calcul de l"estimateur between**' PANEL(ENTRY=0.0,INDIV=1.0) Psnat / Psnatb PANEL(ENTRY=0.0,INDIV=1.0) Pinat / Pinatb LINREG pinatb # constant psnatb COMPUTE betab = %beta(2) DISP '**calcul du poids de l"estimateur within**' COMPUTE alpha = (betaa-betab)/(betaw-betab) disp 'alpha' alpha *de manière équivalente on peut calculer ce poids en rapportant la variance within à la variance totale* PANEL(ENTRY=1.0,INDIV=-1.0) Psnat / Psnatw STATISTICS(noprint) psnatw COMPUTE varw = %variance PSTATS(EFFECTS=INDIV) residmco COMPUTE veta = %VRANDOM COMPUTE veps = %VINDIV COMPUTE theta = 1.0 - SQRT(veta/(veta+tper*veps)) PANEL Psnat / Psnatmcg 1 ENTRY 1.0 INDIV -theta STATISTICS(NOPRINT) psnatmcg COMPUTE vara = %variance COMPUTE alpha = varw/vara DISP 'alpha' alpha ********************************************** ********************************************** ***remarques sur les commandes PSTAT et PANEL*** ********************************************** ********************************************** PSTATS(TESTS,EFFECT=INDIV) residmco *teste la présence d'un effet fixe individuel, compare les estimations du pooled et du LSDV* *on peut le vérifier en calculant la statistique de Fisher* COMPUTE fstat3 = ((scrt-scrw)/(ddlt-ddlw))/(scrw/ddlw) COMPUTE [INTEGER] ddl3 = ddlt -ddlw CDF FTEST fstat3 ddl3 ddlw *Test de l'égalité de la variance des individus dans le pooled* PSTATS(SPREAD) residmco *les deux tests peuvent s'effectuer simultanément* PSTATS(TESTS,EFFECT=INDIV,SPREAD) residmco *calcul la variance pour chaque individu, on peut alors utiliser la série pour corriger de l'hétéroscédasticité* PANEL(SPREAD=vares) residmco Print 1 60 vares residmco LINREG(SPREAD=vares) pinat # constant psnat