蒙特卡洛分析所需的模拟数量


10

我的问题是有关蒙特卡洛分析方法所需的模拟数量。据我所知,对于任何允许的百分比误差(例如5),所需的仿真次数为 Ë

ñ={100žC性病XË意思X}2

其中是所得采样的标准偏差,是置信度系数(例如,对于95%,它是1.96)。因此,以这种方式可以检查模拟的结果平均值和标准偏差是否代表置信度为95%的实际平均值和标准偏差。性病XžCñ

就我而言,我运行了7500次仿真,并从7500个仿真中计算出每100个样本的移动平均值和标准偏差。我获得的所需模拟次数始终小于100,但均值和标准差与整个结果的均值和标准差的百分比误差并不总是小于5%。在大多数情况下,平均值的百分比误差小于5%,但std的误差高达30%。

在不知道实际均值和标准差的情况下确定所需模拟次数的最佳方法是什么(在我的情况下,模拟结果呈正态分布)?

在此先感谢您的帮助。


为了对无限次运行迭代时模拟结果的分布情况有所了解:我决定找到结果分布的拟合函数,而不是使用n次模拟后的结果均值和方差,但是这里n必须完全填充允许的%错误。我认为通过这种方式,我可以找到与97.5%相关的累积分布函数的更正确结果。因为当我比较400和7000仿真的结果时,两个采样的分布的拟合函数看起来彼此相似,只有第二个曲线更平滑。同样,因此在MATLAB / Simulink中的模型是非线性的,尽管生成的输入参数是正态分布的,但由于我使用了“广义极值分布”,因此模拟结果的直方图也不是正态的,在MATLAB中称为“ gev”。但是,对于这种方法,我还是不太确定,谢谢您提前发出任何命令


就我所看到的,当通过任何通过标准评估模拟的结果时,有可能找出任何置信度水平所需的模拟次数,但就我而言,我想以特定的置信度找出整个结果的均值和方差级别具有任意数量的迭代次数。因此,对于任何n个样本,均使用方差来定义均值区间,但实际上我也需要方差才能找到可以表示CPDF为0.975的任何值。感谢您的任何评论
maxwell,2014年

Answers:


4

我通常进行收敛性研究,确定所需的仿真次数,然后在后续仿真中使用此次数。如果错误大于所选数字建议的值,我也会发出警告。

确定所需模拟次数的典型方法是通过计算N条路径的模拟的方差,则标准误差为,请参见彼得·杰克尔(Peter Jackel)“金融中的蒙特卡洛方法”中关于MC的误差估计的部分,以及Sobol的小书中的 “评估定积分”一章σ^ñ2σ^ññ

或者,您可以为每个模拟计算误差,并在误差超过特定阈值或达到最大路径数时停止,并由收敛研究再次确定该数字。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.