set seed 111111
* Monte Carlo simulation program
capture program drop endosim
program endosim, rclass
syntax [, obs(integer 1) beta0(real 0) beta1(real 0) alpha(real 1)]
gen Z=rnormal(10)
gen miu=rnormal(0)
gen e=rnormal(0)
gen u=rnormal(0)
gen x=Z+u
gen epsilen=`alpha'* u + e
gen y=`beta0'+ `beta1'*x + epsilen
regress y x
return scalar b0=_coef[_cons]
return scalar b1=_coef[x]
regress y Z
return scalar b0_IV=_coef[_cons]
return scalar b1_IV=_coef[Z]
end
simulate b0=r(b0) b1=r(b1) b0_IV=r(b0_IV) b1_IV=r(b1_IV), reps(2000):endosim, obs(1000) beta0(3) beta1(5) alpha(4)
运行以后,出现出错:
no observations
an error occurred when simulate executed endosim
本人觉得已经赋值于obs 1000了,为啥还说no observation呢。
请大家帮忙看下。谢谢。


雷达卡



京公网安备 11010802022788号







