I am trying to bootstrap the standard from a control function approach. They are massively off, the non-bootstrapped SE's are much closer to the ivreg2 SEs. Using robust or not does change this.
Anybody has an idea what is going on?
Below an example based on Wooldridge's fish data.
Anybody has an idea what is going on?
Below an example based on Wooldridge's fish data.
Code:
// Programs
*ssc install bcuse
*ssc install ivreg2
bcuse fish, clear
rename lavgprc p
rename ltotqty q
qui su speed2, det
gen stormy = (speed2 > r(p50))
capture program drop cf
program define cf
capture drop resid
qui reg q stormy i.mon i.tues i.wed i.thurs
predict resid, resid
reg p q i.mon i.tues i.wed i.thurs resid
end
// 1. 2SLS
ivreg2 p i.mon i.tues i.wed i.thurs (q = stormy)
// 2. Control Function
cf
// 3. Bootstrapped Control Function
bootstrap, reps(1000) seed(12345) : cf

Comment