Existe-t-il une distribution univariée à partir de laquelle nous ne pouvons pas échantillonner?

12

Nous avons une grande variété de méthodes de génération aléatoire à partir de distributions univariées (transformation inverse, acceptation-rejet, Metropolis-Hastings, etc.) et il semble que nous pouvons échantillonner à partir de n'importe quelle distribution valide - est-ce vrai?

Pourriez-vous fournir un exemple de distribution univariée impossible à générer de manière aléatoire? Je suppose que cet exemple où il est impossible n'existe pas (?), Alors disons que par "impossible", nous entendons également des cas qui sont très coûteux en calcul, par exemple qui nécessitent des simulations de force brute comme le dessin d'énormes quantités d'échantillons pour accepter juste un peu d'entre eux.

Si un tel exemple n'existe pas, pouvons-nous réellement prouver que nous pouvons générer des tirages aléatoires à partir de n'importe quelle distribution valide? Je suis simplement curieux de savoir s'il existe un contre-exemple pour cela.

Tim
la source
6
Cela se résume vraiment à ce que vous entendez par «impossible / impossible», je pense. Il y a des cas où le cdf et le pdf sont très chers à évaluer, par exemple, ce qui rendrait la plupart des méthodes prohibitives, et il n'est pas difficile de trouver des formes de distribution où de bonnes limites d'enveloppe sur le pdf (pour une acceptation-rejet qui évite surtout l’évaluation des fonctions) ne sont pas facilement disponibles. Donc, cela échouerait dans le cas où vous excluez déjà et nous pourrions rendre encore plus cher (par écart, en moyenne) à calculer que l'utilisation d'accepter-rejeter (ce qui exclurait d'essayer d'utiliser l'inversion numérique du cdf)F
Glen_b -Reinstate Monica
3
Nous ne pouvons pas tirer d'échantillons aléatoires uniformes de l'ensemble des nombres irrationnels sur l'intervalle (0,1) à l'aide d'un ordinateur. La preuve est laissée comme exercice au lecteur.
Cliff AB
2
@Cliff AB Cela peut être géré par arithmétique d'intervalle. Définissez un intervalle (le plus petit) autour de chaque point évaluable (rationnel) par ordinateur de telle sorte que l'intégralité de [0,1] soit couverte par ces intervalles. Pour chaque "uniforme" évaluable calculé par ordinateur, évaluez t (avec arrondi vers l'extérieur) l'intervalle inverse de la fonction de distribution cumulative sur cet argument d'intervalle. Cela produira un échantillon d'intervalle de la variable aléatoire, garanti à 100% pour contenir le véritable échantillon.
Mark L. Stone
2
Ce à quoi je veux en venir, c'est que vous considérez déjà suffisamment inefficace, acceptez le rejet comme "impossible", si vous faites en sorte qu'il soit suffisamment coûteux pour que toute autre approche que vous connaissez soit pire (nécessite plus de calculs), vous considérerez probablement ces "impossibles" également. Construire des F et des F coûteux à évaluer n'est pas si difficile, et les rendre afin que des moyens évidents d'éviter de calculer réellement la plupart du temps soit également inefficace semble être possible``, ctd
Glen_b -Reinstate Monica
1
ctd ... (mais collectivement, les gens sont assez ingénieux, donc ce qui semble très difficile un jour peut être faisable si vous trouvez une bonne idée qui contourne la plupart du problème). Si nous disons que «l'approximation de telle ou telle précision est bonne», alors beaucoup de ces difficultés peuvent être contournées dans de nombreux cas (par exemple, on pourrait être en mesure de construire de grandes tables de recherche / génération à partir d'histogrammes, par exemple, telles que la plupart du temps vous générez des valeurs approximatives assez rapidement).
Glen_b -Reinstate Monica

Réponses:

15

Si vous connaissez la fonction de distribution cumulative, , vous pouvez l'inverser, que ce soit analytiquement ou numériquement, et utiliser la méthode d'échantillonnage à transformation inverse pour générer des échantillons aléatoires https://en.wikipedia.org/wiki/Inverse_transform_sampling .F(x)

Définissez . Cela gérera toute distribution, qu'elle soit continue, discrète ou toute combinaison. Cela peut toujours être résolu numériquement, et peut-être analytiquement. Soit U un échantillon d'une variable aléatoire distribuée comme Uniforme [0,1], c'est-à-dire d'un générateur de nombres aléatoires [0,1] uniforme. Alors F - 1 ( U ) , défini comme ci-dessus, est un échantillon aléatoire d'une variable aléatoire ayant la distribution F ( x ) . F1(y)=inf(x:F(x)y)F1(U)F(x)

Ce n'est peut-être pas le moyen le plus rapide de générer des échantillons aléatoires, mais c'est un moyen, en supposant que F (x) est connu.

Si F (x) n'est pas connu, alors c'est une autre histoire.

Mark L. Stone
la source
2
Si n'est pas connu, alors qu'est-ce qui est connu? Évidemment, cela est pertinent. Si vous ne savez rien, vous ne pourrez rien faire. Si vous savez quelque chose, alors cela dépend de ce qu'est ce quelque chose.F(x
Mark L. Stone
@Tim En fait, il est assez courant que nous ne connaissions pas F (X), mais nous pouvons en générer des échantillons. Il s'agit d'un scénario typique dans la simulation Monte Carlo (stochastique).
Mark L. Stone
@Tim: Si vous n'êtes pas intéressé par cette histoire, vous ne savez pas quelle histoire vous intéresse. En réponse au commentaire de Glen_b, vous avez dit que vous n'étiez pas préoccupé par un échantillonnage inefficace. Cette méthode, bien qu'inefficace, vous permettra d'échantillonner à partir de n'importe quel pdf (en supposant que ce n'est pas si mal comporté que l'intégration numérique échoue, mais je ne pense pas que quiconque se soucie d'utiliser de telles distributions). Donc, à moins que vous ne soyez intéressé par, disons, des distributions discontinues à un nombre infini d'endroits, cela devrait être la réponse à votre question: oui, nous le pouvons.
Cliff AB
En fait, si est connu mais pas F - 1 , c'est un problème. FF1
Xi'an
1
Cela dépend de ce que vous entendez par problème. Si est connu, alors selon ma réponse, F - 1 ( y ) = i n f ( x : F ( x ) y ) est toujours bien défini et peut être résolu numériquement. Ce n'est peut-être pas aussi rapide que vous le souhaitez, donc si c'est ce que vous entendez par problème, ok Si ce n'est pas ce que vous voulez dire, quel est le problème? FF1(y)=inf(x:F(x)y)
Mark L. Stone
7

Lorsqu'une distribution n'est définie que par sa fonction de génération de moment ou par sa fonction caractéristique Φ ( t ) = E [ exp { i t X } ] , il est rare de trouver des moyens de générer à partir de ces distributions.ϕ(t)=E[exp{tX}]Φ(t)=E[exp{itX}]

Un exemple pertinent est constitué de distributions stablesα , qui n'ont pas de forme connue pour la densité ou le cdf, pas de fonction de génération de moment, mais une fonction caractéristique de forme fermée.

Dans les statistiques bayésiennes, les distributions postérieures associées à des probabilités intraitables ou simplement à des ensembles de données trop volumineux pour tenir dans un ordinateur peuvent être considérées comme impossibles à (exactement) simuler.

Xi'an
la source
Si vous ne connaissez que la fonction de génération de moment, vous pouvez utiliser l'approximation saddlepoint et ensuite simuler à partir de cela.
kjetil b halvorsen
1
@ Xi'an Vous avez omis le mot "efficacement". Dans le pire des cas, vous pouvez inverser numériquement l'inversion numérique de la transformation. Cela fera l'affaire, peut-être pas «efficacement», mais il le fera.
Mark L. Stone
3
@kjetilbhalvorsen: l'approximation du point de selle est la solution proposée dans le lien que j'ai mis. Mais c'est une approximation!
Xi'an
2

Fu(0,1)F1(u)FF1

Conti
la source
1

θ=(θ1,...,θd)θj

Il existe des méthodes d'échantillonnage approximatif de cette partie postérieure dans certains cas, mais aucune méthode générale exacte n'existe pour le moment.

Noé
la source
... mais la question concerne les distributions univariées. Il existe de nombreux exemples de modèles complexes où MCMC ne parvient pas à converger même après un nombre énorme d'itérations.
Tim
@Tim Et c'est exactement pourquoi j'ai dit marginal postérieur , ce qui signifie univarié ... Il me semble que vous ne savez pas exactement ce que vous demandez. Les deux premières réponses sont claires dans la mesure où, théoriquement, il est possible d'échantillonner à partir de n'importe quelle distribution à condition de la connaître.
Noah
1
Je vote pour mettre cette question [EN ATTENTE] jusqu'à ce que le PO clarifie ce qu'il demande et arrête de changer la question chaque fois qu'une nouvelle réponse apparaît afin de rendre les réponses inapplicables.
Noah
Je ne modifie pas ma question "à chaque fois qu'une nouvelle réponse apparaît" ... Évidemment, le modèle statistique avec vraisemblance et a priori n'est pas univarié puisqu'il est déclaré en termes de distribution conditionnelle. Il est univarié si vous échantillonnez à partir de la partie postérieure, mais je suppose que vous supposez que nous avons déjà la distribution marginale, donc il n'y a pas de problème avec la partie postérieure intracable.
Tim
1
R
1

(qi)i=1P(X=qi)=0ii=1P(X=qi)=0P(XQ)=1

μπ(μ)=1

kjetil b halvorsen
la source
0

Pourriez-vous fournir un exemple de distribution univariée impossible à générer de manière aléatoire?

cc

Si vous souhaitez uniquement échantillonner des variables aléatoires dont les valeurs peuvent être raisonnablement approximées par des nombres à virgule flottante 64 bits, ou si vous avez une tolérance similaire pour les erreurs finies dans la valeur, et que vous ne représentiez pas vos échantillons sur des machines de Turing de toute façon , considère ceci:

XBer(p)p=1c01

0(,c)1[c,)0(,0)c[0,1)1[1,)cxy-axe. Je ne sais pas ce qui rend l'échantillonnage le plus difficile, alors choisissez celui que vous (dés) aimez le plus ;-)

disons que par "impossible", nous entendons également les cas qui sont très coûteux en calcul, par exemple qui nécessitent des simulations par force brute comme le prélèvement d'énormes quantités d'échantillons pour n'en accepter que quelques-uns.

Dans ce cas, une réponse évidente semble évidente:

  • nn
  • Échantillonnez les pré-images d'une fonction de hachage cryptographique (c'est-à-dire générer du bitcoin et casser git et mercurial).
  • Échantillonnez l'ensemble des stratégies de Go optimales (avec les règles chinoises de superko, qui rendent tous les jeux finis - si je comprends bien).

Un peu plus formellement: je vous donne une grande instance d'un problème NP-complet (ou EXP-complet, etc.) et je vous demande d'échantillonner uniformément l'ensemble de solutions pour moi.

R1

Vous pouvez facilement vérifier si une affectation de vérité donnée satisfait mon instance SAT, et après les avoir vérifiées, vous savez si l'une d'entre elles le fait, j'ai donc spécifié un CDF en vous donnant une formule booléenne (ou un circuit), mais pour échantillonner la distribution correspondante vous devez essentiellement devenir quelque chose d'au moins aussi puissant qu'un oracle de solvabilité SAT.


Je vous ai donc donné un nombre non calculable qui devrait jeter du sable dans vos engrenages, et je vous ai donné un CDF lent à calculer. Peut-être que la prochaine question évidente à poser est quelque chose comme ceci: y a-t-il un CDF représenté sous une forme efficace (par exemple, peut être évalué en temps polynomial) de sorte qu'il est difficile de générer des échantillons avec cette distribution? Je ne connais pas la réponse à celle-là. Je ne connais pas la réponse à celle-là.

Jonas Kölker
la source