Необходимое количество симуляций для анализа Монте-Карло

10

Мой вопрос о необходимом количестве симуляций для метода анализа Монте-Карло. Насколько я вижу, необходимое количество симуляций для любой допустимой процентной ошибки (например, 5) равно E

n={100zcstd(x)Emean(x)}2,

где - стандартное отклонение результирующей выборки, а - коэффициент уровня достоверности (например, для 95% это 1,96). Таким образом, таким образом можно проверить, что результирующее среднее и стандартное отклонение симуляций представляют собой фактическое среднее и стандартное отклонение с уровнем достоверности 95%.std(x)zcn

В моем случае я запускаю симуляцию 7500 раз и вычисляю скользящие средние и стандартные отклонения для каждого набора из 100 выборок из 7500 симуляций. Требуемое количество моделирования, которое я получаю, всегда меньше 100, но% ошибки среднего и стандартного сравнения по сравнению со средним значением и стандартным значением всех результатов не всегда меньше 5%. В большинстве случаев средняя ошибка% составляет менее 5%, но ошибка стандартного отклонения достигает 30%.

Каков наилучший способ определить количество требуемых симуляций, не зная фактического среднего и стандартного (в моем случае результаты симуляции обычно распределяются)?

Заранее благодарю за любую помощь.


Чтобы иметь представление о том, как может выглядеть распределение результатов моделирования, когда итерация выполняется бесконечное число раз: вместо того, чтобы использовать результирующее среднее значение и дисперсию после n чисел моделирования, я решил найти подходящую функцию полученного распределения, но здесь необходимо выполнить разрешенную% ошибку. Я думаю, что таким образом я смогу найти более правильные результаты по кумулятивной функции распределения, которая связана, например, с 97,5%. Потому что, когда я сравниваю результаты моделирования 400 и 7000, подгоночные функции распределения для обеих выборок выглядят так, как будто только одна кривая 2-го сглажена. Кроме того, следовательно, модель в MATLAB / Simulink является нелинейной, хотя сгенерированные входные параметры распределены нормально, результирующая гистограмма моделирования не является нормальной, по этой причине я использовал «обобщенное распределение экстремальных значений», который назван 'gev' в MATLAB. Но все же я не совсем уверен в этой методологии, заранее спасибо за любую команду

максвелл
источник
насколько я вижу, когда результаты моделирования оцениваются по любым критериям, можно найти необходимое количество моделирования для любого уровня достоверности, но в моем случае я хочу узнать среднее значение и дисперсию всего результата с определенной достоверностью. уровень с любым конечным числом итераций. Следовательно, для любых n выборок дисперсия используется для определения среднего значения, но на самом деле мне также нужна дисперсия, чтобы найти любое значение, которое может представлять CPDF 0,975. спасибо за любой комментарий
Максвелл

Ответы:

4

Я обычно провожу исследование сходимости и определяю количество требуемых симуляций, затем использую это число в последующих симуляциях. Я также выкидываю предупреждение, если ошибка больше, чем предполагает выбранный номер.

Типичный способ определить требуемое количество симуляций - вычислить дисперсию симуляции для N путей, тогда стандартной ошибкой является , см. раздел об оценке ошибок MC в "Методах Монте-Карло в финансах" Питера Джекела , также глава "Оценка определенного интеграла" в маленькой книге Соболяσ^N2σ^NN

В качестве альтернативы вы можете вычислить ошибку для каждого моделирования и остановиться, когда она превысит определенный порог или будет достигнуто максимальное количество путей, где это число снова было определено в результате исследования сходимости.

Аксакал
источник