johnson90a 发表于 2013-6-24 15:48 
老师,今天用stata发生了一件很奇怪的事。我的数据是通过整合CHNS来的,有一个细节我以为修改了程序忘了 ...
您的问题很好,在这里我必须向您说抱歉,当时考虑有失。
*演练指令程序
cmp setup
webuse laborsup
ivprobit fem_work fem_educ other_inc (kids = male_educ), first
set more off
set seed 2314578
cmp (fem_work = fem_educ other_inc kids) (kids = fem_educ other male_educ), ind($cmp_probit $cmp_oprobit) tech(dfp) nolr
set more off
set seed 123456789
cmp (fem_work = fem_educ other_inc kids) (kids = fem_educ other male_educ), ind($cmp_probit $cmp_oprobit) tech(dfp) nolr
set more off
您应当可以发现,后面的cmp结果与先前帖子贴出的结果一样,
但前面的set seed 2314578就会有差距
不过,按理,您如果都真的没啥更动,也没啥变化,默认的seed应当都是123456789才对阿!
我也很奇怪您怎会发生这样的情况。
比较保险的方法是,您以后都设同一个seed以保证下次再做就都一样了!
另外,如果说您合成数据或所谓的重新生成了一遍,这中间如果有扯到数据抽样生成,
或者中间跑去估计须要设seed的模型【譬如mvprobit】,自然都会有变化的…
如果一一检查的结果都没有,那我也真的不知道问题在哪了!
除非您愿意给数据和所有的程序供人检验。
不过,您目前能做的就是,请以后cmp前,别忘了 set seed 您喜欢的数字譬如8888