我正在编写一个在Delphi中编写统计测试的程序(必须是Delphi),我听说随机功能有些奇怪.当程序启动时,您必须调用randomize随机化随机函数的种子.
我想知道随机函数(调用randomize之后)是否足够随机进行统计测试,还是需要一个Mersenne扭转器?有谁有任何洞察随机的实际实现,这可以告诉我这是多么重要?
解决方法
随机对于您的统计测试是否足够可靠,将取决于您打算使用它的上下文.
话虽如此,我已经写了几段需要做正确统计的Delphi代码,并使用了Random用于获得各种零分布,数据伪复制和重采样.到目前为止,我没有碰到任何case在我自己的代码中,Random会产生有偏差或不可靠的结果,或者结果将排除其用于预期的统计测试.但是我的代码不一定要适用于你的代码.
如果有疑问,您当然可以统计分析对“随机”(如R,SPSS等)的调用结果,并检查结果的分布是否违反了您的特定统计测试的分布要求. [如果你是一个正确的科学家,这是你应该做的.]
您是否需要其他PRNG? TPMath库包含一些. (对于更多涉及的事情,还可以通过Delphi从R调用详细的统计功能.)