Стохастическое моделирование

редактировать

Стохастическое моделирование является моделированием из системы, имеющей переменные, которые могут изменить стохастический (случайно) с индивидуальными вероятностями.

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

Часто случайные величины, вставленные в модель, создаются на компьютере с генератором случайных чисел (ГСЧ). Выходные данные равномерного распределения U (0,1) генератора случайных чисел затем преобразуются в случайные величины с распределениями вероятностей, которые используются в модели системы.

СОДЕРЖАНИЕ
  • 1 Этимология
  • 2 Дискретно-событийное моделирование
    • 2.1 Распределения вероятностей
      • 2.1.1 Распределение Бернулли
        • 2.1.1.1 Пример: подбрасывание монеты
      • 2.1.2 Биномиальное распределение
      • 2.1.3 Распределение Пуассона
    • 2.2 Методы
      • 2.2.1 Методы прямой и первой реакции
      • 2.2.2 Метод следующей реакции
      • 2.2.3 Оптимизированные и сортировочные прямые методы
      • 2.2.4 Логарифмический прямой метод
      • 2.2.5 Методы частичной склонности
    • 2.3 Примерные методы
      • 2.3.1 метод прыжка τ
      • 2.3.2 Метод условной разности
  • 3 Непрерывное моделирование
    • 3.1 Распределения вероятностей
      • 3.1.1 Нормальное распределение
      • 3.1.2 Экспоненциальное распределение
      • 3.1.3 t-распределение Стьюдента
      • 3.1.4 Другие дистрибутивы
  • 4 Комбинированное моделирование
  • 5 Моделирование Монте-Карло
    • 5.1 Применение
  • 6 генераторов случайных чисел
  • 7 См. Также
  • 8 ссылки
  • 9 Внешние ссылки
Этимология

Первоначально стохастик означал «относящийся к предположениям»; от греч. стокхастикос "уметь угадывать, догадываться": от стокхазестай "догадываться"; от стокос «угадай, прицелься, прицелись, прицелись». Смысл «случайно определенного» впервые был зафиксирован в 1934 году немецким издательством Stochastik.

Дискретно-событийное моделирование

Чтобы определить следующее событие в стохастическом моделировании, вычисляются скорости всех возможных изменений состояния модели, а затем они упорядочиваются в массиве. Затем берется совокупная сумма массива, и последняя ячейка содержит число R, где R - общая частота событий. Этот совокупный массив теперь представляет собой дискретное совокупное распределение, и его можно использовать для выбора следующего события путем выбора случайного числа z ~ U (0, R) и выбора первого события, так что z меньше скорости, связанной с этим событием..

Распределения вероятностей

Распределение вероятностей используется для описания потенциального результата случайной величины.

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

Распределение Бернулли

Основная статья: распределение Бернулли

Случайная величина X является распределенной по Бернулли с параметром p, если она имеет два возможных результата, обычно кодируемых 1 (успех или дефолт) или 0 (неудача или выживание), где и где равны вероятности успеха и неудачи. п ( Икс знак равно 1 ) знак равно п {\ Displaystyle P (X = 1) = p} п ( Икс знак равно 0 ) знак равно 1 - п {\ Displaystyle P (X = 0) = 1-p} 0 п 1 {\ displaystyle 0 \ leq p \ leq 1}

Чтобы получить случайную величину X с распределением Бернулли из равномерного распределения U (0,1), созданного генератором случайных чисел, мы определяем

Икс знак равно { 1 , если  0 U lt; п 0 , если  1 U п {\ displaystyle X = {\ begin {case} 1, amp; {\ text {if}} 0 \ leq U lt;p \\ 0, amp; {\ text {if}} 1 \ geq U \ geq p \ end {cases }}}

такая, что вероятность для и. п ( Икс знак равно 1 ) знак равно п ( 0 U lt; п ) знак равно п {\ Displaystyle P (X = 1) = P (0 \ Leq U lt;p) = p} п ( Икс знак равно 0 ) знак равно п ( 1 U п ) знак равно 1 - п {\ Displaystyle Р (Икс = 0) = п (1 \ geq U \ geq p) = 1-р}

Пример: подбрасывание монеты

Определять

X = 1 if head comes up and X = 0 if tail comes up

Для честной монеты обе реализации одинаково вероятны. Мы можем сгенерировать реализации этой случайной величины X из равномерного распределения, обеспечиваемого генератором случайных чисел (ГСЧ), если ГСЧ выдает значение от 0 до 0,5 и если ГСЧ выдает значение от 0,5 до 1. U ( 1 , 0 ) {\ Displaystyle U (1,0)} Икс знак равно 1 {\ displaystyle X = 1} Икс знак равно 0 {\ displaystyle X = 0}

P (X = 1) = P(0 ≤ U lt; 1/2) = 1/2
P (X = 0) = P(1 ≥ U ≥ 1/2) = 1/2

Конечно, эти два исхода не могут быть одинаково вероятными (например, успех лечения).

Биномиальное распределение

Основная статья: Биномиальное распределение

Биномиальное распределенная случайная величина У с параметрами п и р получается как сумма п независимых и одинаково Бернулли-распределенных случайных величин X 1, X 2,..., Х п

Пример: монета подбрасывается трижды. Найдите вероятность выпадения ровно двух орлов. Эту проблему можно решить, посмотрев на пробное пространство. Есть три способа получить две головы.

HHH, HHT, HTH, THH, TTH, THT, HTT, TTT

Ответ - 3/8 (= 0,375).

распределение Пуассона

Основная статья: распределение Пуассона

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

п ( k  события в интервале ) знак равно λ k е - λ k ! {\ displaystyle P (k {\ text {события в интервале}}) = {\ frac {\ lambda ^ {k} e ^ {- \ lambda}} {k!}}}

Определяется как количество событий, происходящих во временном интервале. N ( т ) {\ Displaystyle N (т)} т {\ displaystyle t}

п ( N ( т ) знак равно k ) знак равно ( т λ ) k k ! е - т λ {\ Displaystyle P (N (T) = k) = {\ frac {(t \ lambda) ^ {k}} {k!}} e ^ {- t \ lambda}}

Можно показать, что время между поступлениями событий экспоненциально распределено с кумулятивной функцией распределения (CDF). Обратный к экспоненциальному CDF дается формулой F ( т ) знак равно 1 - е - т λ {\ Displaystyle F (т) = 1-е ^ {{- т} {\ лямбда}}}

т знак равно - 1 λ л п ( ты ) {\ displaystyle t = - {\ frac {1} {\ lambda}} ln (u)}

где - равномерно распределенная случайная величина. ты {\ displaystyle u} U ( 0 , 1 ) {\ Displaystyle U (0,1)}

Моделирование процесса Пуассона с постоянной скоростью для количества событий, происходящих в интервале, может быть выполнено с помощью следующего алгоритма. λ {\ displaystyle \ lambda} N {\ displaystyle N} [ т s т а р т , т е п d ] {\ Displaystyle [т_ {начало}, т_ {конец}]}

  1. Начни с и N знак равно 0 {\ displaystyle N = 0} т знак равно т s т а р т {\ displaystyle t = t_ {start}}
  2. Сгенерировать случайную величину из равномерного распределения ты {\ displaystyle u} U ( 0 , 1 ) {\ Displaystyle U (0,1)}
  3. Обновите время с помощью т знак равно т + ( - 1 / λ ) л п ( ты ) {\ displaystyle t = t + (- 1 / \ lambda) ln (u)}
  4. Если, то остановись. В противном случае перейдите к шагу 5. т gt; т е п d {\ displaystyle tgt; t_ {end}}
  5. N знак равно N + 1 {\ Displaystyle N = N + 1}
  6. Перейти к шагу 2

Методы

Методы прямой и первой реакции

Опубликовано Дэном Гиллеспи в 1977 году и представляет собой линейный поиск по совокупному массиву. См. Алгоритм Гиллеспи.

Алгоритм стохастического моделирования (SSA) Гиллеспи - это, по сути, точная процедура для численного моделирования эволюции во времени хорошо перемешанной химически реагирующей системы с должным учетом случайности, присущей такой системе.

Оно строго основано на той же микрофизической предпосылке, которая лежит в основе основного химического уравнения, и дает более реалистичное представление об эволюции системы, чем детерминированное уравнение скорости реакции (RRE), математически представленное с помощью ОДУ.

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

Следующий метод реакции

Опубликовано Гибсоном и Бруком в 2000 году. Это улучшение по сравнению с первым методом реакции, в котором повторно используется неиспользованное время реакции. Чтобы сделать выборку реакций более эффективной, используется очередь с индексированным приоритетом для хранения времени реакции. С другой стороны, чтобы сделать пересчет склонностей более эффективным, используется граф зависимостей. Этот график зависимостей показывает, какие склонности к реакции обновляются после того, как сработала конкретная реакция.

Оптимизированные и сортировочные прямые методы

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

Логарифмический прямой метод

Опубликовано в 2006 году. Это бинарный поиск по кумулятивному массиву, что снижает временную сложность выборки реакции в наихудшем случае до O (log M).

Методы частичной склонности

Опубликовано в 2009, 2010 и 2011 годах (Рамасвами 2009, 2010, 2011). Используйте факторизованные частичные склонности к реакциям, чтобы уменьшить вычислительные затраты и масштабировать с учетом количества видов в сети, а не (большего) количества реакций. Существуют четыре варианта:

  • PDM, прямой метод частичной склонности. Имеет вычислительные затраты, которые линейно масштабируются с количеством различных частиц в реакционной сети, независимо от класса связи сети (Ramaswamy 2009).
  • SPDM, прямой метод сортировки с частичной склонностью. Использует динамическую пузырьковую сортировку, чтобы уменьшить предварительный фактор вычислительных затрат в многомасштабных реакционных сетях, где скорость реакции составляет несколько порядков (Ramaswamy 2009).
  • PSSA-CR, SSA с частичной склонностью с выборкой с отклонением состава. Снижает вычислительные затраты до постоянного времени (т. Е. Независимо от размера сети) для слабосвязанных сетей (Ramaswamy, 2010), используя выборку с отклонением состава (Slepoy, 2008).
  • dPDM, прямой метод частичной склонности к задержке. Распространяет PDM на сети реагирования, которые несут временные задержки (Ramaswamy 2011), предоставляя вариант частичной склонности метода delay-SSA (Bratsun 2005, Cai 2007).

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

Примерные методы

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

τ прыжковый метод

Поскольку метод SSA отслеживает каждый переход, было бы непрактично реализовать его для определенных приложений из-за высокой временной сложности. Гиллеспи предложил процедуру аппроксимации, метод тау-прыжка, который сокращает время вычислений с минимальной потерей точности. Вместо того, чтобы делать пошаговые шаги во времени, отслеживая X (t) на каждом временном шаге, как в методе SSA, метод тау- скачка перескакивает с одного подынтервала на следующий, приблизительно определяя, сколько переходов происходит в течение данного подынтервала. Предполагается, что величина скачка τ достаточно мала, чтобы не было значительного изменения значения скоростей переходов на подынтервале [t, t + τ]. Это состояние известно как условие прыжка. Таким образом, метод тау-прыжка имеет то преимущество, что имитирует множество переходов за один прыжок, не теряя при этом значительной точности, что приводит к ускорению времени вычислений.

Метод условной разности

Этот метод аппроксимирует обратимые процессы (включая процессы случайного блуждания / диффузии), принимая во внимание только чистые скорости противоположных событий обратимого процесса. Основное преимущество этого метода заключается в том, что он может быть реализован с помощью простого оператора if, заменяющего предыдущие скорости перехода модели на новые эффективные скорости. Таким образом, модель с замененными скоростями перехода может быть решена, например, с помощью обычного SSA.

Непрерывное моделирование

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

Распределения вероятностей

Нормальное распределение

Основная статья: Нормальное распределение

Случайная величина Х называется нормально распределены с параметрами μ и а, сокращенно от X ∈ N (M, a 2), если плотность случайной переменной задается формулой х ∈ R. ж Икс ( Икс ) знак равно 1 2 π σ 2 е - ( Икс - μ ) 2 2 σ 2 . {\ displaystyle f_ {X} (x) = {\ frac {1} {\ sqrt {2 \ pi \ sigma ^ {2}}}} e ^ {- {\ frac {(x- \ mu) ^ {2 }} {2 \ sigma ^ {2}}}}.}

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

Экспоненциальное распределение

Основная статья: Экспоненциальное распределение

Экспоненциальное распределение описывает время между событиями в пуассоновском процессе, т. Е. В процессе, в котором события происходят непрерывно и независимо с постоянной средней скоростью.

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

Распределение Стьюдента

Основная статья: t-распределение Стьюдента

Распределение Стьюдента используется в финансах как вероятностные модели доходности активов. Функция плотности t-распределения определяется следующим уравнением: ж ( т ) знак равно Γ ( ν + 1 2 ) ν π Γ ( ν 2 ) ( 1 + т 2 ν ) - ν + 1 2 , {\ displaystyle f (t) = {\ frac {\ Gamma ({\ frac {\ nu +1} {2}})} {{\ sqrt {\ nu \ pi}} \, \ Gamma ({\ frac { \ nu} {2}})}} \ left (1 + {\ frac {t ^ {2}} {\ nu}} \ right) ^ {- {\ frac {\ nu +1} {2}}}, \!}

где это число степеней свободы и является гамма - функция. ν {\ displaystyle \ nu} Γ {\ displaystyle \ Gamma}

При больших значениях п, то распределение Стьюдента, существенно не отличается от стандартного нормального распределения. Обычно для значений n gt; 30 t-распределение считается равным стандартному нормальному распределению.

Другие дистрибутивы

Комбинированное моделирование

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

Моделирование Монте-Карло

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

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

заявка

Существуют широкие возможности использования метода Монте-Карло:

Генераторы случайных чисел
Основная статья: Генерация случайных чисел

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

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

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

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

Смотрите также
использованная литература
внешние ссылки
Программное обеспечение
  • cayenne - Быстрый и простой в использовании пакет Python для стохастического моделирования. Реализации прямого, тау-прыжкового и тау-адаптивного алгоритмов.
  • StochSS - StochSS: служба стохастического моделирования - среда облачных вычислений для моделирования и моделирования стохастических биохимических систем.
  • ResAssure - программное обеспечение для стохастического моделирования коллектора - решает полностью неявные, динамические уравнения трехфазного потока жидкости для каждой геологической реализации.
  • Каин - Стохастическое моделирование химической кинетики. Прямая, следующая реакция, тау-прыжок, гибрид и т. Д.
  • pSSAlib - C ++ реализации всех методов частичной склонности.
  • StochPy - стохастическое моделирование в Python
  • ШАГИ - STochastic Engine для моделирования пути с использованием swig для создания интерфейса Python для кода C / C ++
Последняя правка сделана 2023-03-21 08:44:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте