Erstellen von Poissonverteilten Zufallsvariablen in Excel

Neue Frage »

Falschsager Auf diesen Beitrag antworten »
Erstellen von Poissonverteilten Zufallsvariablen in Excel
Hallo zusammen,

ich stehe in meiner Mathevertiefung vor einer Aufgabe mit einer Monte Carlo Simulation. Es geht dabei um ein Warteschlangensystem, welches eine poissonverteilte Ankunftsrate und eine exponentialverteilte Bedienungszeit besitzt.

Das Ganze war für die Bedienungszeit recht einfach in Excel:
X = Zufallszahl() zwischen 0 und 1 als Basis und jeweils eingesetzt in die Formel

Y = - 1 / » * ln( 1 - x )

Das ganze ist die umgestellte kumulierte Verteilungsfunktion.

Zu meiner Frage: gibt es eine Möglichkeit der Inversionsmethode überhaupt für die Poisson Verteilung? Ich möchte einfach nur Zufallszahlen generieren... Ich habe bereits einen Weg gefunden über das Excel Datenanalyse tool und der Random Number Generation, ich würde das ganze aber Lieber per Inversionsmethode lösen.


Vielen Dank
HAL 9000 Auf diesen Beitrag antworten »

Es gibt mehrere Möglichkeiten, eine -verteilte Zufallsgröße zu simulieren:

1) Inversionsmethode: Es ist , und zu vorgegegebenen (d.h. per Zufallszahlengenerator ausgeworfenen) suchen wir das kleinste mit , eingesetzt und umgeformt . Man summiert also solange auf, bis überschritten wird - und den letzten -Index nimmt man als Simulationswert.

2) Man nutzt, dass für eine Folge unabhängiger Exp(1)-verteilter Zufallsgrößen die Zufallsgröße



-verteilt ist. Dementsprechend (siehe dein Beitrag) summiert man solange Werte mit auf, bis das vorgegebene überschritten ist.
 
 
Amateur1994 Auf diesen Beitrag antworten »
RE: Erstellen von Poissonverteilten Zufallsvariablen in Excel
Hi,

ich habe gelesen dass du poissonverteilte Zufallszahlen mit Random Number generiert hast. Hast du das über VBA oder über Excel gemacht?
Mit welcher Funktion hast du das vorgenommen?

Ich stehe gerade vor dem selben Problem und benötige das für eine Monte-Carlo-Simulation. Als Parameter habe ich allerdings nur lambda.
Ist das möglich?

Ich wäre sehr dankbar über eine Unterstützung.
HAL 9000 Auf diesen Beitrag antworten »

Da der angesprochene Threadersteller vermutlich nicht antworten wird (ist letztmalig im Dezember 2016 im Forum gewesen), antworte ich mal, obwohl ich oben nicht auf den Excel-spezifischen Teil eingegangen war: Methode 1 könnte man mit VBA-Funktion

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Function RandPoisson(mu, uniformrand)
  Dim n As Integer
  Dim s As Double
  Dim x As Double
  x = Exp(-mu)
  s = x - uniformrand
  n = 0
  Do While s < 0
    n = n + 1
    x = x * mu / n
    s = s + x
  Loop
  RandPoisson = n
End Function
umsetzen: mu steht für Parameter der Poissonverteilung, und uniformrand für eine (0,1)-gleichverteilte Zufallsgröße, d.h. mit RandPoisson(10,ZUFALLSZAHL()) würde man eine Poisson(10)-verteilte Zufallszahl generieren.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »