Integración de Monte Carlo

En matemáticas, se le conoce como integración de Monte Carlo a un método que utiliza números aleatorios para estimar el valor de una integral definida, este método es muy utilizado para evaluar integrales múltiples, es decir, integrales de la forma
siendo Ω ⊂ R m {\displaystyle \Omega \subset \mathbb {R} ^{m}} .
La integración de Monte Carlo forma parte de una familia de algoritmos llamados genéricamente métodos de Monte Carlo, estos algoritmos utilizan números aleatorios para resolver diferentes tipos de problemas matemáticos y reciben su nombre debido al casino de Monte Carlo.
Considere una función f : [ a , b ] → R {\displaystyle f:[a,b]\to \mathbb {R} } que es integrable en el intervalo abierto ( a , b ) {\displaystyle (a,b)} y suponga que se desea evaluar la integral
siendo esta una integral complicada de evaluar de forma analítica.
Esta integral puede expresarse en términos de la esperanza de cierta variable aleatoria como sigue
donde f ( X ) {\displaystyle f(X)} es la variable aleatoria con X ∼ U ⁡ ( a , b ) {\displaystyle X\sim \operatorname {U} (a,b)} , lo anterior es válido pues
por lo que
siendo
la función de densidad de X ∼ U ⁡ ( a , b ) {\displaystyle X\sim \operatorname {U} (a,b)} .
Entonces para calcular la integral hay que calcular la esperanza de f ( X ) {\displaystyle f(X)} , lo que hace la Integración de Monte Carlo es estimarla.
Lo que se busca es estimar E ⁡ [ f ( X ) ] {\displaystyle \operatorname {E} [f(X)]} entonces por la Ley fuerte de los Grandes Números
por lo que
Mientras más grande sea n {\displaystyle n} , es decir, si n → ∞ {\displaystyle n\to \infty } , más exacta será la aproximación entonces
Si en lugar de generar una muestra de X ∼ U ⁡ ( a , b ) {\displaystyle X\sim \operatorname {U} (a,b)} se genera de X ∼ U ⁡ ( 0 , 1 ) {\displaystyle X\sim \operatorname {U} (0,1)} entonces uno puede utilizar el Método de la transformada inversa para convertir la muestra al intervalo deseado. Si { x i } i = 1 n {\displaystyle \{x_{i}\}_{i=1}^{n}} denota una muestra de tamaño n {\displaystyle n} de X ∼ U ⁡ ( 0 , 1 ) {\displaystyle X\sim \operatorname {U} (0,1)} entonces para convertirla a una muestra de X ∼ U ⁡ ( a , b ) {\displaystyle X\sim \operatorname {U} (a,b)} se considera a + ( b − a ) x i {\displaystyle a+(b-a)x_{i}} por lo que
Para evaluar una integral de la forma
se sigue el siguiente algoritmo
A través de un ejemplo se ilustrará el método. El proceso consiste en calcular el área encerrada por una línea cerrada cualquiera que está incluida en un cuadrado de lado unitario (y área unitaria).
Al generar puntos al azar (mediante dos números aleatorios) se calcula la fracción que se establece entre la cantidad de puntos que caen dentro del área asociada a la curva y la cantidad total de puntos (o puntos en el cuadrado).
Supongamos que el área a calcular es un cuarto de círculo, de radio unitario, que está dentro de un cuadrado de lado unitario. La fracción será:
(Área del 1 / 4 {\displaystyle {}^{1}/_{4}} círculo) / {\displaystyle /} (Área del cuadrado unitario [ 0 , 1 ] × [ 0 , 1 ] {\displaystyle [0,1]\times [0,1]} )=(Puntos en el 1 / 4 {\displaystyle {}^{1}/_{4}} de círculo) / {\displaystyle /} (Puntos en el cuadrado) = π r 2 4 {\displaystyle ={\frac {\pi r^{2}}{4}}}
Para generar los puntos utilizamos dos sucesiones de números aleatorios R 1 {\displaystyle R_{1}} y R 2 {\displaystyle R_{2}} . Si queremos saber si un punto pertenece al cuarto de círculo, establecemos, a partir de la ecuación del círculo, la condición de pertenencia:
Si se verifica la relación anterior, el punto pertenece al cuarto de círculo (y al cuadrado). De lo contrario pertenecerá solo al cuadrado.
Para el caso de una simulación con 25 pares de números aleatorios, es decir, para 25 puntos generados, nos dará una fracción tal como 21 25 = 0 , 84 {\displaystyle {\frac {21}{25}}=0,84} , mientras que el área buscada será:
La precisión del método se mejora utilizando una gran cantidad de simulaciones, siendo el error del orden del 0,001 cuando se emplean unos 15.000 puntos simulados.