10 votos

¿Cómo generar puntos aleatorios en las bolas ell_p?

¿Cómo puedo generar una muestra aleatoria de una bola ell_p de n dimensiones? Específicamente, estoy interesado en p=1 y n grande. Estoy buscando descripciones análogas a la declaración para p=2: Tomar n variables aleatorias gaussianas estándar y normalizar.

23voto

EBGreen Puntos 981

Para p arbitrario, este documento hace exactamente lo que quieres. En concreto, elige $X_1,\ldots,X_n$ independientemente con densidad proporcional a $\exp(-|x|^p)$ et $Y$ una variable aleatoria exponencial independiente con media 1. Entonces el vector aleatorio $$\frac{(X_1,\ldots,X_n)}{(Y+\sum |X_i|^p)^{1/p}}$$ está uniformemente distribuida en la bola unitaria de $\ell_p^n$ .

El documento también muestra cómo generar algunas otras distribuciones en el $\ell_p^n$ modificando la distribución de $Y$ .

9voto

Robert Höglund Puntos 5572

Voy a suponer que usted está buscando un elegidos uniformemente punto al azar en la pelota, ya que no ha declarado lo contrario. Para p=1, estás pidiendo un punto aleatorio uniforme en la politopo cruzado en n dimensiones. Es decir, el conjunto

$ C_n = \{ x_1, x_2, \ldots, x_n \in \mathbb{R} : |x_1| + \cdots + |x_n| \le 1 \}. $

Por simetría, basta con elegir un punto al azar $(X_1, \ldots, X_n)$ del simplex

$ S_n = \{ x_1, x_2, \ldots, x_n \in \mathbb{R}^+ : x_1 + \cdots + x_n \le 1 \}$

y luego voltear $n$ monedas independientes para colocar carteles en el $x_i$ .

Del libro de Devroye Generación de variables aleatorias no uniformes (disponible gratuitamente en la web en el enlace anterior, véase la p. 207 cerca del principio del capítulo 5), podemos elegir un punto en el simplex uniformemente al azar mediante el siguiente procedimiento:

  • deje $U_1, \ldots, U_n$ sean variables aleatorias iid uniformes(0,1)
  • deje $V_1, \ldots, V_n$ sea el $U_i$ reordenados de forma que $V_1 \le V_2 \le \cdots \le V_n$ (las "estadísticas de pedidos"); que $V_0 = 0, V_{n+1} = 1$
  • deje $X_i = V_i - V_{i-1}$

Así que haz esto para elegir los valores absolutos de las coordenadas de tus puntos; coloca signos elegidos uniformemente al azar, y ya está.

Por supuesto, esto se basa en la estructura especial de las bolas en $\ell^1$ ; no sé cómo generalizarlo a arbitrariedades $p$ .

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