如何在 Monte Carlo 实验中获取每个模拟 运行 的种子值?
How to get the seed value for each simulation run in a Monte Carlo experiment?
我是 运行 Monte Carlo 使用 'random seed' 选项进行多次迭代实验以进行独特的模拟运行。似乎是,在其中一些运行中发生了奇怪的事情,输出数据表明了这一点。
我想收集每个 Monte Carlo 运行的种子值,以便在实验后使用 'fixed seed' 选项手动重现奇怪的运行。由于我没有找到 'getSeedValue' 函数 - 我该怎么做?
我已经尝试过建议的解决方案:
但是出现空指针异常。
seed value options
Error of copied solution from link
我会说,如果不能 100% 确定您无法获得随机种子,您需要使用您可以控制的种子,使用您自己的随机性...通常您可以在自定义随机中使用类似这样的东西发电机
new Random(getCurrentIteration()*100000+getCurrentReplication())
然后如果你得到一个错误,你可以知道这个错误发生在哪个迭代和哪个复制中,并且你可以在你的模拟实验中使用相同的种子。
因此,如果它发生在第 143 次迭代和第 5 次复制中,那么您将在主模拟实验的随机生成器中放入以下内容>
new Random(143*100000+5)
我是 运行 Monte Carlo 使用 'random seed' 选项进行多次迭代实验以进行独特的模拟运行。似乎是,在其中一些运行中发生了奇怪的事情,输出数据表明了这一点。
我想收集每个 Monte Carlo 运行的种子值,以便在实验后使用 'fixed seed' 选项手动重现奇怪的运行。由于我没有找到 'getSeedValue' 函数 - 我该怎么做?
我已经尝试过建议的解决方案:
seed value options
Error of copied solution from link
我会说,如果不能 100% 确定您无法获得随机种子,您需要使用您可以控制的种子,使用您自己的随机性...通常您可以在自定义随机中使用类似这样的东西发电机
new Random(getCurrentIteration()*100000+getCurrentReplication())
然后如果你得到一个错误,你可以知道这个错误发生在哪个迭代和哪个复制中,并且你可以在你的模拟实验中使用相同的种子。
因此,如果它发生在第 143 次迭代和第 5 次复制中,那么您将在主模拟实验的随机生成器中放入以下内容>
new Random(143*100000+5)