¿Las secuencias de baja discrepancia funcionan en espacios discretos?

9

Las secuencias de baja discrepancia en un espacio real ( ) parecen una herramienta realmente excelente para muestrear uniformemente un espacio muestral. Por lo que puedo decir, se generalizan bien a cualquier espacio real, si usa un mapa apropiado (por ejemplo, [0,1] \ a [a, b] mapa lineal).[0,1]n[0,1][a,b]

¿Se generalizan tales secuencias en espacios discretos? p.ej. si tengo un espacio que tiene solo dos elementos en cada dimensión (por ejemplo, interruptores booleanos), ¿puedo asignar [0,0.5]0; (0.5,1]1 ? ¿Qué pasa con las dimensiones con más elementos? (p. ej., ¿un interruptor de 4 estados?) ¿Y para espacios con diferente número de estados en cada dimensión?

Mi intuición dice que esto podría funcionar bien, especialmente si la subsecuencia es larga, pero que podría funcionar mejor para algunas secuencias que para otras, dependiendo del número de estados (por ejemplo, una secuencia de Halton podría tener interacciones extrañas con una dimensión con un número primo de estados, o una secuencia de Sobol ' solo podría funcionar para dimensiones con 2n elementos). Pero no he hecho ninguna prueba.

Si esto no funciona, ¿por qué no?

nada101
fuente

Respuestas:

2

¡La respuesta corta es sí! Puede funcionar, y es tan simple como multiplicar el vector por un número entero , y tomar la parte entera de cada uno de sus componentes.tn(0,1)dm

La respuesta más larga es que su intuición es correcta, que en la práctica tiene resultados mixtos dependiendo de la elección de:

  • qué secuencia eliges (Halton, Sobol, etc.)
  • los parámetros básicos (p. ej., 2,3,5, ...)
  • y en menor grado, el valor de .m

Sin embargo, recientemente escribí una publicación de blog detallada "La efectividad irracional de las secuencias cuasialeatorias , sobre cómo crear fácilmente una secuencia abierta de baja discrepancia en dimensiones arbitrarias, que es mucho más susceptible de discretización que las secuencias existentes de baja discrepancia existentes, como las secuencias de Halton y Kronecker.

La sección en la publicación llamada "Covering" trata específicamente su cuestión de discretizar las secuencias de baja discrepancia.

En los siguientes cuadros de la imagen (que indica un único punto reticular entero) con menos rojo implica una distribución más uniforme, ya que cada cuadrado rojo indica que la celda no contiene un punto azul. Uno puede ver claramente cómo incluso la secuencia distribuye puntos en comparación con otros métodos contemporáneos.R

Imagen: Secuencias discretas de baja discrepancia en dos dimensiones

La solución es un método de recurrencia aditivo (módulo 1) que generaliza el problema unidimensional cuya solución depende de la proporción áurea. La solución al problema -dimensional depende de una constante especial , donde es el valor del valor real positivo más pequeño de tal que dϕdϕdx

xd+1=x+1

Para ,  , que es la proporción dorada canónica.d=1ϕ1=1.618033989...

Para , , que a menudo se llama la constante plástica y tiene algunas propiedades hermosas. Se conjetura que este valor probablemente sea el valor óptimo para un problema bidimensional relacionado [Hensley, 2002].d=2ϕ2=1.3247179572...

Jacob Rus ha publicado una hermosa visualización de esta secuencia bidimensional de baja discrepancia, que se puede encontrar aquí .

Con esta constante especial en la mano, el cálculo de la término -ésimo es ahora extremadamente simple y rápido para calcular:n

R:tn=αα0+nαα(mod1),n=1,2,3,...
whereαα=(1ϕd,1ϕd2,1ϕd3,...1ϕdd),

Por supuesto, la razón por la que se llama secuencia de recurrencia es porque la definición anterior es equivalente a

R:tn+1=tn+αα(mod1)

En casi todos los casos, la elección de no cambia las características clave y, por razones de simplicidad obvia, es la opción habitual. Sin embargo, hay algunos argumentos, relacionados con la simetría, que sugieren que es una mejor opción.αα0αα0=00αα0=1/21/2

El código de Python es

# Use Newton-Rhapson-Method
def gamma(d):
    x=1.0000
    for i in range(20):
        x = x-(pow(x,d+1)-x-1)/((d+1)*pow(x,d)-1)
    return x

d=5
n=1000

# m can be any number.
# In the diagram above it is chosen to be exactly sqrt of n, 
# simply to to make the visualization more intuitive 
# so that ideally each cell should have exactly one dot.
m=10

g = gamma(d)
alpha = np.zeros(d)                 
for j in range(d):
    alpha[j] = pow(1/g,j+1) %1
z = np.zeros((n, d))    
c = (np.zeros((n,d)).astype(int)  

for i in range(n):
    z = (0.5 + alpha*(i+1)) %1
    c = (np.floor(m *z)).astype(int)
print(c)

¡Espero que ayude!

Martin Roberts
fuente
2

Si tiene un número finito de espacios, será mejor con una enumeración explícita de espacios posibles con un diseño de bloque incompleto equilibrado construido sobre ellos. Al final, las propiedades de las secuencias de baja discrepancia son asintóticas, con propiedades deseables logradas con las longitudes del orden donde es la dimensión de su espacio. Si el número de combinaciones posibles es menor que eso, puede tomar todas las combinaciones posibles y lograr un diseño equilibrado con eso.N6ss

Actualización: había un libro que discutía el uso de QMC para procesos de Poisson y ensayos de Bernoulli. Puede ser que encuentres algo útil allí, aunque en mi opinión está muy lejos de un buen valor por el dinero. Por $ 15, tal vez. Descubrí que es algo descuidado en algunos lugares, empujando las ideas del autor (a veces extrañas) en lugar de utilizar lo que se entiende como los mejores métodos en la literatura.

StasK
fuente
Buena respuesta general, Stask, pero solo aborda los supuestos detrás de mi pregunta, y no mi pregunta directamente. Gracias por señalar BIDB, pero todavía me gustaría saber si las secuencias de baja discrepancia funcionarían de la manera que estoy describiendo (esto puede ser solo una cuestión de aclaración sobre lo que quiere decir con "las propiedades ... son asintóticas).
naught101
Una pregunta aparte: ¿en qué se diferencia BIDB de los hipercubos latinos ortogonales? Parece básicamente lo mismo (aunque quizás provenga de diferentes ángulos). Además, ¿qué es QMC?
naught101