在本文档中,涉及“设置种子”命令,Stata 人员在生成伪随机数时讨论了与设置种子相关的问题。
一个值得注意的“不要”是“不要连续使用自然数序列作为种子,因为这有一个模式并危及伪随机性”。
一个只有四分之一开玩笑的值得注意的“做”,就是在你的一生中只设置一个种子,然后在每个实验结束时记录生成过程的“状态”,以便下一个实验在该点继续进程停止的地方。
显然,上述建议取决于一个人在他的研究生涯中将产生的伪随机数的预期数量。也许梅森捻线机可以满足许多研究人员的终生需求……
现在,我在理论上或实践中对 PRNG 的经验并不丰富,所以我不能对这些建议进行争论——它们应该在理论基础和硬数学统计上被证明是有效的或无效的。
所以,我的问题是
1)您能否帮助解释或使上述建议无效,或指出处理此类问题的参考资料?
2) 您能否提供在播种过程中提供“最佳实践”的参考资料?
3) 你在自己的工作中是如何做的,为什么?
作为问题 3) 的示例,假设对于蒙特卡洛研究,您想要生成个样本,每个样本的大小为,并且您的的周期远大于。你会用一个种子生成所有个伪随机数,或者你有改变种子的习惯,比如说,每个样本?(但这只是为了说明 - 我相信在这里更一般的答案是值得的)。
一个相关的线程(虽然更集中)是
在每个代码块之前设置种子还是每个项目一次?
我觉得这可能应该是一个社区维基,请模组们决定。