Simulation diskreter Veränderlicher
Vorbemerkung.
Wir hatten die Simulation diskreter Veränderlicher schon im
Zusammenhang mit der Simualtion kontinuierlicher Veränderlicher kurz
angesprochen, und tatsächlich, die meisten Verfahren lassen sich ohne
weiteres auf diskrete Veränderliche übertragen. Hinzu kommen aber einige
Besonderheiten, die wir im folgenden Unterkapitel diskutieren wollen. Im
Mittelpunkt unserer Betrachtungen wird die inverse Transformationsmethode
stehen, die bei diskreten Veränderlichen immer anwendbar ist.
Verwerfungsmethoden spielen zwar eine weniger wichtige Rolle, jedoch gibt
es auch bei diskreten Veränderlichen einige schöne Anwendungsbeispiele.
Hinzu kommen dagegen Methoden der Diskretisierung kontinuierlicher
Veränderlicher und insbesondere Approximationen durch kontinuierliche
Funktionen. Auch die Simulation des verbalen Wortmodells führt bei diskreten
Veränderlichen zu außerordentlich schönen und schnellen Algorithmen.
Inverse Transformationsmethode.
Die Wahrscheinlichkeitsverteilung einer diskreten Veränderlichen
, mit ganzzahligem , kann in praktischen
Anwendungen immer auf eine Wahrscheinlichkeitsverteilung mit einer
positiven ganzzahligen Veränderlichen transformiert werden. Wir legen
daher im folgenden immer eine Verteilung mit zugrunde.
Die integrale Verteilung ist
|
(1) |
und die inverse Transformationsmethode lautet: Erzeuge und bestimme so, daß
|
(2) |
ist dann eine Veränderliche der Wahrscheinlichkeitsverteilung
.
Wir haben in unseren bisherigen Betrachtungen jedoch nicht über optimale
Algorithmen zur Lösung der Ungleichung (2) gesprochen. Das einfachste
Verfahren basiert natürlich auf den Rekursionsrelationen
wobei und im allgemeinen einfache Funktionen von sind.
Mit Hilfe dieser Funktion kann man das Verfahren folgendermaßen
formulieren:
1. Erzeuge , berechne
und setze
2. Wenn , dann ist eine Veränderliche der
Wahrscheinlichkeitsverteilung . Wenn dagegen , dann berechne
und setze
und gehe zurück zu Punkt 2.
Dieser Algorithmus ist natürlich nur ein Spezialfall des allgemeineren
Verfahrens, bei dem man bei irdendeinem Wert mit den
Vergleichsoperationen beginnt. Das Verfahren lautet dann entsprechend:
1. Erzeuge und setze
Falls , fahre fort bei Punkt 3, sonst bei Punkt 2.
2. Setze
Falls , so ist eine Veränderliche der Wahrscheinlichkeitsverteilung
. Wenn dagegen , dann berechne und setze
und gehe zurück zu Punkt 2.
3. Berechne und setze
Falls , so ist eine Veränderliche von , sonst gehe
zurück zu Punkt 3.
Entscheidend für die Schnelligkeit dieses allgemeineren Verfahrens ist
natürlich einmal die Berechnung des Startwertes für
. Hierfür kann man im allgemeinen keinen analytischen
Ausdruck angeben, sodaß die Summe tatsächlich aus arithmetischen
Operationen berechnet werden muß. Dieses kann die Vorteile, die im folgenden
diskutiert werden, durchaus wieder zunichte machen. Zweitens hängt die
Schnelligkeit des Verfahrens von der Anzahl der Vergleichsoperationen ab.
Diese Anzahl ist offensichtlich gegeben durch
gegeben. Der Erwartungswert von ist
mit
Ähnlich wie bei den Verwerfungsverfahren nennen wir die Größe
die Erfolgswahrscheinlichkeit:
|
(3) |
Wie man sich leicht klarmachen kann, kann positive wie negative
Werte annehmen. Den optimalen Wert für erhält man aus dem folgenden
Satz:
Sei und der Median definiert durch
Dann ist der optimale Startwert durch
Vorraussetzung für beide Fälle ist jedoch, daß
In allen Programmbeispielen werden wir mit als Parameter
beginnen, dann ist der Startwert . Es muß aber betont werden, daß dieses Verfahren
nicht notwendig das optimale Verfahren ist.
Verwerfungsverfahren.
Die Verwerfungsverfahren werden ganz analog wie bei kontinuierlichen
Veränderlichen eingeführt. Wir stellen die Wahrscheinlichkeitsverteilung
in der Form
|
(4) |
mit
dar. Hierbei sollte eine möglichst gute Approximation von sein
und wir sollten für bereits einen Simulations- Algorithmus besitzen.
Das Verfahren lautet also: Erzeuge und eine
Veränderliche aus der Wahrscheinlichkeitsverteilung .
Wenn dann
akzeptiere als Veränderliche der Wahrscheinlichkeitsverteilung
, sonst beginne von vorne.
Besonders einfach ist bei diskreten Veränderlichen das von Neumannsche
Verfahren, sofern die Veränderliche auf endlich viele Werte
beschränkt ist, d.h. . Für setzen wir die
diskrete Gleichverteilung
|
(5) |
und für die Funktion
|
(6) |
Das Verfahren lautet: Erzeuge
und bestimme
gemäß
Wenn dann
akzeptiere als Veränderliche der Wahrscheinlichkeitsverteilung ,
sonst beginne von vorne.
Diskretisierung kontinuierlicher Funktionen.
Jede Wahrscheinlichkeitsverteilung kann als Integral über eine kontinuierliche
Dichtefunktion dargestellt werden:
|
(7) |
mit
Für große Werte von kann das Inegral approximiert werden durch
(man beachte: )
|
(8) |
Das Verfahren lautet: Erzeuge eine Veränderliche aus der
Dichtefunktion und bestimme gemäß
ist dann eine Veränderliche aus .
Simulation des verbalen Wortmodells.
Bei diskreten Veränderlichen liefert die Übertragung des verbalen
Wortmodells in ein Rechnerprogramm häufig sehr schnelle Algorithmen.
Ein Beispiel möge dieses belegen. Eine Veränderliche der
Binominal- oder Bernoulli- Verteilung hatten wir definiert als Anzahl der
positiven Versuche in einer Reihe von insgesamt
Versuchen, wobei der Einzelversuch mit einer Wahrscheinlichkeit zu
einem positiven Ergebnis führt. Wir simulieren den Einzelversuch durch
den einmaligen Aufruf des Zufallszahlen- Generators. Der Versuch wird als
positiv bewertet, sofern die Zufallszahl . Diesen Einzelversuch
wiederholen wir -mal und zählen die Anzahl der positiven Ereignisse.
Die Zahl ist dann offenbar eine Veränderliche der Binominalverteiling
. Der Rechenaufwand in diesem Algorithmus besteht im wesentlichen
aus der Erzeugung von Zufallszahlen aus . Ähnliche Wortmodelle
können für fast alle diskreten Veränderlichen formuliert werden.
Bevor wir fortfahren, sollten Sie das
Applet über die diskreten Verteilungen
auf Ihren Bildschirm laden.
Binomial-Verteilung
Wir bezeichnen die Binomialverteilung
mit . Die Methode JBinomial1 beschreibt das Wortmodell. Wir erzeugen uns Zufallszahlen mit
dem Gleichverteilungsgenerator Ranmar und fragen nach der Anzahl der Zahlen mit .
In der Methode JBinomial2 haben wir die inverse Transformationsmethode realisiert. Hierfür wurden
die folgenden Ausdrücke berechnet:
Die eckigen Klammer bedeuten hier und im folgenden die Abrundung auf eine ganze Zahl.
Die Anzahl der Vergleichsoperationen ist im Mittel durch
gegeben. Die Verteilung dieser Zahlen zeigen wir im Applet im Plot RandomCalls.
Für große Werte von kann die Binomial- Verteilung durch eine Normalverteilung approximiert werden
(siehe auch Kap.1 dieses Tutorials). Die Größe
|
(9) |
ist näherungsweise normal verteilt, mit einer Standardabweichung von . In der Methode
JBinomial3 erzeugen wir uns daher eine normal verteilte Variable aus und lösen
die Gleichung (9) nach auf:
Poisson- Verteilung
Wir schreiben die Poisson- Verteilung in der Form
und bezeichnen diese mit . Unser erstes Modell kommt aus dem radioaktiven Zerfall.
Wenn das Zeitintervall zwischen zwei Zerfällen aus einer Exponentialverteilung ist,
dann ist die Anzahl der Zerfälle in der Zeiteinheit durch eine Poissonverteilung
gegeben. Mathematisch können wir diesen Sachverhalt formulieren als
mit
aus und aus . Daher gilt auch
oder
Der in JPoisson1 entwickelte Algorithmus basiert auf dieser letzten Ungleichung.
In JPoisson2 wird wiederum die inverse Transformationsmethode angewendet. Die entsprechenden Formeln
sind
Die Anzahl der notwendigen Vergleichsoperationen ist ähnlich wie bei der Binomial- Verteilung durch
gegeben. Auch die Poisson- Verteilung kann für große Werte von durch eine Normalverteilung approximiert
werden. Die Variable
ist dann aus . Wir lösen wieder nach auf und erhalten
JPoisson3 zeigt diesen Algorithmus.
Geometrische Verteilung
Die geometrische Verteilung
wird mit abgekürzt und beschreibt die Anzahl der Versuche in einem Bernoulli- Experiment bis zum ersten
erfogreichen Versuch. Dieses Wortmodell ist in JGeometric1 in einen Simulations- Algorithmus umgesetzt worden.
In der inversen Transformationsmethode in JGeometric2 starten wir die Vergleichsoperationen ausnahmsweise
bei
und benutzen
. Die mittlere Zahl der Vergleichsoperationen ist dann
Ein sehr schöner Algorithmus folgt aus der Verbindung der geometrischen Verteilung und der Exponentialverteilung.
Wenn eine Variable aus ist, dann gilt
Der rechts stehende Ausdruck ist aber nichts anderes als
. Wir erzeugen also eine
Variable aus einer Gleichverteilung und berechnen
ist dann eine Varible aus der geometrischen Verteilung. Der Algorithmus ist in JGeometric3 gezeigt.
Negative Binomialverteilung
Als letztes diskutieren wir noch die negative Binomialverteilung :
Hier ist die Anzahl der positiven Versuche in einem Bernoulli- Experiment bis zum Auftreten von negativen Versuchen.
Dieses ist exakt das Wortmodell in JNegBinomial1. Für die inverse Transformationsmethode in JNegBinomial2
haben wir die folgenden Ausdrücke berechnet:
Die mittlere Anzahl der Vergleichsoperationen ist
Der dritte Algorithmus ist hergeleitet aus der Verbindung der negativen Binomialverteilung mit der Gammaverteilung
und der Poissonverteilung. Wir nehmen an, daß der Parameter in der Poissonverteilung
mit einer Gammaverteilung variiert:
Dann erhalten wir die gefaltete Verteilung
Die Berechnung führt auf
Also ist eine Variable aus
. Unser Algorithmus lautet also: Erzeuge aus
Gammaverteilung und aus der Poissonverteilung . Der Source- Code wird in JNegBinomial3 gezeigt.
Der letzte Algorithmus in JNegBinomial4 benutzt die Verbindung zwischen der negativen Binomialverteilung und
der geometrischen Verteilung. Der Algorithmus lautet: Erzeuge Variable
aus der
geometrischen Verteilung und setze
.
Schlußbemerkung
Hiermit wollen wir unser Tutorial über Statistik mit Schwerpunkt auf Simulationsalgorithmen zufälliger Veränderlicher
beschliessen. Der aufmerksame Leser sollte hiermit in der Lage sein, auch für andere Veränderliche effektive
Algorithmen zu entwickeln. Die Simulation ist heute eine wichtige Methode in allen Gebieten der Wissenschaften
geworden.
Harm Fesefeldt
2006-07-11