Simulação de Monte Carlo

Jan 29 2023
A simulação de Monte Carlo é um método estatístico que usa amostragem aleatória para modelar e analisar o comportamento de um sistema ou processo. A ideia básica é repetir uma simulação várias vezes, cada vez com diferentes entradas aleatórias, para ver como o sistema se comporta em média e que gama de resultados são possíveis.

A simulação de Monte Carlo é um método estatístico que usa amostragem aleatória para modelar e analisar o comportamento de um sistema ou processo.

A ideia básica é repetir uma simulação várias vezes, cada vez com diferentes entradas aleatórias, para ver como o sistema se comporta em média e que gama de resultados são possíveis.

Os resultados de cada simulação são combinados para fornecer uma imagem abrangente do comportamento do sistema. As simulações de Monte Carlo são usadas quando soluções analíticas não são possíveis, ou quando uma melhor compreensão da incerteza e do risco é necessária.

É impossível repetir para sempre. Em vez disso, repetimos o experimento um número de vezes grande o suficiente para tornar os resultados praticamente equivalentes a fazê-lo indefinidamente. Este é um exemplo de simulação de Monte Carlo.

Pontos chave

  • As simulações de Monte Carlo modelam a probabilidade de resultados diferentes repetindo um processo aleatório um número de vezes grande o suficiente para que os resultados sejam semelhantes aos que seriam observados se o processo fosse repetido para sempre.
  • A sample()função extrai resultados aleatórios de um conjunto de opções.
  • A replicate()função repete linhas de código um determinado número de vezes. Ele é usado com sample()funções semelhantes para executar simulações de 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

Para fazer isso, amostramos com reposição. Depois de escolher a conta, nós a colocamos de volta na urna. Podemos dizer ao sample para fazer isso alterando o argumento de substituição, cujo padrão é falso, para verdadeiro.