8 votos

Simulación del movimiento browniano

Si quiero simular el movimiento browniano en el espacio euclidiano puedo simularlo mediante un punto que se mueve una distancia $\epsilon$ en una dirección arbitraria, entonces elige aleatoriamente una nueva dirección y se mueve una distancia $\epsilon$ de nuevo y así sucesivamente. Cuanto más pequeño sea el $\epsilon$ más se acercará la simulación al movimiento browniano real.

¿Cómo puedo simular el movimiento browniano en el espacio hiperbólico (modelo de disco de Poincare, por ejemplo)? ¿Funciona lo mismo aquí donde reemplazo la distancia euclidiana por la distancia hiperbólica? Mi intuición es que sí, pero cuando hice la simulación el paseo aleatorio no parece ser transitorio, ¡pero debería serlo!

4voto

Eran Medan Puntos 193

Tomando el modelo de disco de Poincaré para el espacio hiperbólico como formado por todos los números complejos con módulo menor que 1, la distancia entre dos puntos se puede calcular como

$$d(z_1,z_2)=\tanh^{-1}\left|\frac{z_1-z_2}{1-z_1\bar{z_2}}\right| \; .$$

El conjunto de puntos a igual distancia $\varepsilon=\tanh(d(z,z_0))$ desde un punto fijo $z_0$ puede demostrarse que está representado por un círculo en el modelo de disco de Poincaré con centro

$$\frac{(1-\varepsilon^2)z_0}{1-\varepsilon^2|z_0|^2}$$

y el radio

$$\frac{\varepsilon(1-|z_0|^2)}{1-\varepsilon^2|z_0|^2} \; .$$

Pero este no es el final de la historia, no puedes elegir puntos de manera uniforme en este círculo. Lo que quieres es elegir puntos de tal manera que puedas llegar desde $z_0$ a ellos de manera que la dirección de salida de $z_0$ se eligió de manera uniforme. Esto inducirá una distribución particular en ese círculo.

Para averiguar esta distribución, es necesario calcular la intersección de una línea h* a través de $z_0$ para una dirección arbitraria y el círculo que acabamos de calcular. A partir de eso, podemos obtener la distribución buscada. Actualizaré esto más tarde si llego a calcular esa parte.

EDITAR: Siguiendo la sugerencia de @Douglas Zare, esto también se puede conseguir eligiendo un punto a distancia $\varepsilon$ desde el origen uniformemente, donde la deformación del modelo de disco de Poincaré no será un problema ya que las líneas h que pasan por el origen son todas diámetros. Todo lo que tenemos que hacer entonces es trasladar el punto con la traslación que lleva el origen al punto $z_0$ que puede hacerse con una transformación de Möbius

$$z \mapsto w=\frac{z+z_0}{\bar{z}_0z+1} \; .$$

Esto también es fácil de implementar computacionalmente. Aquí está cómo lo codifiqué en R:

    # Brownian motion on Poincaré disk (no comments about crappy code plz kthx)

epsilon=0.01;
z<-0;
path<-c(z);
for (t in 1:10000) { 
    jitter=runif(1,0,1);
    dz=epsilon*complex(1,cos(2*pi*jitter),sin(2*pi*jitter));
    z<-(z+dz)/(Conj(dz)*z+1);
    path<-c(path,z);
}

plot(Re(path),Im(path),type="l",col="blue",asp=1,xlim=c(-1,1),ylim=c(-1,1));
curve(sqrt(1-x^2),-1,1,col="red",add=TRUE);
curve(-sqrt(1-x^2),-1,1,col="red",add=TRUE);

Y aquí hay una imagen de una ejecución del código Brownian motion simulation on Poincaré Disk

*Por línea h, me refiero a una línea en el plano hiperbólico, que será o bien un diámetro, o bien un segmento de círculo ortogonal en la frontera del disco de Poincaré.

1voto

lagerdalek Puntos 123

Recuerdo que hay una discusión sobre el movimiento browniano en Feller (An Introduction To Probability Theory and it's Applications).

1voto

Chris Puntos 1514

Creo que el comienzo será definir qué es un movimiento browniano en cierto subconjunto de $\mathbb{R}^3$ en este caso.

La propiedad clave del movimiento browniano $B_t$ es que tiene incrementos independientes, es decir $B_t-B_s$ es independiente de $B_s$ . De ahí que una forma de simular el movimiento browniano sea sumando variables aleatorias independientes. En el caso del movimiento browniano bidimensional, esto se consigue generando $n$ vectores aleatorios $X_i$ y luego tomar

$$\xi_t=\frac{1}{\sqrt{n}}\left(\sum_{i=1}^{[nt]}X_i+(nt-[nt])X_{[nt]+1}\right),$$

donde $[\cdot]$ es la parte entera de un número real. El teorema del límite central funcional asegura que $\xi_t$ converge a $B_t$ como $T$ va al infinito, por lo que hay que tomar grandes $T$ y obtendrá una simulación de $B_t$ . También es posible tomar sólo las sumas parciales $\sum_{i=1}^{[nt]}X_i$ el resultado final será el mismo.

Ahora bien, para aplicar este planteamiento a un determinado espacio, se necesita, como he dicho antes la definición del movimiento browniano en dicho espacio y el correspondiente teorema del límite central funcional. Mi propia impresión al escribir mi tesis (que era sobre procesos de Wiener multiparamétricos) era que los teoremas funcionales del límite central van de la mano del movimiento browniano, es decir, si puedes definir el movimiento browniano, puedes demostrar el FCLT.

Sin embargo, antes de profundizar en la literatura, aconsejaría encontrar una forma de generar una muestra aleatoria del espacio en el que se pretende trabajar. Esta podría ser la parte más difícil de la simulación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X