Distributions sur des sous-ensembles de

9

Je me demande s'il y a toutes sortes de distributions standard sur des sous - ensembles d'entiers {1,2,...,J} . De manière équivalente, nous pourrions exprimer cela comme une distribution sur un vecteur de longueur J de résultats binaires, par exemple si J=5 alors {1,3,5} correspond au vecteur (1,0,1,0,1) .

Idéalement, ce que je recherche, c'est une distribution νθ() , provenant d'une famille indexée par un paramètre de dimension finie θ , qui répartirait sa masse de telle manière que deux vecteurs binaires r1 et r2 auront une probabilité similaire si ils sont "proches", c'est-à-dire r1=(0,0,1,0,1) et r2=(0,0,1,1,1) ont des probabilités similaires. Vraiment, ce que j'espère faire, c'est mettre un a priori surθ telle sorte que si je sais queνθ(r1) est assez grand, alorsνθ(r2) est probablement grand par rapport à des vecteurs éloignés der1 .

dθ{0,1}Jνθ(r)exp(dθ(r,μ))exp{rμ2/(2σ2)}

gars
la source
L'échantillonnage d'un sous-ensemble est un problème fondamental de la méthodologie d'enquête.
Stéphane Laurent
@ Stéphane bien sûr, mais je pense que mon problème diffère en ce que j'ai une structure supplémentaire souhaitée que je voudrais que ma distribution reflète. Peut-être que la formulation de la question en termes de sous-ensembles était une mauvaise idée car j'ai une vague notion de travail à distance pour moi.
gars
Vouliez-vous écrire "... alors est probablement petit ..."? En ce qui concerne la constante de normalisation, envisagez d'utiliser la distance de Hamming pour la métrique: pour les familles de distributions à l'échelle de l'emplacement, vous pouvez calculer cette constante comme la somme de seulement J + 1 termes. De plus, toutes ces familles qui répondent à vos critères peuvent être décrites par seulement paramètres discrets (pour l'emplacement) et paramètres continus. vθ(r2)J+1JJJ
whuber
@whuber non, je voulais dire grand. Je veux que distribue sa masse autour de points proches les uns des autres. Il aurait probablement été plus approprié de formuler la question comme mettant une distribution sur les sommets d'un hypercube. J'avais considéré la distance de Hamming (qui, je suppose, est la même que L 1 dans mon cas); Je voudrais probablement le modifier comme, et je suppose qu'il faudrait probablement faire quelques MCMC pour échantillonner à partir d'une telle distribution. νθ()L1|riμiσi|
gars
Oh, je vois maintenant. Mais ce n'est pas ce que vous avez dit à l'origine. Par exemple, dans votre caractérisation, si est grand, et est l'ensemble des vecteurs "loin" de , et est tout vecteur qui n'est pas dans , alors doit également "probablement" être grand. Mais «pas loin» et «près» ne signifient pas exactement les mêmes choses. Il serait plus simple - et plus cohérent en interne - de reformuler la condition comme vous l'avez fait dans votre commentaire. Mais non, vous n'avez pas besoin de MCMC pour échantillonner à partir de distributions à l'échelle de l'emplacement basées sur les distances de Hamming: il existe des moyens beaucoup plus efficaces. R r 1 r 2 R ν ( r 2 )ν(r1)Rr1r2Rν(r2)
whuber

Réponses:

6

Vous pouvez privilégier les familles d'emplacement basées sur la distance de Hamming , en raison de leur richesse, de leur flexibilité et de leur facilité de calcul.


Notation et définitions

Rappelons que dans un module libre de dimension finie à base ( e 1 , e 2 , , e J ) , la distance de Hamming δ H entre deux vecteurs v = v 1 e 1 + + v J e J et w = w 1 e 1 + + w J e J est le nombre de places iv iV(e1,e2,,eJ) δHv=v1e1++vJeJw=w1e1++wJeJi .viwi

Étant donné n'importe quelle origine , la distance de Hamming partitionne V en sphères S i ( v 0 ) , i = 0 , 1 , , J , où S i ( v 0 ) = { wV | δ H ( w , v 0 ) = i } . Lorsque l'anneau de masse a n éléments, V av0VVSi(v0)i=0,1,,JSi(v0)={wV | δH(w,v0)=i}nV éléments et S i ( v ) ontelements. (Cela découle immédiatement de l'observation que les éléments dediffèrent deà exactementendroits - dont il existe despossibilités- et qu'il y a, indépendamment,choix de valeurs pour chaque lieu.)nJSi(v)Si(v)vi ( J(Ji)(n1)iSi(v)vi n-1(Ji)n1

La traduction affine en agit naturellement sur ses distributions pour donner des familles de localisations. Plus précisément, lorsque est une distribution sur (ce qui signifie un peu plus que , pour tous , et ) et est n'importe quel élément de , alors est également une distribution oùf V f : V [ 0 , 1 ] f (VfVf:V[0,1]vV vV f ( v ) = 1 w V f ( w )f(v)0vVvVf(v)=1wVf(w)

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

pour tous . Une situation familiale des distributions est invariante par cette action: implique pour tous .Ω f Ω f ( v )Ω vVvV ΩfΩf(v)ΩvV

Construction

Cela nous permet de définir des familles de distributions potentiellement intéressantes et utiles en spécifiant leurs formes dans un vecteur fixe , que pour plus de commodité je considérerai comme , et traduire ces "distributions génératrices" sous l'action de pour obtenir la famille complète . Pour obtenir la propriété souhaitée que devrait avoir des valeurs comparables aux points voisins, il suffit d'exiger cette propriété de toutes les distributions génératrices.0 = ( 0 , 0 , , 0 ) V Ω fv0=(0,0,,0)VΩf

Pour voir comment cela fonctionne, construisons la famille d'emplacement de toutes les distributions qui diminuent avec l'augmentation de la distance. Étant donné que seules les distances de Hamming sont possibles, considérez toute séquence décroissante de nombres réels non négatifs = . Ensemblea 0 a 0a 1a J0J+1a0a0a1aJ0

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

et définir la fonction parfa:V[0,1]

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

Puis, comme il est facile de vérifier, est une distribution sur . De plus, si et seulement si est un multiple positif de (comme vecteurs dans ). Ainsi, si nous le souhaitons, nous pouvons standardiser à . V f a = ffaV aaRJ+1aa0=1fa=faaaRJ+1aa0=1

En conséquence, cette construction donne un paramétrage explicite de toutes ces distributions invariantes de localisation qui diminuent avec la distance de Hamming: toute distribution de ce type est sous la forme pour une séquence et un vecteur . a=1a1a2aJ0vVfa(v)a=1a1a2aJ0vV

Ce paramétrage peut permettre une spécification pratique des a priori: factorisez-les en un a priori sur l'emplacement et un a priori sur la forme . (Bien sûr, on pourrait envisager un ensemble plus important de prieurs où l'emplacement et la forme ne sont pas indépendants, mais ce serait une entreprise plus compliquée.)ava

Génération de valeurs aléatoires

Une façon d'échantillonner à partir de est par étapes en le factorisant dans une distribution sur le rayon sphérique et une autre distribution conditionnelle à chaque sphère:fa(v)

  1. Dessinez un indice partir de la distribution discrète sur donné par les probabilités , où est défini comme précédemment .{ 0 , 1 , , J } ( Ji{0,1,,J}A(Ji)(n1)iai/AA

  2. L'index correspond à l'ensemble des vecteurs différents de à exactement endroits. Par conséquent, sélectionnez ceux que place parmi les sous-ensembles possibles, en donnant à chaque probabilité égale. (Ceci est juste un échantillon de Subscripts sur sans remplacement.) Que ce sous - ensemble de lieux écrire .v i i ( Jivii iJiI(Ji)iJ iI

  3. Dessinez un élément en sélectionnant indépendamment une valeur uniformément dans l'ensemble de scalaires non égal à pour tout et sinon définissez . De manière équivalente, créez un vecteur en sélectionnant uniformément au hasard parmi les scalaires non nuls lorsque et en définissant autrement . Définissez .w j v j j I w j = v j u u j j wwjvjjIwj=vjuuju j = 0 w = v + ujIuj=0w=v+u

L'étape 3 n'est pas nécessaire dans le cas binaire.


Exemple

Voici une Rimplémentation à illustrer.

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
}

À titre d'exemple de son utilisation:

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

Cela a pris seconde pour dessiner éléments iid de la distribution où , (le cas binaire), et diminue de façon exponentielle.10 4 f ( v ) a J = 10 n = 2 v = (0.2104fa(v)J=10n=2a = ( 2 11 , 2 10 , , 2 1 )v=(1,1,,1)a=(211,210,,21)

(Cet algorithme ne nécessite pas que diminue; ainsi, il générera des variations aléatoires à partir de n'importe quelle famille d'emplacement, pas seulement celles unimodales.)a

whuber
la source
Merci pour cela! La distance de Hamming dans ce cas est juste dans limitée aux sommets du cube; dans ce contexte, la distance de Hamming agit de manière isotrope. S'éloigner de cela, je suppose, complique ces choses parce que j'ai plus de valeurs différentes pour ma mesure de distance? Avez-vous des commentaires généraux à ce sujet? R J JL1RJJ
gars
Oui: un choix de fonctions de distance dépendra de ce que représentent les valeurs dans . Parce que la question a été formulée de manière abstraite, nous n'avons vraiment rien à faire pour nous forger une opinion sur ce qui serait un bon choix. La distance de Hamming serait appropriée pour les valeurs nominales et peut-être aussi dans d'autres cas, mais d'autres distances pourraient mieux fonctionner lorsqu'il existe un sens inhérent de la distance pour l'ensemble . Dans le cas binaire , il est difficile de généraliser les distances de Hamming: elles sont déjà assez générales. { 1 , 2 , , n } n = 2{1,2,,n}{1,2,,n}n=2
whuber
1

Un échantillon d'un processus ponctuel k-déterminant modélise une distribution sur des sous-ensembles qui encourage la diversité, de sorte que des éléments similaires sont moins susceptibles de se produire ensemble dans l'échantillon. Reportez-vous à l'échantillonnage du processus ponctuel déterminant K par Alex Kulesza, Ben Taskar.

corbillard
la source