version 10.0 capture log close *------------------------------------------------- * Nonlinear relationships: Quadratic wage equation *------------------------------------------------- log using chap07, replace use cps_small, clear summarize gen exper2 = exper^2 reg wage educ exper exper2 estimates store wage_eqn * Marginal effect of experience at median summarize exper, detail lincom exper + 2*exper2*18 * Plot wage-experience profile gen wagehat = _b[_cons]+12*_b[educ]+_b[exper]*exper + _b[exper2]*exper2 twoway (connected wagehat exper, sort) more * Turning point in wage estimates restore wage_eqn nlcom -_b[exper]/(2*_b[exper2]) *------------------------------------------------- * Dummy Variables in Real Estate Example *------------------------------------------------- use utown, clear * summarize summarize list in 1/6 * examples creating dummy variables summarize price sqft, detail gen large = (sqft > 2500) gen midprice = (215 < price < 275) * example using tabulate tabulate age tabulate age, gen(age_dv) browse * estimate dummy variable regression gen sqft_utown = sqft*utown reg price utown sqft sqft_utown age pool fplace * test significance of utown test utown sqft_utown * use lincom for utown slope and intercept lincom _cons + utown lincom sqft + sqft_utown *------------------------------------------------- * Dummy variable interactions *------------------------------------------------- use cps_small, clear * create interaction and estimate model gen black_fem = black*female reg wage educ black female black_fem * F-test of joint significance test female black black_fem * Estimate restricted regression reg wage educ scalar fc99 = invFtail(3,995,.01) di "F(3,995,.99) = " fc99 * Add regional dummies reg wage educ black female black_fem south midwest west test south midwest west scalar fc95 = invFtail(3,992,.05) scalar fc90 = invFtail(3,992,.10) di "F(3,992,.95) = " fc95 di "F(3,992,.90) = " fc90 * Testing the equivalence of two regressions gen educ_south = educ*south gen black_south = black* south gen female_south = female*south gen black_female_south = black*female*south reg wage educ black female black_fem south educ_south black_south female_south black_female_south test south educ_south black_south female_south black_female_south * Estimate separate regressions reg wage educ black female black_fem if south==1 reg wage educ black female black_fem if south==0 *------------------------------------------------- * Interactions between continuous variables *------------------------------------------------- use pizza, clear summarize * estimate regression reg pizza age income * add interaction gen age_income = age*income reg pizza age income age_income * obtain marginal effects lincom age + age_income*25000 lincom age + age_income*90000 *------------------------------------------------- * Log-linear models *------------------------------------------------- use cps_small, clear gen lwage = log(wage) * estimate regression reg lwage educ female * use nlcome to obtain exact effect of dummy variable nlcom 100*(exp(_b[female]) - 1) * add continuous interation and estimate model gen educ_exper = educ*exper reg lwage educ exper educ_exper * compute approximate and exact effects lincom 100*( exper + educ_exper*16) nlcom 100*(exp( _b[exper]+_b[educ_exper]*16) - 1) log close translate chap07.smcl chap07.txt, replace