Peut-on estimer la taille d'un sous-ensemble X d'un ensemble A, en échantillonnant au hasard des sous-ensembles de A?

8

Laissez un ensemble fini et supposons que nous voulons calculer la taille de certains sous - ensemble .AX

Motivation : si nous pouvons générer des éléments de uniformément au hasard, alors nous pouvons estimer la taille de par échantillonnage aléatoire. Autrement dit, nous prenons échantillons aléatoires de , si d'entre eux appartiennent à , alors . Malheureusement, pour ce que je fais, généralementest massif et(bien qu'énorme) est assez petit par rapport à. Donc, si j'essaie d'effectuer l'estimation ci-dessus, je suis susceptible d'obtenir , ce qui, bien qu'il ne soit pas inutile, n'est pas vraiment satisfaisant.xAAnAmX|X|/|UNE|m/n|UNE||X||UNE|m=0

Donc, j'ai une idée que j'espère accélérer ce processus. Au lieu de lancer des fléchettes sur un jeu de fléchettes massif, pourquoi je ne lance pas de balles? Autrement dit, au lieu d'éléments d' échantillonnage , nous sous - ensembles de l' échantillon . Je devrais sûrement être en mesure de déduire quelque chose sur la densité de dans partir de cette expérience.XUNEUNEXUNE

Supposons que est équipé d'une métrique (je pense à la distance de Hamming). Pour tout soit soit la boule fermée de rayon dans centrée sur . Puisque nous pouvons échantillonner les éléments uniformément au hasard, nous pouvons échantillonner k- boules Y_k (t) uniformément au hasard.UNE(X,y)yUNEOui(y)={XUNE:(X,y)k}kUNEtXUNEkOuik(t)

Supposons que (a) chaque XUNE appartient exactement au même nombre de k balles et (b) que chaque k ball ait la même taille r .

Supposons maintenant que je génère boules uniformément au hasard et supposons. Il semble que nous pouvons estimerd'une manière similaire, c'est-à-dire .kOui1,Oui2,,Ouinm=je=1n|OuijeX||UNE||X|/|UNE|mrn

Mes questions sont donc:

Ai-je raison de dire que nous pouvons approximerpar ici? Si oui, je doute que je sois le premier à y penser, alors y a-t-il un nom pour cette méthode?|X|

J'ai effectivement testé cela sur certains sets, et cela semble correspondre à ce que je prétends.

Y a-t-il des inconvénients à cette approche? (par exemple, est-il moins précis? ai-je besoin de plus d'échantillons?)

Douglas S. Stones
la source
Je pense que vous avez commis une légère erreur dans le deuxième paragraphe: . Sinon, ce que vous faites est en train de réinventer l'intégration de Monte Carlo, eh bien, la version de sous-ensemble que je n'ai pas encore rencontrée, mais je ne serais pas surpris si c'est déjà fait. |X|/|A|m/n
Raskolnikov
Merci, oui, c'était une erreur (en fait, il y en a eu une plus tard aussi).
Douglas S. Stones,

Réponses:

3

OK, essayez de lire la page wikipedia pour l' intégration de Monte Carlo . Vous verrez qu'ils mentionnent une version stratifiée. La stratification est le terme technique dans les statistiques pour ce que vous essayez: subdiviser en sous-ensembles (sous-échantillons). Je suppose que les références peuvent vous aider davantage.

Raskolnikov
la source
3

Pour tout sous-ensemble Y de A, laisser π(Y)être la probabilité que vous le sélectionniez dans votre échantillonnage. Vous avez décrit une variable aléatoire

f(Y)=|YX|.

Le total def dans la population de sous-ensembles de A est

τ(X)=YA|YX|=2|A|1|X|.

À partir d'un échantillon (avec remplacement) de sous-ensembles de A, dire Y1,Y2,,Ym, l' estimateur Hansen-Hurwitz obtient une estimation non biaisée de ce total

F^π=je=1m|OuijeX|π(Ouije).

En divisant cela par 2|UNE|-1|UNE| estime donc |X|/|UNE|. La variance deF^π est

Var(F^π)=1mOuiUNEπ(Oui)(|OuiX|π(Oui)-2|UNE|-1|X|)2.

En divisant cela par 22(|UNE|-1)|UNE|2 donne la variance d'échantillonnage de |X|/|UNE|. DonnéUNE, X, et une procédure d'échantillonnage proposée (qui précise π(Oui) pour tous YA), choisissez une valeur de m (la taille de l'échantillon) pour laquelle la variance d'estimation devient suffisamment faible.

whuber
la source
génial, je suppose que c'est la réponse! Je ne connaissais pas Hansen-Hurwitz ...
Robin Girard
2

Je suppose que votre mesure est finie. WLOG ça peut être une probabilité.

La première procédure que vous mentionnez est la bonne vieille estimation de probabilité empirique :

P^(YX)=|{xiX}|/n

(L'estimation montecarlo d'une intégration est également une bonne interprétation). En haute dimension cela ne fonctionne pas car{xiX}est susceptible d'être vide pour un A. typique. Comme vous l'avez remarqué, vous devez être régularisé. Le degré de sophistication dont vous avez besoin est lié à la dimension de votre espace.

Une idée est d'agrandir X ou même donner un poids à xi ce n'est pas dans X en fonction de sa distance à X, c'est ce que j'appellerais une estimation de probabilité de noyau (par analogie avec une estimation de densité de noyau ):

P^(YX)=1/(c(k)n)iK(d(xi,X)/k)

K est un noyau qui s'intègre à 1 (dans votre cas, cela peut être K(x)=1{x1} mais le noyau gaussien a de bonnes propriétés) et c(k) une constante de normalisation bien choisie (c'est-à-dire telle que P^(YA)=1).

Robin Girard
la source