**AUTEUR : Isabelle CADORET-DAVID** ALLOCATE 0 753 OPEN DATA offretravail.wks DATA(FORMAT=wks,ORG=obs) / PRINT / COMPUTE nobs = 753 SET nlfp = 1 - lfp PRINT / lfp nlfp DISP '*********************************' DISP '***Statistiques descriptives***' DISP '*********************************' TABLE TABLE(SMPL=lfp) TABLE(SMPL=nlfp) DISP '************************************************' DISP '***Donnees complémentaires : revenu, salaires***' DISP '************************************************' SET prin = faminc - (whrs*ww) TABLE 1 753 prin SET ax2 = ax**2 SET lww = log(ww) LINREG(SMPL=lfp) lww # CONSTANT wa we cit ax ax2 SET lwwc 429 753 = %beta(1)+%beta(2)*wa+%beta(3)*we+%beta(4)*cit+%beta(5)*ax+%beta(6)*ax2 SET lww1 = %IF(ww>0, lww, lwwc) PRINT / lww lwwc lww1 TABLE 1 753 lww1 TABLE 1 428 lww1 TABLE 429 753 lww1 DISP '**********************************************' DISP '***Modélisation de la décision de travailler ***' DISP '**********************************************' DISP '***1er cas modèle linéaire***' LINREG lfp # constant lww1 kl6 k618 wa we un cit prin PRJ lfpp PRINT / lfpp DISP '***2nd cas modèle probit***' PRB lfp # constant lww1 kl6 k618 wa we un cit prin PRJ(CDF=pp_lfp) PRINT / pp_lfp DISP 'nombre de bonnes prévisions :' %ncorrect DISP 'pourcentage de bonnes prévisions :' (%ncorrect/(%nobs*1.0))*100.0 **le nombre de bonnes prévisions correspond au calcul suivant:** SET lp = %if(pp_lfp<0.5, 0, 1) SET lp0 = %if(lp==0.and.lfp==0, 1, 0) compute nb0 = %sum(lp0) SET lp1 = %if(lp==1.and.lfp==1, 1, 0) compute nb1 = %sum(lp1) disp 'nombre de bonnes prévisions :' nb0+nb1 *calcul des effets marginaux pour une personne vivant dans une grand ville (cit=1)* STAT(NOPRINT) lww1 COMPUTE lww1m = %mean STAT(NOPRINT) kl6 COMPUTE kl6m = %mean STAT(NOPRINT) k618 COMPUTE k618m = %mean STAT(NOPRINT) wa COMPUTE wam = %mean STAT(NOPRINT) we COMPUTE wem = %mean STAT(NOPRINT) un COMPUTE unm = %mean STAT(NOPRINT) prin COMPUTE prinm = %mean COMPUTE xmean = %beta(1)+%beta(2)*lww1m+%beta(3)*kl6m+%beta(4)*k618m+%beta(5)*wam+%beta(6)*wem+$ %beta(7)*unm+%beta(8)+%beta(9)*prinm DISP 'effet marginal de lww1' %beta(2)*%DENSITY(xmean) DISP 'effet marginal de kl6' %beta(3)*%DENSITY(xmean) DISP 'effet marginal de k618' %beta(4)*%DENSITY(xmean) DISP 'effet marginal de wa' %beta(5)*%DENSITY(xmean) DISP 'effet marginal de we' %beta(6)*%DENSITY(xmean) DISP 'effet marginal de un' %beta(7)*%DENSITY(xmean) DISP 'effet marginal de prin' %beta(9)*%DENSITY(xmean) *calcul de l"effet marginal de la variable cit au point moyen* COMPUTE xmean0 = %beta(1)+%beta(2)*lww1m+%beta(3)*kl6m+%beta(4)*k618m+%beta(5)*wam+%beta(6)*wem+$ %beta(7)*unm+%beta(9)*prinm COMPUTE Prob1 = %CDF(xmean) COMPUTE Prob0 = %CDF(xmean0) DISP 'effet marginal de cit' Prob1-Prob0 DISP '***3eme cas modèle logit***' LGT lfp # constant lww1 kl6 k618 wa we un cit prin DISP 'nombre de bonnes prévisions :' %ncorrect DISP 'pourcentage de bonnes prévisions :' (%ncorrect/(%nobs*1.0))*100.0 *calcul des effets marginaux pour une personne vivant dans une grand ville (cit=1)* COMPUTE xmean = %beta(1)+%beta(2)*lww1m+%beta(3)*kl6m+%beta(4)*k618m+%beta(5)*wam+%beta(6)*wem+$ %beta(7)*unm+%beta(8)+%beta(9)*prinm COMPUTE fxmean = EXP(xmean)/((1+EXP(xmean))**2) DISP 'effet marginal de lww1' %beta(2)*fxmean DISP 'effet marginal de kl6' %beta(3)*fxmean DISP 'effet marginal de k618' %beta(4)*fxmean DISP 'effet marginal de wa' %beta(5)*fxmean DISP 'effet marginal de we' %beta(6)*fxmean DISP 'effet marginal de un' %beta(7)*fxmean DISP 'effet marginal de prin' %beta(9)*fxmean *calcul de l"effet marginal de la variable cit au point moyen* COMPUTE xmean0 = %beta(1)+%beta(2)*lww1m+%beta(3)*kl6m+%beta(4)*k618m+%beta(5)*wam+%beta(6)*wem+$ %beta(7)*unm+%beta(9)*prinm COMPUTE Probl = EXP(xmean)/(1+EXP(xmean)) COMPUTE Probl0 = EXP(xmean0)/(1+EXP(xmean0)) DISP 'effet marginal de cit' Probl-Probl0 DISP '*************************************************************' DISP '***Estimation de l"offre de travail avec un modèle tronqué***' DISP '*************************************************************' SMPL(series=lfp) COMPUTE trunc = 0 NONLIN(PARMSET=sparms) sigmasq LINREG(NOPRINT) whrs # CONSTANT kl6 k618 wa we prin lww FRML(LASTREG,VECTOR=b,PARMSET=bparms) rhsfrml COMPUTE sigmasq = %seesq FRML truncate = (z=rhsfrml(t)) , -0.5*log(sigmasq) - 0.5*(whrs-z)**2/sigmasq - log(%cdf((z-trunc)/sqrt(sigmasq))) MAXIMISE(METHOD=BFGS,PARMSET=bparms+sparms,iters=100) truncate *calcul des effets marginaux* STAT(NOPRINT) whrs COMPUTE whrsm = %mean STAT(NOPRINT) lww COMPUTE lwwm = %mean STAT(NOPRINT) kl6 COMPUTE kl6m = %mean STAT(NOPRINT) k618 COMPUTE k618m = %mean STAT(NOPRINT) wa COMPUTE wam = %mean STAT(NOPRINT) we COMPUTE wem = %mean STAT(NOPRINT) un COMPUTE unm = %mean STAT(NOPRINT) prin COMPUTE prinm = %mean COMPUTE alphamean = (trunc -(%beta(1)+%beta(2)*kl6m+%beta(3)*k618m+%beta(4)*wam+%beta(5)*wem+%beta(6)*prinm+$ %beta(7)*lwwm))/ (sqrt(sigmasq)) COMPUTE lambdamean = %density(alphamean)/(1-%cdf(alphamean)) COMPUTE deltamean = lambdamean*(lambdamean-alphamean) *disp deltamean DISP 'effet marginal de kl6' %beta(2)*(1-deltamean) DISP 'effet marginal de k618' %beta(3)*(1-deltamean) DISP 'effet marginal de wa' %beta(4)*(1-deltamean) DISP 'effet marginal de we' %beta(5)*(1-deltamean) DISP 'effet marginal de prin' %beta(6)*(1-deltamean) DISP 'effet marginal de lww' %beta(7)*(1-deltamean) DISP 'élasticité de l"offre de travail par rapport au salaire' %beta(7)*(1-deltamean)/whrsm SMPL DISP '*********************************************************************' DISP '***Estimation de l"offre de travail avec un modèle censuré (tobit)***' DISP '*********************************************************************' NONLIN(PARMSET=sparmst) sigmasq LINREG(NOPRINT) whrs # CONSTANT kl6 k618 wa we prin lww1 FRML(LASTREG,VECTOR=b,PARMSET=bparmst) rhsfrml COMPUTE sigmasq = %seesq FRML tobit = (z=rhsfrml(t)) , %if(%valid(whrs), -0.5*log(sigmasq)-0.5*(whrs-z)**2/sigmasq, $ log(%cdf((trunc-z)/sqrt(sigmasq)))) MAXIMISE(METHOD=BFGS,PARMSET=bparmst+sparmst,iters=100) tobit *calcul des effets marginaux* STAT(NOPRINT) lww1 COMPUTE lwwm = %mean STAT(NOPRINT) kl6 COMPUTE kl6m = %mean STAT(NOPRINT) k618 COMPUTE k618m = %mean STAT(NOPRINT) wa COMPUTE wam = %mean STAT(NOPRINT) we COMPUTE wem = %mean STAT(NOPRINT) un COMPUTE unm = %mean STAT(NOPRINT) prin COMPUTE prinm = %mean COMPUTE xmeansigma = (%beta(1)+%beta(2)*kl6m+%beta(3)*k618m+%beta(4)*wam+%beta(5)*wem+%beta(6)*prinm+$ %beta(7)*lwwm)/(sqrt(sigmasq)) COMPUTE xmean = %beta(1)+%beta(2)*kl6m+%beta(3)*k618m+%beta(4)*wam+%beta(5)*wem+%beta(6)*prinm+%beta(7)*lwwm COMPUTE cdfm = %CDF(xmeansigma) COMPUTE denm = %DENSITY(xmeansigma) DISP 'effet marginal de kl6' %beta(2)*cdfm DISP 'effet marginal de k618' %beta(3)*cdfm DISP 'effet marginal de wa' %beta(4)*cdfm DISP 'effet marginal de we' %beta(5)*cdfm DISP 'effet marginal de prin' %beta(6)*cdfm DISP 'effet marginal de lww' %beta(7)*cdfm DISP 'élasticité de l"offre de travail par rapport au salaire' %beta(7)*cdfm/whrsm DISP '***décomposition de l"effet marginal de lww (Mc Donald et Moffit)***' COMPUTE effeth = cdfm*(%beta(7)*(1-(xmeansigma*denm/cdfm)-((denm**2)/(cdfm**2)))) COMPUTE effetprob = ((xmean+sqrt(sigmasq)*denm/cdfm)*denm*%beta(7))/ sqrt(sigmasq) DISP 'effet sur les heures pur les individus qui travaillent' effeth DISP 'soit en terme d"élasticité' effeth/whrsm DISP 'effet sur la probabilité de travailler' effetprob DISP 'soit en terme d"élasticité' effetprob/whrsm smpl smpl 1 409 print / whrs set logW = log(WW) set H = whrs set E = Kl6 set Educ = WE set logWF = log(PRIN) inst constant