Symulacja Monte Carlo

Jan 29 2023
Symulacja Monte Carlo to metoda statystyczna wykorzystująca losowe pobieranie próbek do modelowania i analizowania zachowania systemu lub procesu. Podstawową ideą jest wielokrotne powtarzanie symulacji, za każdym razem z różnymi losowymi danymi wejściowymi, aby zobaczyć, jak średnio zachowuje się system i jaki zakres wyników jest możliwy.

Symulacja Monte Carlo to metoda statystyczna wykorzystująca losowe pobieranie próbek do modelowania i analizowania zachowania systemu lub procesu.

Podstawową ideą jest wielokrotne powtarzanie symulacji, za każdym razem z różnymi losowymi danymi wejściowymi, aby zobaczyć, jak średnio zachowuje się system i jaki zakres wyników jest możliwy.

Wyniki każdej symulacji są następnie łączone w celu uzyskania kompleksowego obrazu zachowania systemu. Symulacje Monte Carlo stosuje się, gdy rozwiązania analityczne nie są możliwe lub gdy potrzebne jest lepsze zrozumienie niepewności i ryzyka.

Nie da się powtarzać w nieskończoność. Zamiast tego powtarzamy eksperyment wystarczająco dużo razy, aby wyniki były praktycznie równoważne z robieniem go w kółko w nieskończoność. To jest przykład symulacji Monte Carlo.

Kluczowe punkty

  • Symulacje Monte Carlo modelują prawdopodobieństwo różnych wyników, powtarzając losowy proces wystarczająco dużą liczbę razy, aby wyniki były podobne do tych, które można by zaobserwować, gdyby proces był powtarzany w nieskończoność.
  • Funkcja sample()losuje wyniki z zestawu opcji.
  • Funkcja replicate()powtarza wiersze kodu określoną liczbę razy. Jest używany z sample()podobnymi funkcjami do uruchamiania symulacji Monte Carlo.

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

Aby to zrobić, pobieramy próbki z wymianą. Po wybraniu koralika wkładamy go z powrotem do urny. Możemy powiedzieć próbce, aby to zrobiła, zmieniając argument zamiany, który domyślnie ma wartość false, na true.