<p>各大家请教:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在用Monte carlo方法模拟DF单位根检验临界值时,为什么是采用yt=yt-1+et形式作为数据的生成过程来模拟三种检验形式(yt=yt-1+et、yt=a+yt-1+et和yt=a+bt+yt-1+et)的临界值?</p><p>谢谢!</p><p>以下是我模容量分别为25,30,35,40,45,50,55,各模拟4000次的代码:</p><p>capture program drop rootsimu<br/>program define rootsimu, rclass<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version 10.1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; syntax [,obs(integer 1) a(real 0) b(real 0) c(real 0)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drop _all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set obs `obs'<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempvar e y z<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drawnorm `e'&nbsp; //gen `e'=invnorm(uniform())&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gen `y'=_n<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gen `z'=0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsset `y'<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; replace `z'=`a'+`b'*`y'+`c'*l.`z'+`e' in 2/l<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dfuller `z', lags(0) trend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //注意修改<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return scalar T=r(Zt)<br/>&nbsp;&nbsp;&nbsp; end</p><p><br/>&nbsp;forvalue i=25(5)55 {<br/>&nbsp;qui simulate t=r(T),reps(4000): rootsimu,obs(`i') a(0) b(0) c(1)&nbsp;&nbsp; //注意修改<br/>&nbsp; /*&nbsp; histogram t, frequency addlabel normal&nbsp; */<br/>&nbsp;&nbsp;&nbsp; qui sum t,d <br/>&nbsp;&nbsp;&nbsp; if `i'==25 { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; di "样本容量" _col(10) "%1"_col(18) "5%" _col(26) "10%" _col(34) "50%" _col(42) "90%"_col(50) "95%" _col(58) "99%"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;di _col(3) "`i'" _col(10) %-6.3g r(p1) _col(18) %-6.3g&nbsp; r(p5) _col(26) %-6.3g r(p10) _col(34) %-6.3g&nbsp; r(p50) _col(42) %-6.3g&nbsp; r(p90) _col(50) %-6.3g&nbsp; r(p95) _col(58) %-6.3g&nbsp; r(p99)&nbsp; <br/>&nbsp;}<br/></p><p></p>