Netlogo 复制结果/随机种子/敏感性分析

Netlogo 复制结果/随机种子/敏感性分析,netlogo,random-seed,Netlogo,Random Seed,我正在NetLogo中建立一个成本效益模型(与传染病相关),该模型由干预和“现状”队列组成,除了干预的影响外,其行为应该相同。我可以使用random seed语句再现基本情况结果(默认参数值)。然而,当我改变参数影响干预效果(例如,依从性)时,它会改变随机数生成过程,然后导致现状队列中的结果发生变化。我怎样才能避开这件事?如何将一个队列与另一个队列中发生的关于随机数生成过程的变化隔离开来?with local randomness语句并没有真正帮助我。不幸的是,您面临两个严重的问题:NetLog

我正在NetLogo中建立一个成本效益模型(与传染病相关),该模型由干预和“现状”队列组成,除了干预的影响外,其行为应该相同。我可以使用random seed语句再现基本情况结果(默认参数值)。然而,当我改变参数影响干预效果(例如,依从性)时,它会改变随机数生成过程,然后导致现状队列中的结果发生变化。我怎样才能避开这件事?如何将一个队列与另一个队列中发生的关于随机数生成过程的变化隔离开来?with local randomness语句并没有真正帮助我。

不幸的是,您面临两个严重的问题:NetLogo确实不提供对随机数生成器的访问,而对该PRNG的访问大多是隐式的。因此,例如,无论何时使用
ask
,您都隐式地从全局PRNG中提取


您可以将
与本地随机性一起使用
。例如,每次你
要求处于现状队列之外的海龟做某事时,都要使用它。或者,要对特殊队列使用带有局部随机性的
,您可以通过生成种子序列开始模拟,然后在模拟运行时使用种子序列,每次
要求该队列做某事(或生成随机数等)时重置随机状态.

队列是否需要同时运行(即它们是否相互作用)?如果没有,你能简单地运行两个完全独立的实验吗?一个用于控制,一个用于干预方案。

这是一个很好的建议。两个问题:首先,我喜欢同时显示,因为它有助于更好的效果比较(否则将不得不存储现状场景的结果,然后在其他运行后进行比较——有点麻烦),用户可以看到干预何时变得节约成本(折扣成本图)。这个想法是为了构建一些实践者可以使用的东西。我的另一个担忧是,它不能完全解决这个问题,因为干预队列的参数变化会以非预期的方式影响干预结果。从概念上讲,我认为您的问题在于您确实想要进行分析,NetLogo(通过模拟)生成数据,但不提供跨模拟的分析。为此,您需要转到R或Excel。它现在对您没有帮助,但我希望明年初构建一个分析工具,该工具将获取BehaviorSpace的输出,并允许自动创建各种比较图表进行探索性分析。