options crt; ? 5e1 in cps78; smpl 1,550; wage = exp(lnwage); msd wage lnwage ed ex; set hwagea = @mean(1); set hwageg = exp(@mean(2)); set annwagea = 2000*hwagea; set annwageg = 2000*hwageg; print hwagea hwageg annwagea annwageg; ? (a) set wm = @mean(1); set lwm = @mean(2); set wsd = @stddev(1); set lwsd = @stddev(2); ? ? Note: SUM column in MSD gives number of individuals ? msd nonwh hisp fe; ? (b) ? male = 1-fe; white = 1-nonwh-hisp; supres smpl; ? stop listing of actual observations from select mform(nrow=5,ncol=1) w78=0; mform(nrow=5,ncol=1) e78=0; set j=1; dot male fe white nonwh hisp; select . ; msd ed lnwage . ; ? msd of . is done for labelling only set geomwage = exp(@mean(2)); print geomwage; ? (c) set w78(j) = geomwage; set e78(j) = @mean(1); set j = j+1; enddot; ? select 1; set low = lwm-3*lwsd; set high = lwm+3*lwsd; hist(min=low,max=high,nbins=6,percent) lnwage; jbtest lnwage; ? use Proc jbtest defined below set low = wm-3*wsd; set high = wm+3*wsd; hist(min=low,max=high,nbins=6,percent) wage; jbtest wage; ? (e) ? delete lnwage ed ex nonwh fe hisp; ? delete 1978 series, so that 1985 ? series will come in from new databank in cps85; smpl 1,534; wage = exp(lnwage); msd wage lnwage ed ex; set hwagea = @mean(1); set hwageg = exp(@mean(2)); set annwagea = 2000*hwagea; set annwageg = 2000*hwageg; print hwagea hwageg annwagea annwageg; ? (d/a) set wm = @mean(1); set lwm = @mean(2); set wsd = @stddev(1); set lwsd = @stddev(2); ? ? Note: SUM column in MSD gives number of individuals ? msd nonwh hisp fe; ? (d/b) ? male = 1-fe; white = 1-nonwh-hisp; supres smpl; ? stop listing of actual observations from select mform(nrow=5,ncol=1) w85=0; mform(nrow=5,ncol=1) e85=0; set j=1; dot male fe white nonwh hisp; select . ; msd ed lnwage . ; ? msd of . is done for labelling only set geomwage = exp(@mean(2)); print geomwage; ? (d/c) set w85(j) = geomwage/1.649; set e85(j) = @mean(1); set j = j+1; enddot; ? print w78 w85 e78 e85; ? (d) ? select 1; set low = lwm-3*lwsd; set high = lwm+3*lwsd; hist(min=low,max=high,nbins=6,percent) lnwage; jbtest lnwage; set low = wm-3*wsd; set high = wm+3*wsd; hist(min=low,max=high,nbins=6,percent) wage; jbtest wage; ? (d/e) ? ? Jarque-Bera test for normality ? An easier way to compute it is to just run a regression: ? regopt(pvprint) jb; ? olsq x c; ? If you compute it both ways, they will not match exactly, due ? to some small-sample adjustments in @skew and @kurt. See ? Exercise 2e10 for details. ? proc jbtest x; msd(noprint) x; set jbstat = @nob*( @skew**2/6 + @kurt**2/24 ); print jbstat; if jbstat > 4.82; then; ? J-B 5% critical value for N=500 title 'Reject normality'; else; title 'Cannot reject normality'; endproc;