* * CHAPTER 8 * Page 257 * open data ch04-08_schools.xls data(format=xls,org=columns) 1 420 dist_cod enrl_tot teachers calw_pct meal_pct computer $ testscr comp_stu expn_stu str avginc el_pct read_scr math_scr * * Run the simple regression on page 257, and graph it. * linreg testscr # constant avginc scatter(footer="Figure 8.2 Test Score vs District Income",line=%beta,style=dots) # avginc testscr prj lfit * set avgincsq = avginc**2 linreg testscr # constant avginc avgincsq * prj qfit * * In order to get the scatter plot with the quadratic fit to look correct, we * need copies of the series sorted on the value of avginc. * set sortinc = avginc set sortscr = testscr set sortl = lfit set sortq = qfit order sortinc / sortscr sortl sortq * scatter(header="Figure 8.3 Test Score vs District Income with Quadratic Regression",$ overlay=lines,ovcount=2,ovsame) 3 # sortinc sortscr # sortinc sortl # sortinc sortq * compute fit10 = %dot(%beta,||1.0,10.0,100.0||) compute fit11 = %dot(%beta,||1.0,11.0,121.0||) disp "Predicted Difference between $10,000 and $11,000" fit11-fit10 * compute fit40 = %dot(%beta,||1.0,40.0,40.0**2||) compute fit41 = %dot(%beta,||1.0,41.0,41.0**2||) disp "Predicted Difference between $40,000 and $41,000" fit41-fit40 * * Alternative method described on pp 262-263 * summarize(title="Difference Between $10,000 and $11,000",vector=||0.0,1.0,11**2-10**2||) summarize(title="Difference Between $40,000 and $41,000",vector=||0.0,1.0,41**2-40**2||) * * 3rd degree polynomial (equation 6.11) * set avginccu = avginc**3 linreg testscr # constant avginc avgincsq avginccu exclude(title="Joint test of higher powers") # avgincsq avginccu * * * set testinc 1 60 = t set loginc = log(avginc) linreg(robust) testscr # constant loginc summarize(title="Difference Between $10,000 and $11,000 in lin-log",vector=||0.0,log(11)-log(10)||) summarize(title="Difference Between $40,000 and $41,000 in lin-log",vector=||0.0,log(41)-log(40)||) set linlogfit = %dot(%beta,||1.0,log(testinc)||) scatter(header="Figure 8.5 The Linear-Log Regression Function",overlay=line,ovsame) 2 # avginc testscr # testinc linlogfit 5 * * set logtest = log(testscr) linreg(robust) logtest # constant loginc set loglogfit = %dot(%beta,||1.0,log(testinc)||) linreg(robust) logtest # constant avginc set loglinfit = %dot(%beta,||1.0,testinc||) scatter(header="Figure 8.6 Log-Linear and Log-Log Regression Functions",overlay=line,ovcount=2,ovsame) 3 # avginc logtest # testinc loglogfit 5 * # testinc loglinfit 5 * * set logincsq = loginc**2 set loginccu = loginc**3 linreg(robust) testscr # constant loginc logincsq loginccu exclude # logincsq loginccu * * Example: The Return to Education and the Gender Gap (pg 284) * open data ch08_cps.xls data(format=xls,org=columns) 1 61395 ahe female age northeast midwest south west yrseduc * * Set variables set workers = age>=25.and.age<=64 set logahe = log(ahe) set fem_yrse = female*yrseduc set pexp = age - (yrseduc+6) set pexp_2 = pexp*pexp * * Column 1 linreg(smpl=workers) logahe # yrseduc constant * * Column 2 linreg(smpl=workers) logahe # yrseduc female constant * * Column 3 linreg(smpl=workers) logahe # yrseduc female fem_yrse constant * * Column 4 linreg(smpl=workers) logahe # yrseduc female fem_yrse pexp pexp_2 midwest south west constant