Distribuzioni su sottoinsiemi di ?


9

Mi chiedo se ci siano tipi di distribuzioni standard su sottoinsiemi di numeri interi . Allo stesso modo, potremmo esprimere questo come una distribuzione su un vettore di lunghezza di esiti binari, ad esempio se allora corrisponde al vettore .{1,2,...,J}JJ=5{1,3,5}(1,0,1,0,1)

Idealmente quello che sto cercando è una distribuzione , proveniente da una famiglia indicizzata da un parametro dimensionale finito , che distribuisca la sua massa in modo che due vettori binari e abbiano simili probabilità se sono "vicini" insieme, cioè e hanno probabilità simili. In realtà, ciò che mi propongo di fare, spero, sia un precedente su tale che se so che è abbastanza grande, allora è probabilmente grande rispetto ai vettori lontani da .νθ()θr1r2r1=(0,0,1,0,1)r2=(0,0,1,1,1)θνθ(r1)νθ(r2)r1

Una strategia che viene in mente sarebbe quella di mettere una metrica o qualche altra misura di dispersione su su e quindi prendere \ nu_ \ theta (r) \ propto \ exp (-d_ \ theta (r, \ mu)) o qualcosa di simile. Un esempio esplicito sarebbe \ exp \ left \ {- \ | r - \ mu \ | ^ 2 / (2 \ sigma ^ 2) \ right \} in analogia con la distribuzione normale. Va bene, ma spero che ci sia qualcosa di standard e suscettibile all'analisi bayesiana; con questo non riesco a scrivere la costante normalizzante.dθ{0,1}Jνθ(r)exp(dθ(r,μ))exp{rμ2/(2σ2)}


Il campionamento di un sottoinsieme è un problema di base nella metodologia di indagine.
Stéphane Laurent,

@Stephane certo, ma penso che il mio problema differisca dal fatto che ho qualche struttura aggiuntiva desiderata che vorrei che la mia distribuzione riflettesse. Forse formulare la domanda in termini di sottoinsiemi è stata una cattiva idea poiché ho una vaga nozione di lavoro a distanza per me.
ragazzo,

Intendevi scrivere "... allora è probabilmente piccolo ..."? Per quanto riguarda la costante normalizzante, prendi in considerazione l'uso della distanza di Hamming per la metrica: per le famiglie di distribuzioni su scala di posizione, puoi calcolare quella costante come la somma di soli termini. Inoltre, tutte queste famiglie che soddisfano i tuoi criteri possono essere descritte da soli parametri discreti (per la posizione) e parametri continui. J + 1 J Jvθ(r2)J+1JJ
whuber

@whuber no, volevo dire grande. Voglio che distribuisca la sua massa attorno a punti vicini tra loro. Probabilmente sarebbe stato più appropriato definire la domanda come una distribuzione sui vertici di un ipercubo. Avevo considerato la distanza di Hamming (che credo sia la stessa di nel mio caso); Probabilmente vorrei modificarlo comee immagino che probabilmente dovremmo fare un po 'di MCMC per campionare da una tale distribuzione. L 1| r i - μ iνθ()L1|riμiσi|
ragazzo

Oh, vedo adesso. Ma non è quello che hai detto in origine. Ad esempio, nella tua caratterizzazione, se è grande e è l'insieme di vettori "molto lontano" da , e è qualsiasi vettore non in , allora anche deve "probabilmente" essere grande. Ma "non lontano" e "vicino" non significano esattamente le stesse cose. Sarebbe più semplice - e più coerente internamente - riformulare la condizione come hai fatto nel tuo commento. Ma no, non è necessario MCMC per campionare da distribuzioni su scala di posizione basate sulle distanze di Hamming: ci sono modi molto più efficienti. R r 1 r 2 R ν ( r 2 )ν(r1)Rr1r2Rν(r2)
whuber

Risposte:


6

Potresti favorire le famiglie di località in base alla distanza di Hamming , a causa della loro ricchezza, flessibilità e trattabilità computazionale.


Notazione e definizioni

Ricordiamo che in un modulo libero di dimensioni finite con base , la distanza di Hamming tra due vettori e è il numero di posti cui .( e 1 , e 2 , , e J ) δ H v = v 1 e 1 + + v J e J w = w 1 e 1 + + w J e J i v iw iV(e1,e2,,eJ) δHv=v1e1++vJeJw=w1e1++wJeJiviwi

Data l'origine , la distanza di Hamming suddivide nelle sfere , , dove . Quando l'anello di terra ha elementi, ha elementi e ha elementi. (Ciò segue immediatamente dall'osservazione che gli elementi di differiscono da in esattamente punti - di cui ci sonoV S i ( v 0 )i=0,1,,J S i ( v 0 )={ wV | δ H ( w , v 0 )=i}nV n J S i ( v ) ( Jv0VVSi(v0)i=0,1,,JSi(v0)={wV | δH(w,v0)=i}nVnJSi(v)Si(v)vi ( J(Ji)(n1)iSi(v)vi n-1(Ji)possibilità - e che ci siano, indipendentemente, scelte di valori per ogni luogo.)n1

La traduzione affine in agisce naturalmente sulle sue distribuzioni per dare alle famiglie della posizione. In particolare, quando è una distribuzione su (che significa poco più di , per tutti e ) e è qualsiasi elemento di , quindi è anche una distribuzione dovef V f : V [ 0 , 1 ] f ( v ) 0 vV vV f ( v ) = 1 w V f ( w )VfVf:V[0,1]f(v)0vVvVf(v)=1wVf(w)

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

per tutti . Una famiglia posizione di distribuzioni è invariante per questa azione: implica per tutti .Ω f Ω f ( v )Ω vVvV ΩfΩf(v)ΩvV

Costruzione

Questo ci consente di definire famiglie di distribuzioni potenzialmente interessanti e utili specificando le loro forme in un vettore fisso , che per comodità prenderò per essere e traducendo queste "generazioni di distribuzioni" sotto l'azione di per ottenere l'intera famiglia . Per ottenere la proprietà desiderata che dovrebbe avere valori comparabili in punti vicini, è sufficiente richiedere quella proprietà di tutte le distribuzioni generatrici.0 = ( 0 , 0 , , 0 ) V Ω fv0=(0,0,,0)VΩf

Per vedere come funziona, costruiamo la famiglia di posizioni di tutte le distribuzioni che diminuiscono con l'aumentare della distanza. Poiché sono possibili solo le distanze di Hamming , considerare qualsiasi sequenza decrescente di numeri reali non negativi = . Impostatoa 0 a 0a 1a J0J+1a0a0a1aJ0

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

e definire la funzione dafa:V[0,1]

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

Poi, come è facile da controllare, è una distribuzione su . Inoltre, if e only if è un multiplo positivo di (come vettori in ). Pertanto, se ci piace, possiamo standardizzare in . V f a = f a aa R J + 1 a a 0 = 1faVfa=faaaRJ+1aa0=1

Di conseguenza, questa costruzione fornisce una parametrizzazione esplicita di tutte queste distribuzioni invarianti di posizione che stanno diminuendo con la distanza di Hamming: tale distribuzione è nella forma per qualche sequenza e alcuni vettoriale . a = 1 a 1a 2a J0 vVfa(v)a=1a1a2aJ0vV

Questa parametrizzazione può consentire una specifica specifica dei priori: fattorizzarli in un precedente nella posizione e in un precedente nella forma . (Naturalmente si potrebbe considerare un gruppo più ampio di priori in cui posizione e forma e non indipendenti, ma sarebbe un'impresa più complicata.)ava

Generazione di valori casuali

Un modo per campionare da è per fasi fattorizzandolo in una distribuzione sul raggio sferico e un'altra distribuzione condizionata a ciascuna sfera:fa(v)

  1. Traccia un indice dalla distribuzione discreta su dato dalle probabilità , dove è definito come prima .{ 0 , 1 , ... , J } ( Ji{0,1,,J}A(Ji)(n1)iai/AA

  2. L'indice corrisponde all'insieme di vettori che differisce da in esattamente posti. Quindi, selezionare quelli luoghi fuori dal possibili sottoinsiemi, dando ad ogni probabilità uguali. (Questo è solo un esempio indici di senza sostituzione.) Sia questo sottogruppo posti essere scritto .v i i ( Jivii iJiI(Ji)iJ iI

  3. Disegna un elemento selezionando in modo indipendente un valore uniformemente dall'insieme di scalari non uguale a per tutti e altrimenti imposta . Equivalentemente, crea un vettore selezionando uniformemente a caso dagli scalari diversi da zero quando e impostando altrimenti . Impostare .w j v jwwjvjw j = v j u u j j I u j = 0 w = v + ujIwj=vjuujjIuj=0w=v+u

Il passaggio 3 non è necessario nel caso binario.


Esempio

Ecco Run'implementazione per illustrare.

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
}

Come esempio del suo utilizzo:

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

Ci sono voluti secondi per disegnare elementi iid dalla distribuzione dove , (il caso binario), e sta diminuendo esponenzialmente.10 4 f0.2104 J=10n=2v=(1,1,,1)a=(211,210,,21)fa(v)J=10n=2v=(1,1,,1)a=(211,210,,21)

(Questo algoritmo non richiede che stia diminuendo; quindi, genererà variate casuali da qualsiasi famiglia di località, non solo da quelle unimodali.)a


Grazie per questo! La distanza di hamming in questo caso è solo in limitata ai cubi verticali; in quel contesto, la distanza di Hamming agisce isotropicamente. Allontanarsi da questo immagino complica queste cose perché ho più di valori diversi per la mia misura di distanza? Qualche commento generale su questo? R J JL1RJJ
ragazzo

Sì: una scelta di funzioni di distanza dipenderà da ciò che rappresentano i valori in . Poiché la domanda è stata formulata in modo astratto, non abbiamo davvero nulla da fare per formare opinioni su quali sarebbero le buone scelte. La distanza di Hamming sarebbe appropriata per i valori nominali e forse anche in altri casi, ma altre distanze potrebbero funzionare meglio quando c'è un senso intrinseco della distanza per l'insieme . Nel caso binario , è difficile generalizzare le distanze di Hamming: sono già abbastanza generali. { 1 , 2 , , n } n = 2{1,2,,n}{1,2,,n}n=2
whuber

1

Un campione da un processo a punto determinante k modella una distribuzione su sottoinsiemi che incoraggia la diversità, in modo che elementi simili abbiano meno probabilità di presentarsi insieme nel campione. Fare riferimento al campionamento del processo del punto determinante K di Alex Kulesza, Ben Taskar.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.