需要进行多少次模拟? [英] How many simulations need to do?

查看:154
本文介绍了需要进行多少次模拟?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我的问题与模型验证有关.我已经在netlogo中完成了一个程序,该程序将在论文报告中使用,但是现在的问题是,我需要做多少次重复(模拟)才能证明我的结果正确?我已经读过一些使用统计方法的方法,而我的同事们却建议我进行一些不错的数学运算,但是我也想从与计算模型一起工作的人们那里知道过去使用哪种统计测试或数学方法.

Hello my problem is more related with the validation of a model. I have done a program in netlogo that i'm gonna use in a report for my thesis but now the question is, how many repetitions (simulations) i need to do for justify my results? I already have read some methods using statistical approach and my colleagues have suggested me some nice mathematical operations, but i also want to know from people who works with computational models what kind of statistical test or mathematical method used to know that.

推荐答案

这有两个方面(1)有多少个参数组合(2)每个参数组合有多少个运行.

There are two aspects to this (1) How many parameter combinations (2) How many runs for each parameter combination.

(1)通常,您将进行实验,在其中您可以更改一些输入参数值,并查看某些模型输出如何变化.以众所周知的Schelling隔离模型为例,您将改变公差值并查看隔离指数是如何受到影响的.在这种情况下,您可以将公差从0更改为1,以0.01为单位(如果要离散),或者可以在[0,1]范围内采用100个不同的随机值.这是一个实验设计问题,并且完全取决于您希望检查参数空间的精细程度.

(1) Generally you would do experiments, where you vary some of your input parameter values and see how some model output changes. Take the well known Schelling segregation model as an example, you would vary the tolerance value and see how the segregation index is affected. In this case you might vary the tolerance from 0 to 1 by 0.01 (if you want discrete) or you could just take 100 different random values in the range [0,1]. This is a matter of experimental design and is entirely affected by how fine you wish to examine your parameter space.

(2)对于每个实验值,还需要运行多个模拟,以便可以计算平均值并减少模拟运行中随机性的影响.例如,假设您使用输入参数值为3的模型运行(无论其含义是什么),结果为125.您如何知道实际"答案是125还是其他.如果您运行10次,并在104.8至125.2的范围内获得10个不同的数字,则125不是一个不合理的估计.如果您运行了10次并且得出的数字介于50到500之间,那么报告125并不是有用的结果.

(2) For each experimental value, you also need to run multiple simulations so that you can can calculate the average and reduce the impact of randomness in the simulation run. For example, say you ran the model with a value of 3 for your input parameter (whatever it means) and got a result of 125. How do you know whether the 'real' answer is 125 or something else. If you ran it 10 times and got 10 different numbers in the range 124.8 to 125.2 then 125 is not an unreasonable estimate. If you ran it 10 times and got numbers ranging from 50 to 500, then 125 is not a useful result to report.

每个实验组的运行次数取决于输出的可变性和您的耐受性.如果您希望能够估计到小数点后一位,则即使124.8到125.2也没有用.在任何统计教科书中查找平均值的标准误差".基本上,如果您进行了N次运行,则结果的95%置信区间为您的N次运行的结果平均值加上/减去1.96 x结果的标准差/sqrt(N).如果您想要更窄的置信区间,则需要更多次运行.

The number of runs for each experiment set depends on the variability of the output and your tolerance. Even the 124.8 to 125.2 is not useful if you want to be able to estimate to 1 decimal place. Look up 'standard error of the mean' in any statistics text book. Basically, if you do N runs, then a 95% confidence interval for the result is the average of the results for your N runs plus/minus 1.96 x standard deviation of the results / sqrt(N). If you want a narrower confidence interval, you need more runs.

要考虑的另一件事是,如果要在参数空间上寻找关系,那么与尝试对结果进行点估计相比,在每个点上需要的运行次数更少.

The other thing to consider is that if you are looking for a relationship over the parameter space, then you need fewer runs at each point than if you are trying to do a point estimate of the result.

这篇关于需要进行多少次模拟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆