应用stata学习计量经济学原理
Practice 5 多元线性回归推断
clear all
cd "F:\stata与计量经济学\week 5 计量实验"
dir
* Q1
use food.dta, replace
* (1)
reg food_exp income
* (2)
scalar tc90 = invttail(38,.05)
scalar ub2 = _b[income] + tc90*_se[income]
scalar lb2 = _b[income] - tc90*_se[income]
di "income 90% interval estimate is " lb2 " , " ub2
* (3) H0 : beta1 = 5.5 ; H1 : beta1 > 5.5
scalar tstat3 = (_b[income] - 5.5)/_se[income]
di "t statistic for Ho: beta1=5.5 = " tstat3
di "t(38) 90th percentile = " invttail(38,.1)
di "p value for right tail test H1:beta1 > 5.5 = 5.5 is " ttail(38,tstat3)
* (4) H0 : beta1 = 15 ; H1 : beta1 < 15
scalar tstat4 = (_b[income] - 15)/_se[income]
di "t-statistic for Ho: beta1 = 15 = " tstat4
di "t(38) 5th percentile = " invttail(38,.9)
di "p value for right tail test H1:beta1 < 15 is " 1 - ttail(38,tstat4)
* (5) H0 : beta1 = 7.5 ; H1 : beta1 != 7.5
scalar tstat5 = (_b[income] - 7.5)/_se[income]
di "t-statistic for Ho: beta1 = 7.5 = " tstat5
di "t(38) 95th percentile = " invttail(38,.05)
scalar phalf = ttail(38,abs(tstat5))
scalar p = 2*phalf
di "p value for two tail test ho:beta1 = 7.5 is " p
di "p value for ho:beta1 = 0 is " 2*ttail(38,abs(tstat5))
* Q2
clear all
dir
use WAGE1.DTA , clear
* (1)
qnorm wage
qnorm lwage
reg lwage educ exper tenure nonwhite female married numdep smsa northcen south west
* (2)
gen exper2 = exper^2
gen exper3 = exper^3
reg lwage educ exper exper2 exper3 tenure nonwhite female married numdep smsa northcen south west
ereturn list
matrix b=e(b)
matrix list b
gen margeff_exper = b[1,2] + 2*b[1,3]*exper + 3*b[1,4]*exper^2
scatter margeff_exper exper if female == 1 , xtitle("Years of experience") ytitle("Marginal effect") title("Women's Marginal effect of experience on wage")
graph save women ,replace
scatter margeff_exper exper if female == 0 , xtitle("Years of experience") ytitle("Marginal effect") title("Men's Marginal effect of experience on wage")
graph save men,replace
graph combine women.gph men.gph
graph save WomenAndMenMarginalEffect0fExperience0nWage
Answer
use food,clear
*Q1
* (1)
reg food_exp income
* (2)
scalar lb=_b[income]-invttail(38,.05)*_se[income]
scalar ub=_b[income]+invttail(38,.05)*_se[income]
di "90% confidence interval estimate is " lb " , " ub
* (3) H0 : beta1 = 5.5 ; H1 : beta1 > 5.5
scalar tstat3 = (_b[income] - 5.5)/_se[income]
di "t statistic for Ho: beta1=5.5 = " tstat3
di "t(38) 90th percentile = " invttail(38,.1)
di "p value for right tail test H1:beta1 > 5.5 = 5.5 is " ttail(38,tstat3) //refuse h0
* (4) H0 : beta1 = 15 ; H1 : beta1 < 15
scalar tstat4 = (_b[income] - 15)/_se[income]
di "t-statistic for Ho: beta1 = 15 = " tstat4
di "t(38) 5th percentile = " invttail(38,.9)
di "p value for right tail test H1:beta1 < 15 is " 1 - ttail(38,tstat4) //refuse h0
* (5) H0 : beta1 = 7.5 ; H1 : beta1 != 7.5
scalar tstat5 = (_b[income] - 7.5)/_se[income]
di "t-statistic for Ho: beta1 = 7.5 = " tstat5
di "t(38) 95th percentile = " invttail(38,.05)
scalar phalf = ttail(38,abs(tstat5))
scalar p = 2*phalf
di "p value for two tail test ho:beta1 = 7.5 is " p
di "p value for ho:beta1 = 0 is " 2*ttail(38,abs(tstat5)) // accept h0
* Q2
use wage,clear
* (1)
qnorm wage
qnorm lwage
reg lwage educ exper tenure nonwhite female married numdep smsa northcen south west
* (2)
gen exper2 = exper^2
gen exper3 = exper^3
reg lwage educ exper exper2 exper3 tenure nonwhite female married numdep smsa northcen south west
ereturn list
matrix b=e(b)
matrix list b
gen margeff_exper = b[1,2] + 2*b[1,3]*exper + 3*b[1,4]*exper^2
scatter margeff_exper exper, xtitle("Years of experience") ytitle("Marginal effect") title("Marginal effect of experience on wage")
* (3)
gen margeff_m=b[1,2]+2*b[1,3]*exper+3*b[1,4]*exper^2 if female==0
gen margeff_f=b[1,2]+2*b[1,3]*exper+3*b[1,4]*exper^2 if female==1
scatter margeff_m exper, title("Marginal effect of experience on wage (male)") saving(male)
scatter margeff_f exper, title("Marginal effect of experience on wage (female)") saving(female)
graph combine male.gph female.gph, iscale(0.5)