Gibt es eine univariate Distribution, aus der wir keine Stichprobe erstellen können?


12

Wir haben eine Vielzahl von Methoden zur Zufallsgenerierung aus univariaten Verteilungen (inverse Transformation, Accept-Reject, Metropolis-Hastings usw.) und es scheint, dass wir aus buchstäblich jeder gültigen Verteilung eine Stichprobe erstellen können - stimmt das?

Können Sie ein Beispiel für eine univariate Verteilung nennen, aus der sich keine Zufallsgenerierung ergibt? Ich vermute, dieses Beispiel, in dem es unmöglich ist, existiert nicht (?). Nehmen wir also an, wir meinen mit "unmöglich" auch Fälle, die sehr rechenintensiv sind, z wenige von ihnen.

Gibt es ein solches Beispiel nicht, können wir dann tatsächlich nachweisen, dass wir aus jeder gültigen Verteilung zufällige Ziehungen generieren können ? Ich bin einfach gespannt, ob es dafür ein Gegenbeispiel gibt.


6
Es kommt wirklich darauf an, was du mit "nicht / unmöglich" meinst, denke ich. Es gibt Fälle, in denen die Bewertung von cdf und pdf sehr kostspielig ist, was die meisten Methoden unerschwinglich macht, und es ist nicht schwer, Verteilungsformen zu finden, bei denen das PDF gute Umschlaggrenzen aufweist (für eine Annahme-Ablehnung) meist vermeidet Funktionsbewertung) sind nicht ohne weiteres verfügbar. Wenn Sie den Fall bereits ausschließen, würde dies fehlschlagen, und wir könnten die Berechnung von sogar noch teurer machen (pro Abweichung, im Durchschnitt) als die Verwendung von F
Accept-Reject

3
Aus der Menge der irrationalen Zahlen im Intervall (0,1) können wir mit einem Computer keine einheitlichen Zufallsstichproben ziehen. Der Beweis bleibt als Übung für den Leser.
Cliff AB

2
@Cliff AB Dies kann durch Intervallarithmetik behandelt werden. Definieren Sie ein (das kleinste) Intervall um jeden computerauswertbaren (rationalen) Punkt, sodass die Gesamtheit von [0,1] durch diese Intervalle abgedeckt wird. Bewerten Sie für jede computerauswertbare "Uniform", die gezeichnet wurde, t (mit Rundung nach außen) die Intervallinverse der kumulativen Verteilungsfunktion für dieses Intervallargument. Dadurch wird eine Intervallstichprobe der Zufallsvariablen erzeugt, die zu 100% die wahre Stichprobe enthält.
Mark L. Stone

2
Was ich damit sagen will, ist, dass Sie das Ablehnen bereits als "unmöglich" akzeptieren, wenn Sie es so teuer machen, dass jeder andere Ansatz, den Sie kennen, schlechter ist (mehr Berechnung erfordert), würden Sie vermutlich auch diese als "unmöglich" betrachten. Die Konstruktion von teuer zu bewertenden
Fs und Fs

1
ctd ... (aber insgesamt sind die Leute ziemlich genial, was eines Tages sehr schwierig zu sein scheint, kann durchführbar sein, wenn Sie eine nette Idee haben, die das meiste des Problems umgeht.) Wenn wir sagen "Annäherung an diese und jene Genauigkeit ist in Ordnung", dann können viele dieser Schwierigkeiten in vielen Fällen umgangen werden (zum Beispiel könnte man in der Lage sein, große Nachschlagetabellen / Erzeugungs-aus-Histogrammen zu konstruieren, wie z dass Sie die meiste Zeit ziemlich schnell ungefähre Werte generieren).
Glen_b

Antworten:


15

Wenn Sie die kumulative Verteilungsfunktion , können Sie sie entweder analytisch oder numerisch invertieren und mithilfe der inversen Transformationsstichprobenmethode Zufallsstichproben generieren https://en.wikipedia.org/wiki/Inverse_transform_sampling .F(x)

Definiere . Dies wird jede Verteilung handhaben, ob kontinuierlich, diskret oder eine beliebige Kombination. Dies kann immer numerisch und möglicherweise analytisch gelöst werden. Sei U eine Stichprobe aus einer Zufallsvariablen, die als Uniform [0,1] verteilt ist, dh aus einem Zufallszahlengenerator mit Uniform [0,1]. Dann ist F - 1 ( U ) , wie oben definiert, eine Zufallsstichprobe aus einer Zufallsvariablen mit der Verteilung F ( x ) . F1(y)=inf(x:F(x)y)F1(U)F(x)

Dies ist möglicherweise nicht der schnellste Weg, um Zufallsstichproben zu generieren, aber es ist ein Weg, vorausgesetzt, dass F (x) bekannt ist.

Wenn F (x) nicht bekannt ist, ist das eine andere Geschichte.


2
Wenn nicht bekannt ist, was ist dann bekannt? Offensichtlich ist das relevant. Wenn Sie nichts wissen, können Sie nichts tun. Wenn Sie etwas wissen, dann hängt es davon ab, was das ist.F(x
Mark L. Stone

@Tim Tatsächlich ist es durchaus üblich, dass wir F (X) nicht kennen, aber wir können daraus Samples generieren. Das ist ein typisches Szenario in der Monte Carlo (stochastischen) Simulation.
Mark L. Stone

@Tim: Wenn Sie nicht an dieser Geschichte interessiert sind, ist nicht klar, an welcher Geschichte Sie interessiert sind. Als Antwort auf Glen_bs Kommentar sagten Sie, dass Sie sich nicht mit ineffizienten Stichproben befassen. Obwohl diese Methode ineffizient ist, können Sie aus jedem PDF-Dokument eine Stichprobe erstellen (vorausgesetzt, es ist nicht so schlecht, dass die numerische Integration fehlschlägt, aber ich denke, es interessiert niemanden, solche Verteilungen zu verwenden). Wenn Sie also nicht beispielsweise an Verteilungen interessiert sind, die an einer unendlichen Anzahl von Stellen diskontinuierlich sind, sollte dies die Antwort auf Ihre Frage sein: Ja, wir können.
Cliff AB

Tatsächlich ist dies ein Problem , wenn ist, aber nicht F - 1 . FF1
Xi'an

1
Es kommt darauf an, was Sie unter Problem verstehen. Wenn bekannt ist, dann ist gemäß meiner Antwort F - 1 ( y ) = i n f ( x : F ( x ) y ) immer gut definiert und kann numerisch gelöst werden. Es ist möglicherweise nicht so schnell, wie Sie möchten. Wenn Sie es also mit Problem meinen, ok. Wenn Sie es nicht meinen, was ist dann das Problem? FF1(y)=inf(x:F(x)y)
Mark L. Stone

7

Wenn eine Verteilung nur durch die Zeit - Erzeugungsfunktion definiert oder durch ihre charakteristische Funktion Φ ( t ) = E [ exp { i t X } ] , ist es selten , Wege zu finden , von diesen Distributionen zu generieren.ϕ(t)=E[exp{tX}]Φ(t)=E[exp{itX}]

Ein relevantes Beispiel sind stabile Verteilungenα , die keine bekannte Form für Dichte oder cdf, keine momenterzeugende Funktion, sondern eine charakteristische Funktion für geschlossene Form haben.

In der Bayes'schen Statistik können Posterior-Verteilungen, die mit unlösbaren Wahrscheinlichkeiten verbunden sind, oder einfach Datensätze, die zu groß sind, um in einen Computer zu passen, als unmöglich (genau) zu simulieren angesehen werden.


Wenn Sie nur die Momenterzeugungsfunktion kennen, können Sie die Sattelpunktnäherung verwenden und dann daraus simulieren.
kjetil b halvorsen

1
@ Xi'an Du hast das Wort "effizient" ausgelassen. Im schlimmsten Fall können Sie die numerische Inversion der Transformation numerisch invertieren. Das wird den Job machen, vielleicht nicht "effizient", aber es wird es tun.
Mark L. Stone

3
@kjetilbhalvorsen: Die Sattelpunktnäherung ist die in dem von mir angegebenen Link vorgeschlagene Lösung. Aber es ist eine Annäherung!
Xi'an

2

Angenommen, Sie beziehen sich auf kontinuierliche Verteilungen. Mit der Wahrscheinlichkeitsintegraltransformation können Sie aus jeder univariaten Verteilung simulieren, indem Sie u ( 0 , 1 ) simulieren und dann F - 1 ( u ) nehmen . Wir können also eine Uniform simulieren, dann ist dieser Teil erledigt. Das Einzige, was die Simulation von F ausschließen kann, ist, dass Sie die Umkehrung von F - 1 nicht berechnen können. Dies muss jedoch mit Rechenschwierigkeiten zusammenhängen und nicht mit etwas Theoretischem.Fu(0,1)F1(u)FF1


1

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

In einigen Fällen gibt es Methoden, um eine ungefähre Stichprobe aus diesem posterioren Bereich zu ziehen. Derzeit gibt es jedoch keine genaue allgemeine Methode.


... aber die Frage betrifft univariate Verteilungen. Es gibt viele Beispiele für komplizierte Modelle, bei denen MCMC auch nach einer enormen Anzahl von Iterationen nicht konvergiert.
Tim

@Tim Und genau deswegen habe ich Marginal Posterior gesagt , was univariate bedeutet ... Mir scheint, du hast keine Ahnung , was du fragst. Die ersten beiden Antworten sind insofern klar, als es theoretisch möglich ist, eine Stichprobe aus einer beliebigen Distribution zu ziehen, sofern Sie es kennen.
Noah

1
Ich stimme zu, diese Frage [AUF HALT] zu stellen, bis der OP klarstellt, was er fragt, und die Frage nicht mehr zu ändern, sobald eine neue Antwort erscheint, damit die Antworten nicht mehr zutreffen.
Noah

Ich bin nicht die Änderung meiner Frage „jedes Mal eine neue Antwort erscheint“ ... Offensichtlich statistisches Modell mit Wahrscheinlichkeit und vor nicht univariate ist , da sie in Bezug auf die bedingte Verteilung deklariert wird. Es ist univariat, wenn Sie eine Stichprobe aus dem posterioren Bereich nehmen, aber dann gehen Sie davon aus, dass wir bereits eine marginale Verteilung haben, sodass es kein Problem mit dem intracable posterior gibt.
Tim

1
R

1

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

μπ(μ)=1


0

Können Sie ein Beispiel für eine univariate Verteilung nennen, aus der sich keine Zufallsgenerierung ergibt?

cc

Wenn Sie nur zufällige Variablen abtasten möchten, deren Werte sich mit 64-Bit-Gleitkommazahlen annähern lassen, oder wenn Sie eine ähnliche Toleranz für endliche Fehler im Wert haben und Ihre Stichproben sowieso nicht auf einer Turing-Maschine dargestellt haben , bedenken Sie:

XBer(p)p=1c01

0(,c)1[c,)0(,0)c[0,1)1[1,)cxy-Achse. Ich bin mir nicht sicher, was das Sampling am schwierigsten macht. Such dir also das aus, das dir am besten gefällt ;-)

Nehmen wir an, dass mit "unmöglich" auch Fälle gemeint sind, die sehr rechenintensiv sind, z. B. Brute-Force-Simulationen wie das Zeichnen großer Mengen von Samples, um nur einige von ihnen zu akzeptieren.

In diesem Fall liegt die Antwort auf der Hand:

  • Probe gleichmäßig die Primfaktoren von nn
  • Probieren Sie die Vorbilder einer kryptografischen Hash-Funktion aus (z. B. Bitcoin generieren und Git und Quecksilber brechen).
  • Probieren Sie die optimalen Go-Strategien aus (mit chinesischen Superko-Regeln, nach denen alle Spiele endlich sind - soweit ich weiß).

Ein bisschen formeller: Ich gebe Ihnen eine große Instanz eines NP-vollständigen Problems (oder EXP-vollständigen usw.) und bitte Sie, die Lösungssätze für mich einheitlich zu erproben.

Wahrscheinlich sollte ich akzeptieren als Lösung für No-Instances (und nur für No-Instances, und es wäre die einzige Lösung). Ich sollte mir auch eine Bijektion zwischen zB ganzen Zahlen einfallen lassen (vorausgesetzt, Sie möchten Mitglieder von sampeln)R) und Lösungen - was häufig ziemlich trivial ist, behandeln Sie einfach Basis-2-Darstellungen als Wahrheitszuweisungen für beispielsweise meine SAT-Instanz und verwenden Sie sie möglicherweise -1 zu repräsentieren .

Sie können leicht überprüfen, ob eine gegebene Wahrheitszuweisung meine SAT-Instanz erfüllt, und nachdem Sie sie überprüft haben, wissen Sie, ob eine solche erfüllt ist, sodass ich eine CDF vollständig spezifiziert habe, indem ich Ihnen eine Boolesche Formel (oder Schaltung) gebe, um noch die entsprechende Verteilung abzutasten man muss im wesentlichen zu etwas werden, das mindestens so mächtig ist wie ein Orakel der SAT-Lösbarkeit.


Also habe ich Ihnen eine unberechenbare Zahl gegeben, die Sand in Ihre Zahnräder werfen sollte, und ich habe Ihnen eine CDF gegeben, die sich nur langsam berechnen lässt. Vielleicht ist die nächste naheliegende Frage: Gibt es eine CDF, die in einer effizienten Form dargestellt ist (z. B. in polynomieller Zeit ausgewertet werden kann), so dass es schwierig ist, mit dieser Verteilung Samples zu generieren? Ich kenne die Antwort darauf nicht. Ich kenne die Antwort darauf nicht.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.