Utilizando variables multivariadas distribuidas homogéneamente
Taeke proporciona un enlace a un artículo que el texto a continuación hace más intuitivo al explicar específicamente los casos de 2 y 1 norma.
2-norma ∥ x ∥2≤ r
dirección de muestra
Puede usar este resultado http://mathworld.wolfram.com/HyperspherePointPicking.html
Una variable distribuida gaussiana multivariada (con matriz de covarianza de identidad) depende solo de la distancia o suma de cuadrados.X
F( X1, X2, . . . , Xnorte) = ∏1 ≤ i ≤ n12 π--√mi12X2yo= 12 π--√mi12∑1 ≤ i ≤ nX2yo
Así se distribuye uniformemente en la superficie de la hiperesfera n-dimensional.X∥ X∥2
distancia de muestra
Para completar solo necesita muestrear la distancia, para cambiar la distribución homogénea en la esfera a una distribución homogénea en una bola. (que es más o menos similar a su ejemplo vinculado para la selección de puntos de disco)
Si simplemente muestreara como una distribución uniforme, entonces tendría una densidad relativamente mayor cerca del centro (el volumen se escala como r n, por lo que una fracción r de los puntos terminaría en un volumen r n , que es más denso cerca del centro y no significaría una distribución uniforme)rrnorterrnorte
Si, por el contrario, utiliza la raíz -ésima de una variable muestreada a partir de una distribución uniforme, obtendrá una distribución uniforme.norte
∥ x ∥1≤ r
dirección
XXEl | XEl |1
No tengo pruebas formales, solo intuición
F( x ) dVF( x ) dUNA
pero las pruebas con simulaciones se ven bien.
library(rmutil)
x <- abs(rlaplace(20000))
y <- abs(rlaplace(20000))
z <- abs(rlaplace(20000))
rn <- abs(x)+abs(y)+abs(z)
xi <- (x/rn)
yi <- (y/rn)
zi <- (z/rn)
plot(sqrt(0.5)*(xi-yi),
sqrt((0.5-0.5*(xi+yi))^2+zi^2),
pc=21,bg=rgb(0,0,0,0.02), col=rgb(0,0,0,0),cex=1)
distancia
rnorte
∥ x ∥pag≤ r
F( x ) ∝ eEl | x |pagG ( )