next up previous contents
Nächste Seite: Akzeptanz- und Verwerfungsmethode Aufwärts: Transformation gleichverteilter Pseudozufallszahlen Vorherige Seite: Inversionsmethode   Inhalt


Transformationsalgorithmen für diskrete Verteilungen


Beispiel
$ \;$ (Geometrische Verteilung) 


Für einige diskrete Verteilungen gibt es spezielle Transformationsalgorithmen, um Pseudozufallszahlen zu erzeugen, die als Realisierungen von Zufallsvariablen mit einer solchen Verteilung aufgefasst werden können.


Beispiele
 
  1. Poisson-Verteilung $ \;$ (mit kleinem Erwartungswert $ \lambda$)
    • Falls $ \lambda>0$ eine kleine Zahl ist, dann ist das folgende Verfahren geeignet, um Poisson-verteilte Pseudozufallszahlen durch die Transformation
      • von exponentialverteilten Pseudozufallszahlen (auf ähnliche Weise wie in Abschnitt 3.2.1)
      • oder direkt aus $ (0,1]$-gleichverteilten Pseudozufallszahlen
      zu erzeugen.
    • Die Zufallsvariablen $ X_1,X_2,\ldots$ seien unabhängig und Exp$ (\lambda)$-verteilt.
      • Für die Zufallsvariable $ Y=\max\{k\ge 0:\, X_1+\ldots+X_k\le 1\}$ ergibt sich dann aus der Darstellungsformel (11) für die Verteilungsfunktion der Erlang-Verteilung, dass für jedes $ j\ge 0$
        $\displaystyle P(Y=j)$ $\displaystyle =$ $\displaystyle P(Y\ge j)-P(Y\ge j+1)$  
          $\displaystyle =$ $\displaystyle P(X_1+\ldots+X_j\le 1)-P(X_1+\ldots+X_{j+1}\le 1)$  
          $\displaystyle =$ $\displaystyle \int\limits_0^1\displaystyle\frac{\lambda e^{-\lambda
v}(\lambda ...
...;\int\limits_0^1\displaystyle\frac{\lambda e^{-\lambda
v}(\lambda v)^j}{j!}\;dv$  
          $\displaystyle =$ $\displaystyle \int\limits_0^1\displaystyle\frac{d}{dv}\,\Bigl(\,\frac{
e^{-\lambda v}(\lambda v)^j}{j!}\,\Bigr)\,dv$  
          $\displaystyle =$ $\displaystyle \frac{ e^{-\lambda}\lambda^j}{j!}\;.$  

      • Mit anderen Worten: Es gilt $ Y\sim$ Poi$ (\lambda)$.
    • Die Pseudozufallszahlen $ y_1,\ldots,y_n$ mit

      $\displaystyle y_i = \max\{k\ge 0:\,x_1+\ldots+x_k\le i\}-y_{i-1}\,,\qquad\forall\, i=1,\ldots,n\,,$ (16)

      bzw.

      $\displaystyle y_i = \max\{k\ge 0:\,u_1\cdot\ldots\cdot u_k\ge e^{-i\lambda}\}-y_{i-1}\,,\qquad\forall\, i=1,\ldots,n\,,$ (17)

      wobei $ y_0=0$ und $ x_j=-\lambda^{-1}\log u_j$ für $ j=1,2,\ldots$,
      • können somit als Realisierungen von unabhängigen und Poi$ (\lambda)$-verteilten Zufallsvariablen aufgefasst werden,
      • falls $ x_1,x_2\ldots$ die Realisierungen von unabhängigen und Exp$ (\lambda)$-verteilten Zufallsvariablen $ X_1,X_2\ldots$ sind bzw.
      • falls $ u_1,u_2\ldots$ die Realisierungen von unabhängigen und im Intervall $ (0,1]$ gleichverteilten Zufallsvariablen $ U_1,U_2\ldots$ sind.
    • Beachte 
      • Weil der Erwartungswert der Poi$ (\lambda)$-Verteilung gleich $ \lambda$ ist, sind bei dem durch (16) bzw. (17) gegebenen Algorithmus im Mittel $ \lambda$ gleichverteilte Pseudozufallszahlen erforderlich, um eine neue Poi$ (\lambda)$-verteilte Pseudozufallszahl zu erzeugen.
      • Dieser Aufwand lässt sich reduzieren, wenn für große $ \lambda$ wie folgt vorgegangen wird.


  2. Poisson-Verteilung $ \;$ (mit großem Erwartungswert $ \lambda$)
    • Falls $ \lambda>0$ eine große Zahl ist, wobei $ a_j=j$ und $ p_j=e^{-\lambda}\lambda^j/j!$ für $ j=0,1,\ldots$,
      • dann ist das unmittelbar auf dem Transformationsansatz (13) beruhende Verfahren besser geeignet, um Poi$ (\lambda)$-verteilte Pseudozufallszahlen zu erzeugen,
      • wenn dabei die Gültigkeit der Ungleichungen

        $\displaystyle U<p_0\,,\quad p_0\le U<p_0+p_1\,,\ldots, p_0+\ldots+p_{j-1}\le U<p_0+\ldots+p_j\,,\ldots$ (18)

        in der folgenden Reihenfolge überprüft wird,
      • wobei die Rekursionsformel

        $\displaystyle p_{j+1}=\frac{\lambda}{j+1}\;p_j\,,\qquad\forall\, j\ge 0\,,
$

        zur Berechnung der Summen $ P_j=\sum_{k=0}^j p_k$ für $ j\ge 0$ verwendet wird.
    • Sei $ {\left\lfloor \lambda\right\rfloor}>0$ der ganzzahlige Teil von $ \lambda$. Dann wird zunächst geprüft, ob $ U<P_{\left\lfloor \lambda\right\rfloor}$ gilt.
      • Falls diese Ungleichung gilt, dann wird geprüft, ob $ U<P_{{\left\lfloor \lambda\right\rfloor}-1},U<P_{{\left\lfloor \lambda\right\rfloor}-2},\ldots$ gilt, wobei in diesem Fall $ X=\min\{k:\, U<P_k\}$ gesetzt wird.
      • Falls $ U<P_{\left\lfloor \lambda\right\rfloor}$ nicht gilt, dann wird geprüft, ob $ U<P_{{\left\lfloor \lambda\right\rfloor}+1},U<P_{{\left\lfloor \lambda\right\rfloor}+2},\ldots$ gilt, wobei erneut $ X=\min\{k:\, U<P_k\}$ gesetzt wird.
    • Für den Erwartungswert $ {\mathbb{E}\,}V$ der dabei erforderlichen Anzahl $ V$ von Überprüfungen gilt dann näherungsweise, dass
      $\displaystyle {\mathbb{E}\,}V$ $\displaystyle \approx$ $\displaystyle 1+{\mathbb{E}\,}\vert X-\lambda\vert$  
        $\displaystyle =$ $\displaystyle 1+\sqrt{\lambda}{\mathbb{E}\,}\Bigl(\frac{\vert X-\lambda\vert}{\sqrt{\lambda}}\Bigr)$  
        $\displaystyle \approx$ $\displaystyle 1+ 0.798\,\sqrt{\lambda}\,,$  

      • wobei in der letzten Approximationsformel die Tatsache genutzt wurde, dass die Zufallsvariable $ (X-\lambda)/\sqrt{\lambda}$ für große $ \lambda$ näherungsweise N$ (0,1)$-verteilt ist,
      • was sich aus der Faltungsstabilität der Poisson-Verteilung und aus dem zentralen Grenzwertsatz für Summen von unabhängigen und identisch verteilten Zufallsvariablen (Theorem WR-5.16) ergibt.
    • Bei dieser Vorgehensweise wächst also
      • die im Mittel erforderliche Anzahl von Überprüfungen nur wie die Quadratwurzel $ \sqrt{\lambda}$ von $ \lambda$,
      • wogegen bei dem vorher diskutierten Verfahren zur Erzeugung Poi$ (\lambda)$-verteilter Pseudozufallszahlen die jeweils im Mittel erforderliche Anzahl von Standard-Pseudozufallszahlen wie $ \lambda$ wächst.


  3. Binomial-Verteilung 
    • Bei der Erzeugung von binomialverteilten Pseudozufallszahlen kann man ähnlich wie im Fall der Poisson-Verteilung vorgehen.
      • Für beliebige, jedoch fest vorgegebene Zahlen $ n\in\mathbb{N}$ und $ p\in(0,1)$ mit $ q=1-p$ sei

        $\displaystyle a_j=j$   und$\displaystyle \qquad
p_j=\frac{n!}{j!\,(n-j)!}\;p^j\,q^{n-j}\,,\qquad\forall\,
j=0,1,\ldots,n\,.
$

      • Für $ j=0,1,\ldots,n$ werden dann die Summen $ P_j=\sum_{k=0}^j p_k$ mit der Rekursionsformel

        $\displaystyle p_{j+1}=\frac{n-j}{j+1}\;\frac{p}{q}\;p_j\,,\qquad\forall\,
j=0,1,\ldots,n-1
$

        berechnet.
    • Falls $ np>0$ klein ist, dann wird
      • die Gültigkeit der Ungleichungen (18) in der natürlichen Reihenfolge überprüft,
      • wobei mit $ U<p_0$ begonnen und $ X=\min\{k:\, U<P_k\}$ gesetzt wird.
    • Falls $ np$ groß ist,
      • dann ist es effizienter, die Gültigkeit der Ungleichungen (18) in der folgenden Reihenfolge zu verifizieren. Dabei wird zunächst geprüft, ob $ U<P_{\left\lfloor np\right\rfloor}$ gilt.
      • Falls diese Ungleichung gilt, dann wird geprüft, ob $ U<P_{{\left\lfloor np\right\rfloor}-1},U<P_{{\left\lfloor np\right\rfloor}-2},\ldots$ gilt, wobei in diesem Fall $ X=\min\{k:\, U<P_k\}$ gesetzt wird.
      • Falls $ U<P_{\left\lfloor np\right\rfloor}$ nicht gilt, dann wird geprüft, ob $ U<P_{{\left\lfloor np\right\rfloor}+1},U<P_{{\left\lfloor np\right\rfloor}+2},\ldots$ gilt, wobei erneut $ X=\min\{k:\, U<P_k\}$ gesetzt wird.


next up previous contents
Nächste Seite: Akzeptanz- und Verwerfungsmethode Aufwärts: Transformation gleichverteilter Pseudozufallszahlen Vorherige Seite: Inversionsmethode   Inhalt
Ursa Pantle 2003-09-29