Метод случайного блуждания монте карло мат статистика. Как выполняется моделирование по методу монте-карло

Глава 2. Примеры использования метода Монте-Карло 8

2.1 Простейший пример использования метода Монте-Карло 8

2.2 Вычисление числа Пи методом Монте-Карло 8

2.2.1 Постановка задачи для нахождения числа Пи методом Монте-Карло 10

2.2.2 Листинг программы для нахождения числа Пи методом Монте-Карло 10

2.3 Решение задачи аналитически и методом Монте-Карло 12

Глава 3. Генерация случайных чисел 17

Заключение 20

Список литературы 21

Введение

Методы Монте-Карло – это общее название группы методов для решения различных задач с помощью случайных последовательностей. Эти методы (как и вся теория вероятностей) выросли из попыток людей улучшить свои шансы в азартных играх. Этим объясняется и тот факт, что название этой группе методов дал город Монте-Карло – столица европейского игорного бизнеса (казино), где играют в рулетку – одно из простейших устройств для получения случайных чисел, на использовании которых основан этот метод.

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

Глава 1. Предыстория и определение метода Монте-Карло

Создателями метода статистических испытаний (метода Монте-Карло) считают американских математиков Д. Неймана и С. Улама. В 1944 году, в связи с работами по созданию атомной бомбы Нейман предложил широко использовать аппарат теории вероятностей для решения прикладных задач с помощью ЭВМ. Первая работа, где этот вопрос систематически излагался, принадлежит Метрополису и Уламу.

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

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

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

Основными недостатками аналитических методов являются:

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

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

    Невозможность расчета физического процесса, вероятностное описание которого известно, но выражение в виде уравнения крайне затруднительно.

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

    Они чрезвычайно громоздки. Объем промежуточной информации трудно вместить даже в память современного компьютера.

    Оценка погрешности решения представляет намного более трудную процедуру, чем сам процесс решения. Зачастую она просто невозможна.

Метод статистических испытаний свободен от всех этих недостатков.

Метод Монте-Карло можно определить как метод моделирования случайной величины с целью вычисления характеристик их распределений. Это численный метод решения математических задач при помощи моделирования случайных величин.

Задача метода Монте-Карло после получения ряда реализаций интересующей нас случайной величины заключается в получении некоторых сведений о ее распределении, т.е. является типичной задачей математической статистики.

Итак, сущность метода Монте-Карло состоит в следующем: требуется найти значение а некоторой изучаемой величины. Для этого выбирают такую случайную величинуX , математическое ожидание которой равно а:

М(Х)= A .

Практически же поступают так: производят N испытаний, в результате которых получают N возможных значений X, вычисляют их среднее арифметическое и принимают его в качестве оценки (приближенного значения) A искомого числа A .

Как правило, составляется программа для осуществления одного случайного испытания. Погрешность вычислений, как правило, пропорциональна , где D – некоторая постоянная.

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

Поскольку метод Монте-Карло требует проведения большого числа испытаний, его часто называют методом статистических испытаний. Теория этого метода указывает, как наиболее целесообразно выбрать случайную величину X, как найти ее возможные значения.

Отыскание возможных значений случайной величины Х (моделирование) называют «разыгрыванием случайной величины».

Метод Монте-Карло позволяет моделировать любой процесс, на протекание которого влияют случайные факторы. Для многих математических задач, не связанных с какими-либо случайностями, можно искусственно придумать вероятностную модель, которая в некоторых случаях является более выгодной.

В отличие от аналитических методов, ищущих решение в виде ряда по собственным функциям, методы Монте-Карло ищут решения в виде статистических сумм. Для их применения достаточно описания вероятностного процесса и не обязательна его формулировка в виде интегрального уравнения; оценка погрешности чрезвычайно проста, их точность слабо зависит от размерности пространства.

Главный недостаток метода Монте-Карло заключается в том, что, являясь в основном численным методом, он не может заменить аналитические методы при расчете существенно новых явлений, где, прежде всего, нужно раскрытие качественных закономерностей.

Преимущество метода Монте-Карло состоит в том, что он способен “сработать” там, где не справляются другие методы.

Аналитические методы исследования позволяют существенно уменьшить погрешность метода Монте-Карло и могут поднять его до уровня получения качественных закономерностей. Синтез аналитических и статистических методов может свести D к очень малой величине, следовательно, уменьшить погрешность.

Приведем примеры задач, решаемых методом Монте-Карло:

      расчет системы массового обслуживания;

      расчет качества и надежности изделий;

      теория передачи сообщений;

      вычисление определенного интеграла;

      задачи вычислительной математики;

      задачи нейтронной физики и другие.

Глава 2. Примеры использования метода Монте-Карло

2.1 Простейший пример использования метода Монте-Карло

Предположим, что нам нужно определить площадь плоской фигуры, расположенной внутри единичного квадрата, т.е. квадрата, сторона которого равна единице (рис. 1). Выберем внутри квадрата наугад N точек. Обозначим через M количество точек, попавших при этом внутрь фигуры. Тогда площадь фигуры приближенно равна отношению . Отсюда, чем больше N , тем больше точность такой оценки.

Рисунок 1. Площадь фигуры приближенно равна, отношению числа точек попавших в фигуру к числу всех точек.

2.2 Вычисление числа Пи методом Монте-Карло

Попробуем построить метод Монте-Карло для решения задачи о вычислении числа Пи. Для этого рассмотрим четверть круга единичного радиуса (рис. 2). Площадь круга равна
, очевидно, площадь четверти круга равна:

.

Зная, что радиус круга равен 1, получим:



X


Рисунок 2. Нахождение числа Пи методом Монте-Карло.

Площадь же всего единичного квадрата OABC равна 1. Будем случайным образом выбирать точки внутри квадрата OABC . Координаты точек должны быть,
и
. Теперь подсчитаем количество точек таких, что
, т.е. те точки, которые попадают внутрь круга.

Пусть всего было испытано N точек, и из них M попало в круг. Рассмотрим отношение количества точек, попавших в круг, к общему количеству точек (M /N ). Очевидно, что чем больше случайных точек мы испытаем, тем это отношение будет ближе к отношению площадей четверти круга и квадрата. Таким образом, имеем, что, для достаточно больших N , верно равенство:

.

Из полученного равенства:

.

Итак, мы построили метод Монте-Карло для вычисления числа Пи. Опять перед нами стоит вопрос о том, какое именно количество точек N нужно испытать для того, чтобы получить Пи с предсказуемой точностью? Вопрос о точности вычислений с помощью методов Монте-Карло рассматривается в традиционных курсах теории вероятностей, и мы не будем останавливаться на нем подробно. Можно отметить лишь, что точность вычислений очень сильно зависит от качества используемого генератора псевдослучайных чисел. Другими словами, точность тем выше, чем более равномерно случайные точки распределяются по единичному квадрату.

2.2.1 Постановка задачи для нахождения числа Пи методом Монте-Карло

Для проверки формулы , была написана программа в среде программирования Турбо Паскаль. В программе нужно ввести число K – количество испытаний и число N – количество испытываемых точек. Для координат точек (X, Y) используется генератор случайных чисел. Результаты всех испытаний усредняются.

2.2.2 Листинг программы для нахождения числа Пи методом Монте-Карло

K, {количество испытаний}

N, {количество точек}

i, j: word; {для циклов}

s, {сумма всех Пи}

P: real; {среднеарифметическое значение Пи}

{функция возвращает число Пи}

FUNCTION raschet: real;

x, y: word; {координаты точек}

M: word; {число точек попавших в окружность}

for i:=1 to N do

x:=random(2); {x, y – случайные числа}

if sqr(x)+sqr(y)<=1 then inc(M); {точка с координатами x, y попала в круг}

raschet:=4*M/N; {из формулы }

write("Введите количество испытаний: ");

write("Введите количество испытываемых точек: ");

for j:=1 to K do s:=s+raschet;

writeln("Число Пи, рассчитанное методом Монте-Карло равно:");

writeln("Точное число Пи равно:");

writeln(Pi:1:6);

Итак, с помощью этой программы была проверена верность формулы . В результате получилось число Пи равное: 3.000808 , при количестве испытаний 500 раз с количеством точек 5000. Точное число Пи равно: 3.141593 .

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

2.3 Решение задачи аналитически и методом Монте-Карло

Рассмотрим задачу:

Система контроля качества продукции состоит из трех приборов. Вероятность безотказной работы каждого из них в течение времени Т равна 5/6. Приборы выходят из строя независимо друг от друга. При отказе хотя бы одного прибора вся система перестает работать. Найти вероятность
того, что система откажет за время Т.

Аналитическое решение.

Событие А – выход из строя хотя бы одного из трех приборов за время Т и событие – ни один из трех приборов не выйдет из строя за время Т, противоположные. Вероятность
– искомая вероятность. Отсюда:

Теперь решим задачу методом Монте-Карло.

Напомним, что при использовании данного метода возможны два подхода: либо непосредственно проводят эксперименты, либо имитируют их другими экспериментами, имеющими с исходными одинаковую вероятностную структуру. В условиях данной задачи «натуральный» эксперимент – наблюдение за работой системы в течение времени Т. Многократное повторение этого эксперимента может оказаться трудноосуществимым или просто невозможным. Заменим этот эксперимент другим.

Для определения того, выйдет или не выйдет из строя за время Т отдельный прибор, будем подбрасывать игральную кость. Если выпадет одно очко, то будем считать, что прибор вышел из строя; если два, три, четыре, пять, шесть очков, то будем считать, что прибор работал безотказно. Вероятность того, что выпадет одно очко, так же как и вероятность выхода прибора из строя, равна 1/6, а вероятность того, что выпадет любое другое число очков, как и вероятность безотказной работы прибора, равна 5/6.

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

Повторим испытание, состоящее в подбрасывании трех игральных костей, много раз подряд и найдем отношение числа M – отказов системы к общему числу N – проведенных испытаний. Вероятность отказа будет равна:

.

Для проверки формулы , которая основана на методе Монте-Карло, я решил написать программу в среде программирования Турбо Паскаль. Дело в том, что если бы вероятность безотказной работы приборов была не , а например , имитировать другими экспериментами, имеющими с исходными одинаковую вероятностную структуру, без использования ЭВМ было бы затруднительно.

Данная программа рассчитана на любые подобные задачи. В конце расчетов программа выдает два ответа. Первый – полученный методом Монте-Карло по формуле . Второй – полученный аналитическим методом по формуле .

В программе нужно ввести: B – количество приборов; вероятность в виде дроби; N – количество проведенных опытов.

B, {количество приборов}

S, D: byte; {вероятность P(A)=S/D}

N, {количество опытов}

i, j, {для циклов}

summa: word; {суммарное число отказов}

P_M, P_A: real; {полученная вероятность}

{функция возвращает количество отказов за одно испытание}

FUNCTION otkaz: word;

for i:=1 to B do

R:=random(D+1)+1; {случайное число >=1 и <=D}

if R<=D-S then inc(o); {выпал "отказ"}

write("Введите количество приборов: ");

writeln("Введите вероятность безотказной работы (в виде дроби):");

write(" числитель – ");

write(" знаменатель – ");

readln(D); {т.е. P=S/D}

write("Введите количество опытов: ");

{расчет методом Монте-Карло}

for j:=1 to N do summa:=summa+otkaz;

{расчет аналитическим методом}

for i:=1 to B-1 do P_A:=P_A*S/D; {возведение в степень}

writeln("* * * Ответ * * *");

writeln("Методом Монте-Карло: ", P_M:1:6);

writeln("Аналитическим методом: ", P_A:1:6);

Итак, проверив формулу с помощью своей программы со значениями: количество приборов – 3; вероятность безотказной работы ; количество опытов – 50000, я получил два ответа. Решение задачи методом Монте-Карло – 0.429420 . Решение задачи аналитическим методом – 0.421296 . Отсюда вывод – вероятность, полученная разными методами сходна.

Глава 3. Генерация случайных чисел

В строго детерминированном мире процессорных кодов внесение в программу элемента случайности – не такая простая задача, как может показаться на первый взгляд. В этом мы убедились, получив значение числа Пи в программе, приведенной в главе 2. Наиболее часто встречающиеся приложения, в которых необходимо использование случайных чисел – это численное моделирование методом Монте-Карло и создание компьютерных игр.

Итак, дадим определение этих чисел. Обозначим через R непрерывную случайную величину, распределенную равномерно в интервале (0, 1).

Случайными числами называют возможные значения r j непрерывной случайной величины R, распределенной равномерно в интервале (0, 1).

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

Случайная величина R’ обладает свойством: вероятность попадания ее в любой интервал, принадлежащий интервалу (0; 1) равна длине этого интервала.

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

Исчерпание этой последовательности при большом числе циклов Монте-Карло или размере системы снижает ее фактический размер до:

N – размер системы (количество частиц);

P период последовательности псевдослучайных чисел;

k – количество случайных чисел, используемых для определения состояния одной частицы;

n – суммарное количество циклов Монте-Карло, необходимое для стабилизации системы и расчета ее характеристик.

Например, при моделировании системы Изинга, состоящей из 2000 частиц требуется, как правило, не менее 500 циклов МК, т.е. необходимо не менее 10 5 случайных чисел. Если используемый генератор является 16-ти разрядным и не может произвести последовательность, состоящую из более чем 2 16 (65536) псевдослучайных чисел, то фактический размер системы по формуле будет порядка 1000 частиц.

С играми ситуация еще более трагическая: например, колода из 52 карт может быть упорядочена 52! способами. Это примерно 8e67 или 2 226 . Значит для того, чтобы в процессе игры мог возникнуть любой расклад, создателю полноценной карточной игры типа «21» необходим 256 разрядный генератор случайных чисел. Если колода состоит из 36 карт, то соответствующие числа равны 4e41 и 2 138 , т.е. без суперкомпьютера опять не обойдешься. В карточной игре «преферанс» количество вариантов раздач равно 32!/10! или 2 96 , что тоже не мало. Несмотря на несравнимость этих чисел с реальными возможностями 32-х разрядного процессора, необходимо, конечно, использовать его возможности максимально, ведь только так можно приблизиться к разнообразию реальности.

Заключение

В отличие от аналитических методов, ищущих решение в виде ряда по собственным функциям, методы Монте-Карло ищут решения в виде статистических сумм. Для их применения достаточно описания вероятностного процесса и не обязательна его формулировка в виде интегрального уравнения; оценка погрешности чрезвычайно проста, их точность слабо зависит от размерности пространства. В этом мы убедились, проведя опыты для решения двух простых задач. Результаты опытов показали свою точность, поэтому с помощью метода Монте-Карло решаются многие сложные задачи, которые очень сложно или невозможно решить другими методами.

Задачи, решаемые методом Монте-Карло: расчет системы массового обслуживания; расчет качества и надежности изделий; теория передачи сообщений; вычисление определенного интеграла; задачи вычислительной математики; задачи нейтронной физики; моделирования дискретных и непрерывных случайных величин; моделирования случайных процессов и полей; вычисления многомерных интегралов и другие.

Список литературы

    И.М.Соболь «Метод Монте-Карло», М., 1985

    Интернет-ресурс «Предыстория и определение метода Монте-Карло» /GIS/Learning/Monte-Carlo_2/Page01.htm

    /~gene/probset/prob13.koi8.html

    Интернет-ресурс «Метод Монте-Карло» /Exponenta_Ru/educat/systemat/boziev/13.asp.htm

    Интернет-ресурс «Вундеркинд» /2001/leto/stend/Vynderkind.htm

    Интернет-ресурс «Метод Монте-Карло» /docs/TViMS/NP/lekziitv/lekziya17.htm

Документ

Предыдущих главах настоящей работы. Такая модификация позволила сделать метод Монте -Карло более... 78 до 0,95. Пример одной из таких связей... точками (при использовании метода Монте -Карло ). Основным недостатком первого метода является недостаточная...

  • Потапов виктор николаевич разработка радиометрических систем и методов полевых и дистанционных измерений радиоактивного загрязнения

    Автореферат диссертации

    ... использованием метода Монте -Карло для условий реальной геометрии спектрометрического измерения. Метод Монте -Карло ... расчетов. Глава III. Спектрометрические методы определения... разделе 4.2 приведены примеры использования прибора при измерениях...

  • Глава 11 эконометрические информационные технологии

    Документ

    Итоговой процедуры можно рассчитать (см. примеры в главе 13). В результате итоговую процедуру нельзя... использовании метода сценариев (см. главу 12). При имитационном моделировании часто используется метод статистических испытаний (Монте -Карло ...

  • — необъемлемая часть любого решения, которое мы принимаем. Мы постоянно сталкиваемся с неопределенностью, неоднозначностью и изменчивостью. И даже несмотря на беспрецедентно широкий доступ к информации, мы не можем точно предсказать будущее. Моделирование по методу Монте-Карло (также известное как метод Монте-Карло) позволяет рассмотреть все возможные последствия ваших решений и оценить воздействие риска, что обеспечивает более высокую эффективность принятия решений в условиях неопределенности.

    Что такое моделирование по методу Монте-Карло?
    Моделирование по методу Монте-Карло представляет собой автоматизированную математическую методику, предназначенную для учета риска в процессе количественного анализа и принятия решений. Эта методика применяется профессионалами в разных областях, таких как финансы, управление проектами, энергетика, производство, проектирование, НИОКР, страхование, нефтегазовая отрасль, транспорт и охрана окружающей среды.

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

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

    Посмотреть отзывы
    Даглас Хаббард
    Hubbard Decision Research
    Время : 00:35 сек

    «Моделирование по методу Монте-Карло — единственный способ выполнить анализ ответственных решений в условиях неопределенности»

    Джон Чжао
    Suncor Energy
    Время : 02:36 мин

    «Проведение моделирования по методу Монте-Карло при оценке капитальных затрат стало [в Suncor] обязательным требованием для любых крупных проектов»

    Как выполняется моделирование по методу Монте-Карло
    В рамках метода Монте-Карло анализ риска выполняется с помощью моделей возможных результатов. При создании таких моделей любой фактор, которому свойственна неопределенность, заменяется диапазоном значений - распределением вероятностей. Затем выполняются многократные расчеты результатов, причем каждый раз используется другой набор случайных значений функций вероятности. Порой для завершения моделирования бывает необходимо произвести тысячи и даже десятки тысяч перерасчетов - в зависимости от количества неопределенностей и установленных для них диапазонов. Моделирование по методу Монте-Карло позволяет получить распределения значений возможных последствий.

    При использовании распределений вероятностей переменные могут иметь разные вероятности наступления разных последствий. Распределения вероятностей представляют собой гораздо более реалистичный способ описания неопределенности переменных в процессе анализа риска. Ниже перечислены наиболее распространенные распределения вероятностей.

    Нормальное распределение (или « гауссова кривая »). Чтобы описать отклонение от среднего, пользователь определяет среднее или ожидаемое значение и стандартное отклонение. Значения, расположенные посредине, рядом со средним, характеризуются наиболее высокой вероятностью. Нормальное распределение симметрично и описывает множество обычных явлений - например, рост людей. К примерам переменных, которые описываются нормальными распределениями, относятся темпы инфляции и цены на энергоносители.

    Логнормальное распределение. Значения имеют положительную асимметрию и в отличие от нормального распределения несимметричны. Такое распределение используется для отражения величин, которые не опускаются ниже нуля, но могут принимать неограниченные положительные значения. Примеры переменных, описываемых логнормальными распределениями, включают стоимость недвижимого имущества, цены на акции и нефтяные запасы.

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

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

    PERT-распределение. Пользователь определяет минимальное, наиболее вероятное и максимальное значения — так же, как при треугольном распределении. Наибольшую вероятность имеют значения, расположенные возле точки максимальной вероятности. Однако величины в диапазоне между наиболее вероятным и предельными значениями проявляются с большей вероятностью, чем при треугольном распределении, то есть отсутствует акцент на предельных значениях. Пример использования PERT-распределения — описание продолжительности выполнения задачи в рамках модели управления проектом.

    Дискретное распределение. Пользователь определяет конкретные значения из числа возможных, а также вероятность получения каждого из них. Примером может служить результат судебного процесса: 20% вероятность положительного решения, 30% вероятность отрицательного решения, 40% вероятность соглашения сторон и 10% вероятность аннулирования судебного процесса.

    При моделировании по методу Монте-Карло значения выбираются случайным образом из исходных распределений вероятности. Каждая выборка значений называется итерацией; полученный из выборки результат фиксируется. В процессе моделирования такая процедура выполняется сотни или тысячи раз, а итогом становится распределение вероятностей возможных последствий. Таким образом, моделирование по методу Монте-Карло дает гораздо более полное представление о возможных событиях. Оно позволяет судить не только о том, что может произойти, но и о том, какова вероятность такого исхода.

    Моделирование по методу Монте-Карло имеет ряд преимуществ по сравнению с детерминистским анализом, или анализом « по точечным оценкам»:

    • Вероятностные результаты. Результаты демонстрируют не только возможные события, но и вероятность их наступления.
    • Графическое представление результатов. Характер данных, получаемых при использовании метода Монте-Карло, позволяет создавать графики различных последствий, а также вероятностей их наступления. Это важно при передаче результатов другим заинтересованным лицам.
    • Анализ чувствительности. За редким исключением детерминистский анализ затрудняет определение того, какая из переменных в наибольшей степени влияет на результаты. При проведении моделирования по методу Монте-Карло несложно увидеть, какие исходные данные оказывают наибольшее воздействие на конечные результаты.
    • Анализ сценариев. В детерминистских моделях очень сложно моделировать различные сочетания величин для различных исходных значений, и, следовательно, оценить воздействие по-настоящему отличающихся сценариев. Применяя метод Монте-Карло, аналитики могут точно определить, какие исходные данные приводят к тем или иным значениям, и проследить наступление определенных последствий. Это очень важно для проведения дальнейшего анализа.
    • Корреляция исходных данных. Метод Монте-Карло позволяет моделировать взаимозависимые отношения между исходными переменными. Для получения достоверных сведений необходимо представлять себе, в каких случаях при увеличении некоторых факторов соответствующим образом возрастают или снижаются другие.

    Вы также можете улучшить результаты моделирования по методу Монте-Карло путем проведения выборки с применением метода « латинский гиперкуб», в рамках которого отбор производится с большей точностью из всего интервала функций распределения.

    Продукты Palisade для моделирования
    по методу Монте-Карло
    Появление приложений, предназначенных для работы с электронными таблицами на персональных компьютерах, открыло перед специалистами широкие возможности для использования метода Монте-Карло при проведении анализа в повседневной деятельности. Microsoft Excel относится к числу наиболее распространенных аналитических инструментов для электронных таблиц, а программа представляет собой основной плагин Palisade для Excel, позволяющий выполнять моделирование по методу Монте-Карло. Впервые программа @RISK была представлена для Lotus 1-2-3 на базе операционной системы DOS в 1987 году и благодаря точности расчетов, гибкости моделирования и простоте использования сразу же заслужила превосходную репутацию. Появление Microsoft Project привело к созданию другого логического приложения для применения метода Монте-Карло. Его основная задача заключалась в анализе неопределенностей и рисков, связанных с управлением крупными проектами.

    Математические предпосылки создания имитационной модели

    Модели и их роль в изучении процессов функционирования сложных систем

    В узком смысле под моделью понимается образ, описание, представление, изображение какого-либо объекта или системы объектов (оригинала), используемое при определенных условиях в качестве заменителя его или представителя. Модель является представителем объекта, системы или понятия (идеи) в некоторой форме, отличной от формы их реального существования. Модель служит обычно средством, помогающим нам в объяснении, понимании или совершенствовании системы. Модель какого-либо объекта может быть или точной копией этого объекта (хотя и выполненной из другого материала и в другом масштабе), или отображать некоторые характерные свойства объекта в абстрактной форме.

    Изучение объектов познания с помощью моделей является процессом моделирования.

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

    Статистические испытания по методу Монте-Карло представляют собой простейшее имитационное моделирование при полном отсутствии каких-либо правил поведения. Получение выборок по методу Монте-Карло - основной принцип компьютерного моделирования систем, содержащих стохастические или вероятностные элементы. Зарождение метода связано с работой фон Неймана и Улана в конце 1940-х гг., когда они ввели для-него название..«Монте-Карло» и применили его к решению некоторых задач экранирования ядерных излучений. Этот математический метод был известен и ранее, но свое второе рождение нашел в Лос-Аламосе в закрытых работах по ядерной технике, которые велись под кодовым обозначением «Монте-Карло». Применение метода оказалось настолько успешным, что он получил распространение и в других областях, в частности в экономике.

    Однако, имитационное моделирование - это более широкое понятие, и метод Монте-Карло является важным, но далеко не единственным методическим компонентом имитационного моделирования.

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



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

    Метод заключается в следующем: если r i = 0,0040353607, то r i+1 = {40353607r i }}mod 1, где mod 1 означает операцию извлечения из результата только дробной части после десятичной точки. Как описано в различных литературных источниках, числа r i начинают повторяться после цикла из 50 миллионов чисел, так что r 50000001 = r 1 , Последовательность r i получается равномерно распределенной на интервале (0,1). Ниже будут рассмотрены более точные способы получения таких чисел со значительно большими периодами, а также пояснения, как в реальных моделях такие числа становятся практически случайными.

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

    Не так давно я прочитал замечательную книгу Дугласа Хаббарда . В кратком конспекте книги я обещал, что одному из разделов – Оценка риска: введение в моделирование методом Монте-Карло – я посвящу отдельную заметку. Да всё как-то не складывалось. И вот недавно я стал более внимательно изучать методы управления валютными рисками. В материалах, посвященных этой тематике, часто упоминается моделирование методом Монте-Карло. Так что обещанный материал перед вами.

    Приведу простой пример моделирования методом Монте-Карло для тех, кто никогда не работал с ним ранее, но имеет определенное представление об использовании электронных таблиц Excel.

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

    Скачать заметку в формате , примеры в формате

    Ваши калиброванные специалисты по оценке дали следующие интервалы значений ожидаемой экономии и годового объема производства:

    Годовая экономия составит: (MS + LS + RMS) х PL

    Конечно, этот пример слишком прост, чтобы быть реалистичным. Объем производства каждый год меняется, какие-то затраты снизятся, когда рабочие окончательно освоят новый станок, и т.д. Но мы в этом примере намеренно пожертвовали реализмом ради простоты.

    Если мы возьмем медиану (среднее) каждого из интервалов значений, то получим годовую экономию: (15 + 3 + 6) х 25 000 = 600 000 (дол.)

    Похоже, что мы не только добились безубыточности, но и получили кое-какую прибыль, но не забывайте – существуют неопределенности. Как же оценить рискованность этих инвестиций? Давайте, прежде всего, определим, что такое риск в данном контексте. Чтобы получить риск, мы должны наметить будущие результаты с присущими им неопределенностями, причем какие-то из них – с вероятностью понести ущерб, поддающийся количественному определению. Один из способов взглянуть на риск – представить вероятность того, что мы не добьемся безубыточности, то есть что наша экономия окажется меньше годовой стоимости аренды станка. Чем больше нам не хватит на покрытие расходов на аренду, тем больше мы потеряем. Сумма 600 000 дол. – это медиана интервала. Как определить реальный интервал значений и рассчитать по нему вероятность того, что мы не достигнем точки безубыточности?

    Поскольку точные данные отсутствуют, нельзя выполнить простые расчеты для ответа на вопрос, сможем ли мы добиться требуемой экономии. Есть методы, позволяющие при определенных условиях найти интервал значений результирующего параметра по диапазонам значений исходных данных, но для большинства проблем из реальной жизни такие условия, как правило, не существуют. Как только мы начинаем суммировать и умножать разные типы распределений, задача обычно превращается в то, что математики называют неразрешимой или не имеющей решения обычными математическими методами проблемой. Поэтому взамен мы пользуемся методом прямого подбора возможных вариантов, ставшим возможным благодаря появлению компьютеров. Из имеющихся интервалов мы выбираем наугад множество (тысячи) точных значений исходных параметров и рассчитываем множество точных значений искомого показателя.

    Моделирование методом Монте-Карло – превосходный способ решения подобных проблем. Мы должны лишь случайным образом выбрать в указанных интервалах значения, подставить их в формулу для расчета годовой экономии и рассчитать итог. Одни результаты превысят рассчитанную нами медиану 600 000 дол., а другие окажутся ниже. Некоторые будут даже ниже требуемых для безубыточности 400 000 дол.

    Вы легко сможете осуществить моделирование методом Монте-Карло на персональном компьютере с помощью программы Excel, но для этого понадобится чуть больше информации, чем 90%-ный доверительный интервал. Необходимо знать форму кривой распределения. Для разных величин больше подходят кривые одной формы, чем другой. В случае 90%-ного доверительного интервала обычно используется кривая нормального (гауссова) распределения. Это хорошо знакомая всем колоколообразная кривая, на которой большинство возможных значений результатов группируются в центральной части графика и лишь немногие, менее вероятные, распределяются, сходя на нет к его краям (рис. 1).

    Вот как выглядит нормальное распределение:

    Рис.1. Нормальное распределение. По оси абсцисс число сигм.

    Особенности:

    • значения, располагающиеся в центральной части графика, более вероятны, чем значения по его краям;
    • распределение симметрично; медиана находится точно посредине между верхней и нижней границами 90%-ного доверительного интервала (CI);
    • «хвосты» графика бесконечны; значения за пределами 90%-ного доверительного интервала маловероятны, но все же возможны.

    Для построения нормального распределения в Excel можно воспользоваться функцией =НОРМРАСП(Х; Среднее; Стандартное_откл; Интегральная), где
    Х – значение, для которого строится нормальное распределение;
    Среднее – среднее арифметическое распределения; в нашем случае = 0;
    Стандартное_откл – стандартное отклонение распределения; в нашем случае = 1;
    Интегральная – логическое значение, определяющее форму функции; если аргумент «интегральная» имеет значение ИСТИНА, функция НОРМРАСП возвращает интегральную функцию распределения; если этот аргумент имеет значение ЛОЖЬ, возвращается функция плотности распределения; в нашем случае = ЛОЖЬ.

    Говоря о нормальном распределении, необходимо упомянуть о таком связанном с ним понятии, как стандартное отклонение. Очевидно, не все обладают интуитивным пониманием, что это такое, но поскольку стандартное отклонение можно заменить числом, рассчитанным по 90%-ному доверительному интервалу (смысл которого интуитивно понимают многие), я не буду здесь подробно на нем останавливаться. Рисунок 1 показывает, что в одном 90%-ном доверительном интервале насчитывается 3,29 стандартного отклонения, поэтому нам просто нужно будет сделать преобразование.

    В нашем случае следует создать в электронной таблице генератор случайных чисел для каждого интервала значений. Начнем, например, с MS – экономии на материально-техническом обслуживании. Воспользуемся формулой Excel: =НОРМОБР(вероятность;среднее;стандартное_откл), где
    Вероятность – вероятность, соответствующая нормальному распределению;
    Среднее – среднее арифметическое распределения;
    Стандартное_откл – стандартное отклонение распределения.

    В нашем случае:
    Среднее (медиана) = (Верхняя граница 90%-ного CI + Нижняя граница 90%-ного СI)/2;
    Стандартное отклонение = (Верхняя граница 90%-ного CI – Нижняя граница 90%-ного СI)/3,29.

    Для параметра MS формула имеет вид: =НОРМОБР(СЛЧИС();15;(20-10)/3,29), где
    СЛЧИС – функция, генерирующая случайные числа в диапазоне от 0 до 1;
    15 – среднее арифметическое диапазона MS;
    (20-10)/3,29 = 3,04 – стандартное отклонение; напомню, что смысл стандартного отклонения в следующем: в интервал 3,29*Стандарт_откл, расположенный симметрично относительного среднего, попадает 90% всех значений случайной величины (в нашем случае MS)

    Распределение величины экономии на материально-техническом обслуживании для 100 случайных нормально распределенных значений:

    Рис. 2. Вероятность распределения MS по диапазонам значений; о том, как построить такое распределение с помощью сводной таблицы см.

    Поскольку мы использовали «лишь» 100 случайных значений, распределение получилось не таким уж и симметричным. Тем не менее, около 90% значений попали в диапазон экономии на MS от 10 до 20 долл. (если быть точным, то 91%).

    Построим таблицу на основе доверительных интервалов параметров MS, LS, RMS и PL (рис. 3). Два последних столбца показывают результаты расчетов на основе данных других столбцов. В столбце «Общая экономия» показана годовая экономия, рассчитанная для каждой строки. Например, в случае реализации сценария 1 общая экономия составит (14,3 + 5,8 + 4,3) х 23 471 = 570 834 долл. Столбец «Достигается ли безубыточность?» вам на самом деле не нужен. Я включил его просто для информативности. Создадим в Excel 10 000 строк-сценариев.

    Рис. 3. Расчет сценариев методом Монте-Карло в Excel

    Чтобы оценить полученные результаты, можно использовать, например, сводную таблицу, которая позволяет подсчитать число сценариев в каждом 100-тысячном диапазоне. Затем вы строите график, отображающий результаты расчета (рис. 4). Этот график показывает, какая доля из 10 000 сценариев будут иметь годовую экономию в том или ином интервале значений. Например, около 3% сценариев дадут годовую экономию более 1М дол.

    Рис. 4. Распределение общей экономии по диапазонам значений. По оси абсцисс отложены 100-тысячные диапазоны размера экономии, а по оси ординат доля сценариев, приходящихся на указанный диапазон

    Из всех полученных значений годовой экономии примерно 15% будут меньше 400К дол. Это означает, что вероятность ущерба составляет 15%. Данное число и представляет содержательную оценку риска. Но риск не всегда сводится к возможности отрицательной доходности инвестиций. Оценивая размеры вещи, мы определяем ее высоту, массу, обхват и т.д. Точно так же существуют и несколько полезных показателей риска. Дальнейший анализ показывает: есть 4%-ная вероятность того, что завод вместо экономии будет терять ежегодно по 100К дол. Однако полное отсутствие доходов практически исключено. Вот что подразумевается под анализом риска – мы должны уметь рассчитывать вероятности ущерба разного масштаба. Если вы действительно измеряете риск, то должны делать именно это.

    В некоторых ситуациях можно пойти более коротким путем. Если все распределения значений, с которыми мы работаем, будут нормальными и нам надо просто сложить интервалы этих значений (например, интервалы затрат и выгод) или вычесть их друг из друга, то можно обойтись и без моделирования методом Монте-Карло. Когда необходимо суммировать три вида экономии из нашего примера, следует провести простой расчет. Чтобы получить искомый интервал, используйте шесть шагов, перечисленных ниже:

    1) вычтите среднее значение каждого интервала значений из его верхней границы; для экономии на материально-техническом обслуживании 20 – 15 = 5 (дол.), для экономии на трудозатратах – 5 дол. и для экономии на сырье и материалах – 3 дол.;

    2) возведите в квадрат результаты первого шага 5 2 = 25 (дол.) и т.д.;

    3) суммируйте результаты второго шага 25 + 25 + 9 = 59 (дол.);

    4) извлеките квадратный корень из полученной суммы: получится 7,7 дол.;

    5) сложите все средние значения: 15 + 3 + 6 = 24 (дол.);

    6) прибавьте к сумме средних значений результат шага 4 и получите верхнюю границу диапазона: 24 + 7,7 = 31,7 дол.; вычтите из суммы средних значений результат шага 4 и получите нижнюю границу диапазона 24 – 7,7 = 16,3 дол.

    Таким образом, 90%-ный доверительный интервал для суммы трех 90%-ных доверительных интервалов по каждому виду экономии составляет 16,3–31,7 дол.

    Мы использовали следующее свойство: размах суммарного интервала равен квадратному корню из суммы квадратов размахов отдельных интервалов .

    Иногда нечто похожее делают, суммируя все «оптимистические» значения верхней границы и «пессимистические» значения нижней границы интервала. В данном случае мы получили бы на основе наших трех 90%-ных доверительных интервалов суммарный интервал 11–37 дол. Этот интервал несколько шире, чем 16,3–31,7 дол. Когда такие расчеты выполняются при обосновании проекта с десятками переменных, расширение интервала становится чрезмерным, чтобы его игнорировать. Брать самые «оптимистические» значения для верхней границы и «пессимистические» для нижней – все равно что думать: бросив несколько игральных костей, мы во всех случаях получим только «1» или только «6». На самом же деле выпадет некое сочетание низких и высоких значений. Чрезмерное расширение интервала – распространенная ошибка, которая, несомненно, часто приводит к принятию необоснованных решений. В то же время описанный мной простой метод прекрасно работает, когда у нас есть несколько 90%-ных доверительных интервалов, которые необходимо суммировать.

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

    Моделирование методом Монте-Карло требуется и тогда, когда не все распределения являются нормальными. Хотя другие типы распределений не входят в предмет данной книги, упомянем о двух из них - равномерном и бинарном (рис. 5, 6).

    Рис. 5. Равномерное распределение (не идеальное, а построенное с помощью функции СЛЧИС в Excel)

    Особенности:

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

    Для построения данного распределения в Excel была использована формула: СЛЧИС()*(UB – LB) + LB, где UB – верхняя граница; LB – нижняя граница; с последующим разбиением всех значений на диапазоны с помощью сводной таблицы.

    Рис. 6. Бинарное распределение (распределение Бернулли)

    Особенности:

    • возможны только два значения;
    • существует единственная вероятность одного значения (в данном случае 60%); вероятность другого значения равна единице минус вероятность первого значения

    Для построения случайного распределения данного вида в Excel использовалась функция: =ЕСЛИ(СЛЧИС()<Р;1;0), где Р - вероятность выпадения «1»; вероятность выпадения «0» равна 1–Р; с последующим разбиением всех значений на два значения с помощью сводной таблицы.

    Метод впервые использовал математик Станислав Улам (см. ).

    Дуглас Хаббард далее перечисляет несколько программ, предназначенных для моделирования методом Монте-Карло. Среди них и Crystal Ball компании Decisioneering, Inc, Денвер, штат Колорадо. Книга на английском языке была издана в 2007 г. Сейчас же эта программа принадлежит уже Oracle . Демо-версия программы доступна для скачивания с сайта компании. О ее возможностях мы и погорим .

    См. главу 5 упоминавшейся книги Дугласа Хаббарда

    Здесь Дуглас Хаббард под размахом понимает разность между верхней границей 90%-ного доверительного интервала и средним значением этого интервала (или между средним значением и нижней границей, так как распределение симметрично). Обычно под размахом понимают разность между верхней и нижней границами.