Simulación del Monte Carlo

Jan 29 2023
La simulación de Monte Carlo es un método estadístico que utiliza muestreo aleatorio para modelar y analizar el comportamiento de un sistema o proceso. La idea básica es repetir una simulación muchas veces, cada vez con diferentes entradas aleatorias, para ver cómo se comporta el sistema en promedio y qué rango de resultados son posibles.

La simulación de Monte Carlo es un método estadístico que utiliza muestreo aleatorio para modelar y analizar el comportamiento de un sistema o proceso.

La idea básica es repetir una simulación muchas veces, cada vez con diferentes entradas aleatorias, para ver cómo se comporta el sistema en promedio y qué rango de resultados son posibles.

Los resultados de cada simulación luego se combinan para dar una imagen completa del comportamiento del sistema. Las simulaciones de Monte Carlo se utilizan cuando las soluciones analíticas no son posibles o cuando se necesita una mejor comprensión de la incertidumbre y el riesgo.

Es imposible repetir para siempre. En su lugar, repetimos el experimento una cantidad de veces lo suficientemente grande como para que los resultados sean prácticamente equivalentes a hacerlo una y otra vez para siempre. Este es un ejemplo de una simulación de Monte Carlo.

Puntos clave

  • Las simulaciones de Monte Carlo modelan la probabilidad de diferentes resultados al repetir un proceso aleatorio una cantidad de veces lo suficientemente grande como para que los resultados sean similares a los que se observarían si el proceso se repitiera para siempre.
  • La sample()función extrae resultados aleatorios de un conjunto de opciones.
  • La replicate()función repite líneas de código un número determinado de veces. Se utiliza con sample()funciones similares para ejecutar simulaciones 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 ello, muestreamos con reposición. Después de recoger la cuenta, la volvemos a poner en la urna. Podemos decirle a sample que haga esto cambiando el argumento de reemplazo que por defecto es falso a verdadero.