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

Ω f ( x 1 , , x m ) d x 1 d x m {\displaystyle \int \cdots \int _{\Omega }f(x_{1},\dots ,x_{m})dx_{1}\cdots dx_{m}}

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.

Generalidades

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

a b f ( x ) d x {\displaystyle \int _{a}^{b}\!f(x)dx}

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

a b f ( x ) d x = ( b a ) E [ f ( X ) ] {\displaystyle \int _{a}^{b}f(x)dx=(b-a)\operatorname {E} [f(X)]}

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

E [ f ( X ) ] = R f ( x ) g X ( x ) d x = a b f ( x ) 1 b a d x = 1 b a a b f ( x ) d x {\displaystyle {\begin{aligned}\operatorname {E} [f(X)]&=\int _{\mathbb {R} }f(x)g_{X}(x)dx\\&=\int _{a}^{b}f(x)\;{\frac {1}{b-a}}\;dx\\&={\frac {1}{b-a}}\int _{a}^{b}f(x)dx\end{aligned}}}

por lo que

a b f ( x ) d x = ( b a ) E [ f ( X ) ] {\displaystyle \int _{a}^{b}f(x)dx=(b-a)\operatorname {E} [f(X)]}

siendo

g X ( x ) = 1 b a {\displaystyle g_{X}(x)={\frac {1}{b-a}}}

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.

Estimador

Lo que se busca es estimar E [ f ( X ) ] {\displaystyle \operatorname {E} [f(X)]} entonces por la Ley fuerte de los Grandes Números

E [ f ( X ) ] 1 n i = 1 n f ( X i ) {\displaystyle \operatorname {E} [f(X)]\approx {\frac {1}{n}}\sum _{i=1}^{n}f(X_{i})}

por lo que

a b f ( x ) d x b a n i = 1 n f ( x i ) {\displaystyle \int _{a}^{b}f(x)dx\approx {\frac {b-a}{n}}\sum _{i=1}^{n}f(x_{i})}

Mientras más grande sea n {\displaystyle n} , es decir, si n {\displaystyle n\to \infty } , más exacta será la aproximación entonces

a b f ( x ) d x = lim n b a n i = 1 n f ( x i ) {\displaystyle \int _{a}^{b}f(x)dx=\lim _{n\to \infty }{\frac {b-a}{n}}\sum _{i=1}^{n}f(x_{i})}

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 x i {\displaystyle a+bx_{i}} por lo que

a b f ( x ) d x = lim n b a n i = 1 n f ( a + b x i ) {\displaystyle \int _{a}^{b}f(x)dx=\lim _{n\to \infty }{\frac {b-a}{n}}\sum _{i=1}^{n}f(a+bx_{i})}

Algoritmo

Para evaluar una integral de la forma

a b f ( x ) d x {\displaystyle \int _{a}^{b}f(x)dx}

se sigue el siguiente algoritmo

  1. Generar una muestra de tamaño n {\displaystyle n} de X U ( a , b ) {\displaystyle X\sim \operatorname {U} (a,b)} .
  2. Evaluar cada elemento de la muestra en la función f {\displaystyle f} .
  3. Calcular
b a n i = 1 n f ( x i ) {\displaystyle {\frac {b-a}{n}}\sum _{i=1}^{n}f(x_{i})}

Ejemplo

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:

R 1 2 + R 2 2 1 {\displaystyle {\sqrt {R_{1}^{2}+R_{2}^{2}}}\leq 1}

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á:

π r 2 4 = π 4 0 , 785 {\displaystyle {\frac {\pi r^{2}}{4}}={\frac {\pi }{4}}\simeq 0,785}

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.

Véase también

Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q39879
  • Wd Datos: Q39879