DISPLAY '*******************************************************' DISPLAY 'ANALYSE DU MARCHE DU TRAVAIL NON QUALIFIE EN FRANCE' DISPLAY '*******************************************************' CALENDAR(PANELOBS=5) 1988 ALLOCATE 0 31//1992:1 *lecture des données : il y a 5 années (de 1988 à 1992) et 31 individus OPEN DATA chapitre13.xls *ouverture du fichier de données DATA(FORMAT=XLS,ORG=COLS) / *description du fichier de données PRINT / *impression de toutes les séries du fichier ******************************************************* * Intitulé des séries * ******************************************************* /* wouv : salaire annuel net moyen des ouvriers exprimé en Francs courants wempl : salaire annuel net moyen des employés exprimé en Francs courants louv : nombre d"ouvriers exprimé en années travail lempl : nombre d"employés exprimé en années travail l : effectifs salariés non qualifiés w : salaire annuel net moyen des salariés non qualifiés uouv: taux de chômage des ouvriers uempl : taux de chômage des employés u : moyenne du taux de chômage des ouvriers et des employés P : le prix implicite à la production pns : le pouvoir de négociation du syndicat évalué avec un modèle Probit m : le nombre d"insider we : le salaire alternatif que les salariés non qualifiés */ DISPLAY '*******************************************************' DISPLAY "Problème n°1 : estimation de l'équation de salaire" DISPLAY '*******************************************************' DISPLAY 'QUESTION 1' SET logwe = log(we) SET logp = log(p) SET logm = log(m) SET logw = log(w) *transformation des données en log LINREG logw / resids # logwe logP logm u pns CONSTANT *estimation du modèle avec la méthode des MCO et sauvegarde des résidus COMPUTE scrt = %RSS *somme des carrés des résidus totaux SET residmco = resids *résidus de l'équation estimée DISPLAY 'QUESTION 3' INSTRUMENTS logwe{1} logp u{1} pns logm CONSTANT *liste des instruments LINREG(INST) logw # logwe logP logm u pns CONSTANT *estimation du modèle avec la méthode des Variables Instrumentales DISPLAY '*******************************************************' DISPLAY "Problème n°2 : Estimation de l'équation de salaire" DISPLAY 'avec un effet individuel' DISPLAY '*******************************************************' DISPLAY 'QUESTION 1' PSTATS(EFFECTS=INDIV) residmco COMPUTE veta=%VRANDOM COMPUTE vesps=%VINDIV COMPUTE theta = 1 - SQRT(veta/(veta+5*vesps)) *calcul des paramètres de la matrice de variance-covariance des aléas *1ère méthode : instruction PREGRESS : PREGRESS(EFFECTS=INDIVIDUAL,METHOD=RANDOMEFFECTS,VRANDOM=veta,VINDIV=vesps) logw # logwe logp logm u pns CONSTANT *estimation avec la méthode des MCG du modèle avec un effet individuel aléatoire *2ème méthode : instruction PANEL : PANEL logw / logwmcg 1 ENTRY 1.0 INDIV -theta PANEL logwe / logwemcg 1 ENTRY 1.0 INDIV -theta PANEL logp / logpmcg 1 ENTRY 1.0 INDIV -theta PANEL logm / logmmcg 1 ENTRY 1.0 INDIV -theta PANEL u / umcg 1 ENTRY 1.0 INDIV -theta PANEL pns / pnsmcg 1 ENTRY 1.0 INDIV -theta SET constmcg = 1 - theta *transformation des données afin d'estimer le modèle avec la méthode des MCG LINREG logwmcg # logwemcg logpmcg logmmcg umcg pnsmcg constmcg *estimation avec la méthode des MCG du modèle avec un effet individuel aléatoire COMPUTE varmcg = %SEESQ*%XX COMPUTE varmcgs = ||varmcg(1,1),varmcg(1,2),varmcg(1,3),varmcg(1,4),varmcg(1,5)|$ varmcg(2,1),varmcg(2,2),varmcg(2,3),varmcg(2,4),varmcg(2,5)| $ varmcg(3,1),varmcg(3,2),varmcg(3,3),varmcg(3,4),varmcg(3,5)| $ varmcg(4,1),varmcg(3,2),varmcg(4,3),varmcg(4,4),varmcg(4,5)| $ varmcg(5,1),varmcg(4,2),varmcg(5,3),varmcg(5,4),varmcg(5,5)|| COMPUTE betamcg = %BETA *sauvegarde de la matrice de variance-covariance des paramètres estimés *(sauf celui de la constante) et du vecteur des paramètres estimés pour le *test d'Hausman *test de Breusch-Pagan : PANEL residmco / residm 1 ENTRY 0.0 INDIV 1.0 *calcul des moyennes des résidus COMPUTE an = 5 COMPUTE in = 31 *donne le nombre d'années et d'individus SET period = %PERIOD(T)==1 SMPL(SERIES=period) SET scrim = (an*residm)**2 STATISTICS(NOPRINT) scrim COMPUTE scrm = %MEAN*in COMPUTE LM = ((an*in)/(2*(an-1)))*(((scrm/scrt)-1)**2) CDF CHISQUARED LM 1 SMPL *calcul de la statistique de Breush-Pagan DISPLAY 'QUESTION 2' DECLARE VECTOR[SERIES] D(31) *déclare 31 séries sous forme de vecteurs DO I=1,31 SET D(I) = %INDIV(T)==I END DO I *boucle permettant de créer une variable indicatrice pour chaque secteur LINREG logw # logwe logP logm u pns D *Estimation du modèle avec un effet individuel fixe par la méthode MCO DISPLAY 'QUESTION 3' *1ère méthode : instruction PREGRESS : PREGRESS(EFFECTS=INDIVIDUAL,METHOD=FIXEDEFFECTS) logw # logwe logp logm u pns *2ème méthode : instruction PANEL : PANEL logw / logww 1 ENTRY 1.0 INDIV -1.0 PANEL logwe / logwew 1 ENTRY 1.0 INDIV -1.0 PANEL logp / logpw 1 ENTRY 1.0 INDIV -1.0 PANEL logm / logmw 1 ENTRY 1.0 INDIV -1.0 PANEL u / uw 1 ENTRY 1.0 INDIV -1.0 PANEL pns / pnsw 1 ENTRY 1.0 INDIV -1.0 *calcul des séries en écart à la moyenne LINREG(DFC=31) logww # logwew logpw logmw uw pnsw *estimation du modèle avec la méthode Within COMPUTE varlsdv = %SEESQ*%XX COMPUTE betalsdv = %BETA *sauvegarde de la matrice de variance-covariance des paramètres estimés *et du vecteur des paramètres estimés pour le test d'Haussman DISPLAY 'QUESTION 4' COMPUTE sigma = (varlsdv - varmcgs) COMPUTE sigmai = inv(sigma) COMPUTE ebeta = ||betalsdv(1)-betamcg(1)|betalsdv(2)-betamcg(2)| $ betalsdv(3)-betamcg(3)|betalsdv(4)-betamcg(4)|betalsdv(5)-betamcg(5)|| COMPUTE wald = Tr(ebeta)*sigmai*ebeta COMPUTE waldstat = wald(1,1) CDF CHISQUARED waldstat 5 *Calcul de la statistique de Wald (test d'Hausman) DISPLAY 'QUESTION 5' SET dlogw = logw-logw{1} SET dlogwe = logwe-logwe{1} SET dlogp = logp-logp{1} SET dlogm = logm-logm{1} SET du = u-u{1} SET dpns = pns-pns{1} *Calcul des différences premières des variables INSTRUMENTS logwe{2} logp{2} logm{2} u{2} pns{2} LINREG(INST) dlogw # dlogwe dlogp dlogm du dpns *estimation avec la méthode des VI INSTRUMENTS dlogwe{1} dlogp{1} du{1} dlogm{1} dpns{1} LINREG(INST) dlogw / resid # dlogwe dlogp dlogm du dpns DISPLAY '*******************************************************' DISPLAY 'Problème n°3 : comparaison des estimateurs MCO, MCG, ' DISPLAY 'Within et Between' DISPLAY '*******************************************************' PANEL logw / logwb 1 ENTRY 0.0 INDIV 1.0 PANEL logwe / logweb 1 ENTRY 0.0 INDIV 1.0 PANEL logp / logpb 1 ENTRY 0.0 INDIV 1.0 PANEL logm / logmb 1 ENTRY 0.0 INDIV 1.0 *calcul des moyennes des variables sur les 5 périodes pour chaque secteurs STATISTICS(NOPRINT) logw SET logwtc = logw-%MEAN SET logwbc = logwb-%MEAN STATISTICS(NOPRINT) logwe SET logwetc = logwe-%MEAN SET logwebc = logweb-%MEAN STATISTICS(NOPRINT) logp SET logptc = logp-%MEAN SET logpbc = logpb-%MEAN STATISTICS(NOPRINT) logm SET logmtc = logm-%MEAN SET logmbc = logmb-%MEAN STATISTICS(NOPRINT) logwmcg SET logwmcgc = logwmcg-%MEAN STATISTICS(NOPRINT) logwemcg SET logwemcgc = logwemcg-%MEAN STATISTICS(NOPRINT) logpmcg SET logpmcgc = logpmcg-%MEAN STATISTICS(NOPRINT) logmmcg SET logmmcgc = logmmcg-%MEAN *Calcul des séries centrées pour estimer le modèle avec les méthodes MCO,Between et MCG DISPLAY 'QUESTION 1' LINREG logwtc # logwetc logptc logmtc COMPUTE xxt = INV(%XX), xxti = %XX COMPUTE betat = %BETA *estimation du modèle centré sans effet individuel par la méthode des MCO LINREG logwmcgc # logwemcgc logpmcgc logmmcgc COMPUTE xxmcgc = INV(%XX), xxmcgi = %XX COMPUTE betamcg = %BETA *estimation du modèle centré avec effet individuel aléatoire par la méthode des MCG LINREG logwbc # logwebc logpbc logmbc COMPUTE xxb = INV(%XX) COMPUTE betab = %BETA *estimation du modèle avec la méthode Between avec les données centrées LINREG(DFC=31) logww # logwew logpw logmw COMPUTE betaw =%BETA COMPUTE xxw = INV(%XX) *estimation du modèle avec la méthode Within COMPUTE xxtc = xxw+xxb DISPLAY xxt(1,1) xxt(1,2) xxt(1,3) xxt(2,3) xxt(3,3) DISPLAY xxtc(1,1) xxtc(1,2) xxtc(1,3) xxtc(2,3) xxtc(3,3) *comparaison des estimateurs MCO Within et Between : verification que xxtc = xxw+xxb COMPUTE fw = xxti*xxw COMPUTE fww = fw*betaw COMPUTE A = %IDENTITY(3) COMPUTE fwb = (A-fw)*betab COMPUTE betatc = fww+fwb WRITE fw *calcul de la matrice de pondération DISPLAY betatc(1,1) betatc(2,1) betatc(3,1) DISPLAY betat(1) betat(2) betat(3) *vérification que estimateur mco = moyenne pondérée des estimateurs Within et Between COMPUTE xxmcg = xxw + ((1-theta)**2)*xxb DISPLAY xxmcgc(1,1) xxmcgc(1,2) xxmcg(1,3) xxmcg(2,3) xxmcgc(3,3) DISPLAY xxmcg(1,1) xxmcg(1,2) xxmcg(1,3) xxmcg(2,3) xxmcg(3,3) *comparaison des estimateurs MCG, Within et Between : vérification que xxmxg = xxw + (1-theta**2)*xxb COMPUTE fmcg = xxmcgi*xxw COMPUTE fmcgw = fmcg*betaw COMPUTE fmcgb = (A-fmcg)*betab WRITE fmcg *calcul de la matrice de pondération COMPUTE betamcgc = fmcgw + fmcgb DISPLAY betamcgc(1,1) betamcgc(2,1) betamcgc(3,1) DISPLAY betamcg(1) betamcg(2) betamcg(3) *vérification que estimateur MCG = moyenne pondérée des estimateurs Within et Between