我试图在python中分析随机数的随机流。具体地说,我正在研究以下来自matlab的伪随机流:mt19937ar(Mersenne Twister)、mcg16807(一个LCG)和swb2712(一个改进的带借用生成器的减法)。这里是matlab的prng的reference page。你知道吗
我知道Mersenne Twister是python中使用的随机性的默认生成器,我相信numpy,mcg16807也应该是可复制的,因为它是LCG,但是我不确定如何在python中复制swb2712,因为它可能是matlab专有的,我找不到源代码。我正在尝试做的是可能的还是我应该求助于使用matlab并结束这一天?你知道吗
从这个博客来看,它似乎是基于George Marsaglia的ziggurat算法的变体(生成正态分布随机数) https://blogs.mathworks.com/cleve/2015/05/18/the-ziggurat-random-normal-generator/
两个有用的参考资料。。。你知道吗
George Marsaglia和W.W.Tsang,“产生随机变量的ziggurat方法”,《统计软件杂志》5,1-72000 http://www.jstatsoft.org/v05/i08
Jurgen A.Doornik,“生成正态随机样本的改进的Ziggurat方法”,PDF,牛津大学纳特菲尔德学院,2005年 http://www.doornik.com/research/ziggurat.pdf
本演示还将其详细描述为swb2712:带借用生成器的修改减法,带滞后27和12。。。http://profmsaeed.org/wp-content/uploads/2009/08/MATLAB-V.ppt
希望这对你有帮助!你知道吗
相关问题 更多 >
编程相关推荐