webuse idle, clear tsset t set seed 1 prais usr idle predict double ehat, residuals scalar bidle = _b[idle] scalar bcons = _b[_cons] scalar seidle = _se[idle] scalar secons = _se[_cons] scalar rho = e(rho) scalar sigmanu = e(rmse) scalar N = e(N) generate double nuhat = ehat - rho*L.ehat capture program drop bootit program bootit version 8.2 args capt numboots tempname results postfile `results' b_idle b_cons se_idle se_cons /// using bsdata, replace tempvar usrhat eps forvalues i = 1/`numboots' { local s = int(uniform()*`capt' + 1) // For e_0 local r = int(uniform()*(`capt' - 1) + 2) // For nu_1 quietly { generate double `eps' = ehat[`s'] + nuhat[`r'] in 1 replace `eps' = rho*L.`eps' + /// nuhat[int(uniform()*(`capt' - 1) + 2)] /// in 2/`capt' generate double `usrhat' = bcons + bidle*idle + `eps' prais `usrhat' idle } post `results' (_b[idle]) (_b[_cons]) (_se[idle]) (_se[_cons]) drop `usrhat' `eps' display "." _c } display postclose `results' end bootit `=N' 1000 use bsdata, clear matrix stats = (bidle, bcons) bstat b*, stat(stats) // Compute percentile-t confidence intervals generate t_idle = (b_idle - bidle) / se_idle generate t_cons = (b_cons - bcons) / se_cons _pctile t_idle , percentiles(2.5 97.5) display bidle - seidle*r(r2) display bidle - seidle*r(r1) _pctile t_cons , percentiles(2.5 97.5) display bcons - secons*r(r2) display bcons - secons*r(r1)