Ich denke, dass Sie Ihre Frage überdenken müssen. Das Poisson ist eine Zählungsverteilung, die in Bezug auf eine Rate angegeben wird, wie z. B. wie viele Vorkommen von etwas im Durchschnitt pro Zeitperiode angezeigt werden. Es ergibt positive ganze Zahlen, so dass das Ergebnis nicht nur im Bereich [0,1] liegen kann. Kannst du bitte klarstellen was du willst?
Unabhängig davon, ein Poisson mit Rate lambda eines Algorithmus zu erzeugen, ist:
threshold = Math.exp(-lambda)
count = 0
product = 1.0
while (product *= rand) >= threshold {
count += 1
}
return count
wobei "Rand" ist der Funktionsaufruf für einen Uniform (0,1). Ich weiß Javascript nicht, aber das sollte einfach genug für Sie zu implementieren sein.
Als Reaktion auf editierte Frage:
Es gibt verschiedene Distributionen, die Ergebnisse auf einem beschränkten Bereich erzeugen, aber viele von ihnen sind nicht für schwache Nerven, wie die Johnson-Familie oder die Beta-Verteilung.
Eine einfache wäre Dreiecksverteilungen. Sqrt (Rand) ergibt eine Dreiecksverteilung, die gegen 1 gebündelt ist, während (1-Sqrt (1-Rand)) eine gegen Null gebündelte Dreiecksverteilung ergibt.
Ein allgemeinerer Dreieck mit dem Modus (häufigster Wert) bei m (wobei 0 < = m < = 1) mit
if rand <= m
return m * Sqrt(rand)
else
return 1 - ((1 - m) * Sqrt(1 - rand))
Note erzeugt werden, daß jeder Aufruf von Rande eine separate Uniform zufällig Nummer, dies wird nicht korrekt sein, wenn Sie einen Wert für rand generieren und durchgängig verwenden.
Nach unten Antwort, Poisson-Verteilungen sind nicht [0,1]. Sie sind [0, unendlich]. Also, was willst du? – djechlin
+1, das ist eine gute Frage mit nicht-triviale Lösung. – Nishanth
@djechlin technisch Poisson-Zufallsvariablen unterstützen {0, ..., ∞}, dies ist wichtig, um Proben aus Poisson-Prozessen über Räume zu ziehen, die eine Poisson-Zufallsvariable basierend auf der zugrunde liegenden Geschwindigkeitsverteilung im [0, ∞) -Raum erzeugen Dies wird normalerweise in Poisson-Prozessen berücksichtigt. Wenn Sie die Gesamtheit dieses Raums betrachten, erhalten Sie eine Poisson-Zufallsvariable Anzahl von Ereignissen mit Mittelwert ∞, die traditionell als gültiger Kantenfall betrachtet wird, in dem Sie die Poisson-Zufallsvariable = ∞ (w.p. = 1) erwarten. – mpacer