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

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

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

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

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

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

Ключевые моменты

  • Моделирование Монте-Карло моделирует вероятность различных результатов путем повторения случайного процесса достаточно большое количество раз, чтобы результаты были аналогичны тем, которые наблюдались бы, если бы процесс повторялся вечно.
  • Функция sample()рисует случайные результаты из набора опций.
  • Функция replicate()повторяет строки кода заданное количество раз. Он используется с sample()аналогичными функциями для запуска моделирования методом Монте-Карло.

beads <- rep(c("red", "blue"), times = c(2,3))    # create an urn with 2 red, 3 blue
beads    # view beads object
sample(beads, 1)    # sample 1 bead at random
B <- 10000    # number of times to draw 1 bead
events <- replicate(B, sample(beads, 1))    # draw 1 bead, B times
tab <- table(events)    # make a table of outcome counts
tab    # view count table
prop.table(tab)    # view table of outcome proportion

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