¿Distribuciones en subconjuntos de ?

9

Me pregunto si hay algún tipo de distribución estándar en subconjuntos de enteros . De manera equivalente, podríamos expresar esto como una distribución en un vector de longitud de resultados binarios, por ejemplo, si entonces corresponde al vector .{1,2,...,J}JJ=5{1,3,5}(1,0,1,0,1)

Idealmente, lo que estoy buscando es alguna distribución , que provenga de una familia indexada por un parámetro dimensional finito , que distribuya su masa de tal manera que dos vectores binarios y tengan un valor similar probabilidad si están "juntos" juntos, es decir, y tienen probabilidades similares. Realmente, lo que espero hacer es poner un prior en modo que si sé que es bastante grande, entonces probablemente sea grande en relación con los vectores muy alejados de .νθ()θr1r2r1=(0,0,1,0,1)r2=(0,0,1,1,1)θνθ(r1)νθ(r2)r1

Una estrategia que viene a la mente sería colocar una métrica o alguna otra medida de dispersión en en y luego tomar , o algo similar. Un ejemplo explícito sería en analogía con la distribución normal. Está bien, pero espero que haya algo estándar y susceptible de análisis bayesiano; con esto no puedo escribir la constante de normalización.dθ{0,1}Jνθ(r)exp(dθ(r,μ))exp{rμ2/(2σ2)}

chico
fuente
El muestreo de un subconjunto es un problema básico en la metodología de la encuesta.
Stéphane Laurent
@Stephane seguro, pero creo que mi problema difiere en que tengo una estructura adicional deseada que me gustaría que refleje mi distribución. Quizás formular una pregunta en términos de subconjuntos fue una mala idea, ya que tengo una vaga noción de distancia que funciona para mí.
chico
¿Querías escribir "... entonces es probablemente pequeño ..."? En cuanto a la constante de normalización, considere usar la distancia de Hamming para métrica: para familias de distribuciones a escala de ubicación, puede calcular esa constante como la suma de solo términos . Además, todas esas familias que cumplen con sus criterios se pueden describir con solo parámetros discretos (para la ubicación) y parámetros continuos. vθ(r2)J+1JJ
whuber
@whuber no, quise decir grande. Quiero para distribuir su masa alrededor de los puntos que están muy juntos. Probablemente hubiera sido más apropiado formular la pregunta como una distribución en los vértices de un hipercubo. Había considerado la distancia de Hamming (que supongo que es lo mismo que en mi caso); Probablemente quiera ajustarlo como, y supongo que probablemente tendría que hacer algo de MCMC para muestrear a partir de dicha distribución. νθ()L1|riμiσi|
chico
Oh, ya veo ahora. Pero eso no es lo que dijiste originalmente. Por ejemplo, en su caracterización, si es grande, y es el conjunto de vectores "muy lejos" de , y es cualquier vector que no esté en , entonces también debe "probablemente" ser grande Pero "no muy lejos" y "cerca" no significan exactamente las mismas cosas. Sería más simple, y más consistente internamente, reformular la condición como lo hizo en su comentario. Pero no, no necesita MCMC para tomar muestras de distribuciones a escala de ubicación basadas en distancias de Hamming: hay formas mucho más eficientes. ν(r1)Rr1r2Rν(r2)
whuber

Respuestas:

6

Puede favorecer a las familias de ubicación en función de la distancia de Hamming , debido a su riqueza, flexibilidad y capacidad de cálculo.


Notación y definiciones

Recuerde que en un módulo dimensión finita libre con base , la distancia de Hamming entre dos vectores y es El número de lugares donde .V(e1,e2,,eJ) δHv=v1e1++vJeJw=w1e1++wJeJiviwi

Dado cualquier origen , la distancia de Hamming divide en esferas , , donde . Cuando el anillo de tierra tiene elementos, tiene elementos y tiene elementos. (Esto se deduce inmediatamente de observar que los elementos de difieren de en exactamente lugares, de los cuales hayv0VVSi(v0)i=0,1,,JSi(v0)={wV | δH(w,v0)=i}nVnJSi(v)(Ji)(n1)iSi(v)vi(Ji)posibilidades, y que hay, independientemente, opciones de valores para cada lugar).n1

La traducción afina en actúa naturalmente en sus distribuciones para dar familias de ubicaciones. Específicamente, cuando es cualquier distribución en (lo que significa poco más que , para todos y ) y es cualquier elemento de , entonces también es una distribución dóndeVfVf:V[0,1]f(v)0vVvVf(v)=1wVf(w)

f(w)(v)=f(vw)

para todos . Un familias de de la distribución es invariante bajo esta acción: implica para todos .vV ΩfΩf(v)ΩvV

Construcción

Esto nos permite definir familias de distribuciones potencialmente interesantes y útiles especificando sus formas en un vector fijo , que por conveniencia tomaré como , y traduciendo estas "distribuciones generadoras" bajo la acción de para obtener la familia completa . Para lograr la propiedad deseada de que debería tener valores comparables en puntos cercanos, simplemente requiere esa propiedad de todas las distribuciones generadoras.v0=(0,0,,0)VΩf

Para ver cómo funciona esto, construyamos la familia de ubicaciones de todas las distribuciones que disminuyen con el aumento de la distancia. Como solo son posibles las distancias de Hamming , considere cualquier secuencia decreciente de números reales no negativos = . ConjuntoJ+1a0a0a1aJ0

A=i=0J(n1)i(Ji)ai

y defina la función porfa:V[0,1]

fa(v)=aδH(0,v)A.

Entonces, como es fácil de comprobar, es una distribución en . Además, si y solo si es un múltiplo positivo de (como vectores en ). Por lo tanto, si lo deseamos, podemos estandarizar a .faVfa=faaaRJ+1aa0=1

Por consiguiente, esta construcción proporciona una parametrización explícita de todas esas distribuciones invariantes de ubicación que disminuyen con la distancia de Hamming: cualquier distribución de este tipo tiene la forma para alguna secuencia y algunos vector .fa(v)a=1a1a2aJ0vV

Esta parametrización puede permitir una conveniente especificación de los anteriores: factorizarlos en un prior en la ubicación y un prior en la forma . (Por supuesto, uno podría considerar un conjunto mayor de antecedentes donde la ubicación y la forma no son independientes, pero esta sería una tarea más complicada).va

Generando valores aleatorios

Una forma de muestras de es por etapas factorizándolas en una distribución sobre el radiofrecuencia esférica y otra distribución condicional en cada esfera:fa(v)

  1. Dibuje un índice de la distribución discreta en dada por las probabilidades , donde se define como antes .i{0,1,,J}(Ji)(n1)iai/AA

  2. El índice corresponde al conjunto de vectores que difieren de en exactamente lugares. Por lo tanto, seleccione los que coloque fuera de los posibles subconjuntos , dando a cada uno la misma probabilidad. (Esto es sólo una muestra de subíndices de y sin reemplazo.) Que este subconjunto de lugares escribirse .ivii(Ji)iJ iI

  3. Dibuje un elemento seleccionando independientemente un valor uniformemente del conjunto de escalares que no sea igual a para todos y establezca . De manera equivalente, cree un vector seleccionando uniformemente al azar de los escalares distintos de cero cuando y estableciendo . Establezca .wwjvjjIwj=vjuujjIuj=0w=v+u

El paso 3 es innecesario en el caso binario.


Ejemplo

Aquí hay una Rimplementación para ilustrar.

rHamming <- function(N=1, a=c(1,1,1), n=2, origin) {
  # Draw N random values from the distribution f_a^v where the ground ring
  # is {0,1,...,n-1} mod n and the vector space has dimension j = length(a)-1.
  j <- length(a) - 1
  if(missing(origin)) origin <- rep(0, j)

  # Draw radii `i` from the marginal distribution of the spherical radii.
  f <- sapply(0:j, function(i) (n-1)^i * choose(j,i) * a[i+1])
  i <- sample(0:j, N, replace=TRUE, prob=f)

  # Helper function: select nonzero elements of 1:(n-1) in exactly i places.
  h <- function(i) {
    x <- c(sample(1:(n-1), i, replace=TRUE), rep(0, j-i))
    sample(x, j, replace=FALSE)
  }

  # Draw elements from the conditional distribution over the spheres
  # and translate them by the origin.
  (sapply(i, h) + origin) %% n
}

Como ejemplo de su uso:

test <- rHamming(10^4, 2^(11:1), origin=rep(1,10))
hist(apply(test, 2, function(x) sum(x != 0)))

Esto tomó segundos para dibujar elementos iid de la distribución donde , (el caso binario), y está disminuyendo exponencialmente.0.2104fa(v)J=10n=2v=(1,1,,1)a=(211,210,,21)

(Este algoritmo no requiere que esté disminuyendo; por lo tanto, generará variaciones aleatorias de cualquier familia de ubicaciones, no solo las unimodales).a

whuber
fuente
¡Gracias por esto! La distancia de Hamming en este caso es solo en restringida a las verticies del cubo; en ese contexto, la distancia de Hamming está actuando isotrópicamente. Supongo que alejarse de eso complica estas cosas porque tengo más de valores diferentes para mi medida de distancia. ¿Algún comentario general sobre esto? L1RJJ
chico
Sí: una selección de funciones de distancia dependerá de lo que representen los valores en . Debido a que la pregunta se ha formulado de manera abstracta, realmente no tenemos nada para seguir formando opiniones sobre cuáles serían buenas opciones. La distancia de Hamming sería apropiada para valores nominales y quizás también en otros casos, pero otras distancias podrían funcionar mejor cuando existe un sentido inherente de distancia para el conjunto . En el caso binario , es difícil generalizar las distancias de Hamming: ya son bastante generales. {1,2,,n}{1,2,,n}n=2
whuber
1

Una muestra de un proceso de punto k-determinante modela una distribución sobre subconjuntos que fomenta la diversidad, de modo que es menos probable que elementos similares ocurran juntos en la muestra. Consulte el muestreo del proceso del punto K-determinante por Alex Kulesza, Ben Taskar.

coche fúnebre
fuente