Grundbegriffe der Wahrscheinlichkeitsrechnung: Die Zufallsvariable
Zufallsvariablen sind die geeignete Begriffsbildung um sowohl Ereignisse als auch deren Wahrscheinlichkeiten treffend zu beschreiben und zu berechnen. In späteren Anwendungen der Wahrscheinlichkeitsrechnung werden Zufallsvariablen ständig eingesetzt. Hier wird zunächst gezeigt, wie Zufallsvariablen mit der Ereignisalgebra und dem Wahrscheinlichkeitsmaß zusammenhängen und sich so nahtlos in den Aufbau der Wahrscheinlichkeitsrechnung einfügen. In den R-Skripten wird gezeigt, wie man Zufallsvariable leicht modellieren kann.
- Einordnung des Artikels
- Einführung
- Ein erstes Beispiel: Beschreibung von Ereignissen mit Zufallsvariablen
- Zufallsvariable und Ereignisalgebra
- Definition der Zufallsvariable
- Zufallsvariable und Wahrscheinlichkeit
- Missbrauch von Zufallsvariablen
- Vergröberungen
- R-Skripte
- Modellierung einer Zufallsvariable
- Erzeugen von Zufallsvariablen
- Überprüfen, ob eine Zufallsvariable vorliegt
- Weitere Hilsfunktionen
- Simulationen
Einordnung des Artikels
- Ausgewählte Kapitel der Mathematik (für Programmierer, Informatiker, Ingenieure und Naturwissenschaftler)
- Wahrscheinlichkeitsrechnung
- Grundbegriffe der Wahrscheinlichkeitsrechnung: Zufallsexperiment und Wahrscheinlichkeit
- Grundbegriffe der Wahrscheinlichkeitsrechnung: Die Axiome von Kolmogorov
- Grundbegriffe der Wahrscheinlichkeitsrechnung: Die Zufallsvariable
- Wahrscheinlichkeitsrechnung
Einführung
Im Kapitel Grundbegriffe der Wahrscheinlichkeitsrechnung: Zufallsexperiment und Wahrscheinlichkeit wurde im Abschnitt Ereignisse und Ereignisalgebra gezeigt, dass die Ereignisalgebra zwar die angemessene Struktur im Ergebnisraum liefert, um bestimmte Ereignisse zu beschreiben, andererseits ist das Hantieren mit einer Ereignisalgebra sehr umständlich — und auch meist gar nicht erforderlich. Eine deutlich einfachere Beschreibung von relevanten Ereignissen kann nämlich mit Hilfe von Zufallsvariablen geschehen.
Ebenso sind Wahrscheinlichkeiten eigentlich den Elementen einer Ereignisalgebra zugeordnet; da diese mit Hilfe von Zufallsvariablen ausgedrückt werden können, lassen sich auch Wahrscheinlichkeiten einfacher mit Hilfe von Zufallsvariablen angeben.
Ein erstes Beispiel: Beschreibung von Ereignissen mit Zufallsvariablen
In Ereignisse und Ereignisalgebra wurde die Ereignisalgebra beim Würfeln beschrieben, wenn nur bestimmte Ereignisse betrachtet werden. Dazu wurden Herr Forsch und Herr Scheu vorgestellt, die mit unterschiedlichen Strategien vorgehen:
- Herr Forsch setzt immer auf die 6 und gewinnt 5 EUR, wenn sie erscheint; andernfalls geht sein Einsatz von 1 EUR verloren.
- Herr Scheu setzt auf die geraden Zahlen 2, 4, 6 und gewinnt 1 EUR, wenn eine gerade Zahl erscheint; andernfalls geht sein Einsatz von 1 EUR verloren.
Die Beträge 5 EUR und 1 EUR sind der jeweilige Nettogewinn; die Auszahlungsbeträge sind um einen EUR höher.
Die Ereignisalgebra, die es erlaubt sämtliche Ereignisse der Art "Herr Forsch verliert und gleichzeitig gewinnt Herr Scheu", kann man in Ereignisse und Ereignisalgebra nachlesen oder selbst nochmal bestimmen – selbst bei einem so einfachen Beispiel sollte klar sein, dass der Umgang mit einer Ereignisalgebra sehr mühsam und fehleranfällig ist.
Stattdessen wird jetzt der Nettogewinn der beiden Spieler durch je eine Zufallsvariable beschrieben; sie ist eine Abbildung auf der Ergebnismenge
Ω = {1, 2, 3, 4, 5, 6},
die man an folgender Wertetabelle leicht nachvollziehen kann:
ω | 1 | 2 | 3 | 4 | 5 | 6 |
F(ω) | -1 | -1 | -1 | -1 | -1 | +5 |
S(ω) | -1 | +1 | -1 | +1 | -1 | +1 |
Tabelle 1: Der Nettogewinn für die Herren Forsch und Scheu ausgedrückt als Zufallsvariable F und S.
Ereignisse wie "Herr Forsch gewinnt" oder "Herr Forsch gewinnt nicht" können wie bisher als Mengen, also einer Auflistung von Elementarereignissen, angegeben werden oder kürzer durch den Wert einer Zufallsvariable:
"Herr Forsch gewinnt" = {6} = F5 = {ω ∈ Ω : F(ω) = 5}.
"Herr Forsch gewinnt nicht" = {1; 2; 3; 4; 5} = F−1 = {ω ∈ Ω : F(ω) = −1}.
Auch die Mengenoperationen innerhalb der Ereignisalgebra können jetzt einfacher und suggestiver ausgedrückt werden. Zum Beispiel kann man das Ereignis
("Herr Forsch gewinnt nicht" und "Herr Scheu gewinnt" ) = {2; 4}
jetzt auch schreiben als
F−1 ∩ S1.
Zufallsvariable und Ereignisalgebra
Das Beispiel oben hat demonstriert, wie Zufallsvariablen und Elementarereignisse zusammenhängen. Dies soll jetzt auf Ereignisalgebren ausgedehnt werden.
Ohne den Begriff der Zufallsvariable war es schwer zu formulieren, welche Ereignisse "relevant" und welche Ereignisse "nicht relevant" sind: Man muss alle Elementarereignisse mühsam sortieren und zu Ereignissen zusammenfassen; anschließend muss man mit Hilfe von Vereinigungen und Komplement-Bildung die gesamte Ereignisalgebra aufbauen.
In der Praxis ist dies viel einfacher, wenn die relevanten Ereignisse über eine Zufallsvariable F beschrieben werden (siehe das Beispiel mit dem Würfelspiel, Tabelle 1). Dazu ist in Abbildung 1 die Zufallsvariable F (Nettogewinn für Herrn Forsch) als Abbildung auf Ω dargestellt (oben): man erkennt, welchem Elementarereignis ω welcher Nettogewinn F(ω) zugeordnet wird.
Und durch die Zufallsvariable ist eindeutig festgelegt, welche Ereignisse in der Ereignisalgebra enthalten sein müssen: Kann die Zufallsvariable F den Wert x annehmen, dann muss die zugehörige Menge von Elementarereignissen, die auf x abgebildet werden, in der Ereignisalgebra A enthalten sein:
Fx = {ω ∈ Ω : F(ω) = x} ∈ A.
Das heißt, dass das Urbild von x unter der Abbildung F in der Ereignisalgebra A enthalten sein muss. Diese Urbilder sind in der Abbildung 1 in der Mitte erkennbar: Hier wird Ω in zwei Teilmengen zerlegt (rot und blau gekennzeichnet).
Bildet man zu allen x-Werten, die die Zufallsvariable F annehmen kann, die Urbilder, so hat man die "relevanten" Ereignisse (oder Mengen) identifiziert, die in der Ereignisalgebra enthalten sein müssen.
Die Wertemenge der Zufallsvariable F wird mit W(F) bezeichnet und es wird im Folgenden angenommen, dass W(F) eine Teilmenge der reellen Zahlen ist. (Die Zufallsvariable F wird dann auch als reelle Zufallsvariable bezeichnet.)
Damit kann man diejenigen Mengen, die auf jeden Fall in der Ereignisalgebra enthalten sein müssen, durch
{Fx: x ∈ W(F)} ⊂ A
charakterisieren. Dieses Mengensystem wird jetzt mit Hilfe von Vereinigungen und Komplement-Bildung zu einer Ereignisalgebra erweitert.
Ob dies immer möglich ist, ist keine einfache Frage – sie wird in der Wahrscheinlichkeitstheorie (oder Maßtheorie) untersucht. Zumindest für Ergebnismengen Ω mit endlich vielen Elementen gibt es eine eindeutig bestimmte kleinste Ereignisalgebra A, die sämtliche Fx, mit x ∈ W(F), enthält. Man nennt dann A die von der Zufallsvariable F erzeugte Ereignisalgebra (oder induzierte Ereignisalgebra).
In Abbildung 1 ist die Ereignisalgebra A aufgeführt, die von F erzeugt wird (mitte rechts); es ist die kleinste Ereignisalgebra, die aus den Mengen {1, 2, 3, 4, 5} und {6} gebildet werden kann.
In Abbildung 1 unten sind mehrere Schreibweisen angegeben, wie man den Zusammenhang zwischen einer Menge von Elementarereignissen und den Werten der Zufallsvariable schreiben kann:
- Der Wert der Zufallsvariable wird als Index geschrieben, wie in F5. Dies ist eine Möglichkeit, um die Menge an Elementarereignissen zu kennzeichnen, bei denen F den Wert 5 annimmt.
- Die mathematisch korrekte Schreibweise ist mit der Umkehrabbildung: F-1 (5) beschreibt das Urbild der Zahl 5 unter der Abbildung F, also die Menge {6}. Diese Schreibweise wird meist nur in Einführungen verwendet, um die Eigenschaften von Zufallsvariablen zu erklären.
- Die suggestivste Schreibweise ist {F = 5}, oder nur "F = 5", mit der das Ereignis gekennzeichnet werden soll, dass F den Wert 5 annimmt.
Definition der Zufallsvariable
Im letzten Abschnitt wurde der Zusammenhang zwischen einer Ereignisalgebra und einer Zufallsvariable hergestellt; dabei sollten zwei charakteristische Merkmale aufgefallen sein:
- Der Name Zufalls-Variable suggeriert, dass der Wert dieser Variable vom Zufall abhängen muss. Betrachtet man aber Tabelle 1 oder Abbildung 1 oben, so erkennt man, dass F eine Abbildung im Sinne der Mathematik ist, die jedem Eingabewert ω eindeutig einen Wert F(ω) zuordnet – bei der Berechnung von F(ω) wird nicht "gewürfelt".
- Es war nirgends von Wahrscheinlichkeiten die Rede: offensichtlich beruht der Begriff der Zufallsvariable nicht darauf, dass auf der Menge Ω Wahrscheinlichkeiten definiert sind.
Den ersten Punkt sollte man nochmal ausdrücklich so formulieren: Eine Zufallsvariable F ist durch ihr Argument ω eindeutig festgelegt. Der "Zufall" spielt lediglich bei der Durchführung des Zufallsexperimentes eine Rolle, wenn bestimmt wird, welches ω eintritt. Ist das Elementarereignis ω gegeben, berechnet die Zufallsvariable F daraus einen eindeutigen Wert.
In Grundbegriffe der Wahrscheinlichkeitsrechnung: Die Axiome von Kolmogorov wurde der Wahrscheinlichkeitsraum (Ω, A, P) eingeführt, der aus drei Elementen besteht:
- Einer Menge von Elementarereignissen Ω.
- Einer Ereignisalgebra A aus Teilmengen von Ω.
- Einem Wahrscheinlichkeitsmaß P, das jeder Menge A aus A eine Wahrscheinlichkeit P(A) zuordnet.
Die Diskussion des Zusammenhanges zwischen Zufallsvariable und Ereignisalgebra oben sollte verdeutlichen, dass zur Definition einer Zufallsvariable kein Wahrscheinlichkeitsmaß nötig ist.
Allerdings können diese Diskussionen bezüglich eines anderen Punktes irreführend sein: Was ist zuerst da, die Zufallsvariable oder die Ereignisalgebra? Auch dies sollte man klarstellen:
- Die Diskussion oben hat gezeigt, wie man zu einer reellen Funktion F auf einer Menge Ω die zugehörige Ereignisalgebra konstruiert. Allerdings ist das vorgestellte Verfahren nur für Ergebnismengen Ω mit endlich vielen Elementen anwendbar.
- Gibt man eine Definition für den Begriff Zufallsvariable an, geht man daher von einer geeigneten Ereignisalgebra aus (siehe die Definition unten). Denn dann muss man nicht erst zeigen, ob die Zufallsvariable eine eindeutige Ereignisalgebra erzeugt.
Damit kann die Definition einer reellen Zufallsvariable endlich erfolgen.
Definition: Ist Ω eine beliebige Menge und A eine Ereignisalgebra auf Ω, dann heißt eine Funktion
F : Ω → R
eine reelle Zufallsvariable, wenn für jedes reelle x gilt:
{ω ∈ Ω: F(ω) ≤ x} ∈ A.
Bemerkungen:
- Man beachte, dass in der Definition die Ereignisalgebra A bereits vorgegeben ist und nicht von der Zufallsvariable F erzeugt wird.
- Dass man nicht wie in dem oben diskutierten Beispiel die Urbilder von Elementen x der Wertemenge W (F) betrachtet, sondern Urbilder von Intervallen, ist ein Ergebnis der Wahrscheinlichkeitstheorie: damit ist sichergestellt, dass der Begriff der Zufallsvariable für beliebige Ω (mit einer zugehörigen Ereignisalgebra A) definiert werden kann.
- Man kann den Hintergrund, warum in der Definition oben Urbilder von Intervallen betrachtet werden, auch so beschreiben: Gibt es in dem Raum, in den F abbildet (hier sind es die reellen Zahlen R) eine Ereignisalgebra B, so kann man eine Ereignisalgebra auf Ω erzeugen, indem man Urbilder von Mengen B ∈ B betrachtet. Dann liegt wieder die einfache Situation vor wie bei Ω mit endlich vielen Elementen.
Zufallsvariable und Wahrscheinlichkeit
Aus dem letzten Abschnitt sollte klar geworden sein, dass eine Zufallsvariable immer mit einer Ereignisalgebra verknüpft ist. Zur Berechnung von Wahrscheinlichkeiten muss also nichts Neues gesagt werden, denn die Wahrscheinlichkeiten sind den Mengen der Ereignisalgebra zugeordnet. Wenn also eine Zufallsvariable F den Wert x annimmt, so ist dies mit einer Menge von Elementarereignissen verbunden:
Fx = {ω ∈ Ω : F(ω) = x}.
Und wenn diese Menge in der Ereignisalgebra A enthalten ist, auf der das Wahrscheinlichkeitsmaß P definiert ist, kann die Wahrscheinlichkeit dieser Menge berechnet werden — diese Wahrscheinlichkeit wird etwas suggestiver mit P(F = x) bezeichnet:
P(F = x) = P({ω ∈ Ω : F(ω) = x})
Der Zusammenhang zwischen Zufallsvariablen und Wahrscheinlichkeiten wird also allein über die Ereignisalgebra A hergestellt; wirklich neu in diesem Abschnitt ist somit nur, dass man mit Hilfe von Zufallsvariablen Ereignisse und deren Wahrscheinlichkeit suggestiver schreiben kann:
P(F = x)
steht jetzt für die Wahrscheinlichkeit dafür, dass ein Elementarereignis ω eintritt, bei dem die Zufallsvariable F(ω) den Wert x annimmt.
Beispiel:
Die Zufallsvariable F hatte oben den Nettogewinn von Herrn Forsch beschrieben (siehe Tabelle 1 und Abbildung 1). Möchte man die Wahrscheinlichkeiten der für Herrn Forsch relevanten Ereignisse angeben, so kann man jetzt kurz schreiben:
P(F = -1) = 5/6 und P(F = +5) = 1/6.
Die Elementarereignisse sind in dieser Schreibweise nicht mehr sichtbar.
Missbrauch von Zufallsvariablen
Betrachtet man Tabelle 1 für einen Laplace-Würfel, so wird man die Zufallsvariablen F und S ohne die Elementarereignisse und lediglich mit den Wahrscheinlichkeiten angeben wie dies in Tabelle 2 erfolgt:
F | -1 | +5 |
P(F = x) | 5/6 | 1/6 |
S | -1 | +1 |
S(F = x) | 1/2 | 1/2 |
Tabelle 2: Die Werte der Zufallsvariablen F und S sowie die Wahrscheinlichkeiten, mit denen diese Werte angenommen werden (mit Laplace-Annahme für den Würfel).
In Tabelle 2 wurde kein Fehler gemacht, und in dieser Form werden Zufallsvariablen meist eingesetzt: es ist oft nicht mehr nötig, die zugrunde liegenden Elementarereignisse zu betrachten, stattdessen werden sofort die Wahrscheinlichkeiten der möglichen Werte der Zufallsvariablen angegeben.
Aber die Darstellung verleitet zu einer irreführenden Interpretation der Zufallsvariablen. Denn in Tabelle 2 kommt nicht mehr zum Ausdruck, dass die Zufallsvariablen als Funktionen auf einer Ergebnismenge Ω definiert sind und dass ihr Wert eindeutig aus einem ω ∈ Ω hervorgeht. Man könnte daher den Begriff der Zufallsvariable in dem Sinne falsch verstehen, dass sie eine Größe ist, die "zufällige Werte" mit vorerst "unbekannten Wahrscheinlichkeiten" annimmt.
Wenn man über Größen redet, die sich derart charakterisieren lassen, sollte man den Begriff Zufallsvariable vermeiden!
Vergröberungen
In Tabelle 3 ist ein Zufallsexperiment mit 4 Elementarereignissen Ω = {1, 2, 3, 4} dargestellt sowie drei Zufallsvariablen X4, X2 und X1. Es ist nicht schwer zu erraten, wie diese drei Zufallsvariablen definiert sind: Sie berechnen den Rest bei Division von ω durch 4, 2 beziehungsweise 1.
ω | 1 | 2 | 3 | 4 |
X4 | 1 | 2 | 3 | 0 |
X2 | 1 | 0 | 1 | 0 |
X1 | 0 | 0 | 0 | 0 |
Tabelle 3: Eine Ergebnismenge Ω mit 4 Elementen und drei Zufallsvariablen.
In welchem Sinn sind diese Zufallsvariablen relevant? Betrachtet man die Ereignisalgebren, die von ihnen erzeugt werden, so stellt man fest:
- Die Zufallsvariable X4 erzeugt die umfangreichste Ereignisalgebra, die man mit Ω bilden kann, nämlich die Potenzmenge von Ω, also die Menge aller Teilmengen von Ω. Sie besitzt 24 = 16 Elemente.
- Die Zufallsvariable X2 erzeugt eine Ereignisalgebra mit lediglich 4 Elementen: {{}, {1, 3}, {2, 4}, {1, 2, 3, 4}}.
- Und die Zufallsvariable X1 erzeugt die kleinstmögliche Ereignisalgebra mit nur zwei Elementen: {{}, {1, 2, 3, 4}}.
Somit sind die von den Zufallsvariablen erzeugten Ereignisalgebren ineinander enthalten:
A (X1) ⊂ A (X2) ⊂ A (X4).
Man kann dies auch ohne Rückgriff auf die Ereignisalgebra formulieren:
- Die Zufallsvariable X4 zerlegt Ω in 4 disjunkte Mengen, die hier genau mit den Elementarereignissen übereinstimmen.
- Die Zufallsvariable X2 zerlegt Ω nur in 2 disjunkte Mengen, nämlich in {1, 3} und {2, 4}.
- Und die Die Zufallsvariable X1 als konstante Funktion trifft keinerlei Unterscheidung zwischen den Werten von Ω und kann somit Ω nicht zerlegen.
Somit liefert die Zufallsvariable X1 die gröbste Information über das eingetretene Elementarereignis (nämlich keine Information) und X4 die feinste Information. Oder wie man auch sagt:
- X2 ist eine Vergröberung von X4 und
- X1 ist eine Vergröberung von X2.
Man sieht an diesem Beispiel, dass auch der Begriff der Vergröberung, der eigentlich auf der Ebene der Ereignisalgebra definiert ist, mit Hilfe von Zufallsvariablen formuliert werden kann.
R-Skripte
Modellierung einer Zufallsvariable
Die Erklärungen im Theorie-Teil oben lassen womöglich noch nicht erahnen, wie wichtig Zufallsvariable in der Wahrscheinlichkeitsrechnung sind. Sobald man Zufallsexperimente simulieren oder Eigenschaften von Zufallsvariablen numerisch berechnen möchte, muss man sich überlegen, wie eine Zufallsvariable modelliert wird. Es wird hier ein einfacher Zugang gewählt, der immer dann anwendbar ist, wenn eine Zufallsvariable eine Wertemenge mit endlich vielen reellen Werten besitzt: Die Zufallsvariable wird durch ein Dataframe modelliert, das zwei Spalten besitzt:
- Eine Spalte
value
für die möglichen Werte der Zufallsvariable. - Eine Spalte
prob
für die Wahrscheinlichkeiten der entsprechenden Werte.
Im Sinne des oben diskutierten Zusammenhanges zwischen Wahrscheinlichkeitsraum und Zufallsvariable ist diese Modellierung zwar etwas fragwürdig, da sie bereits ein Wahrscheinlichkeitsmaß voraussetzt, das eigentlich für die Definition einer Zufallsvariable nicht nötig ist. In den meisten Anwendungen von Zufallsvariablen liegt aber genau diese Situation vor.
Die Eigenschaften von Dataframes wurden in Dataframes in R: der Datentyp data frame und Dataframes in R: Anwendungen ausführlich erklärt; die nötigen Kenntnisse darüber werden hier vorausgesetzt.
Erzeugen von Zufallsvariablen
Das folgende Skript zeigt, wie man die Zufallsvariable, die den Nettogewinn von Herrn Forsch beschreibt (siehe Tabelle 1), als Dataframe erzeugt:
values <- c(-1, 5)
probs <- c(5, 1) / 6
f <- data.frame(value = values, prob = probs)
print(f, digits = 3)
# value prob
# 1 -1 0.833
# 2 5 0.167
Zeile 1 und 2: Die Werte und die entsprechenden Wahrscheinlichkeiten werden definiert.
Zeile 4: Aus den Werten der Zufallsvariable und den zugehörigen Wahrscheinlichkeiten wird ein Dataframe mit 2 Spalten gebildet. Damit man später leichter auf die Spalten zugreifen kann, werden ihnen Namen gegeben. Man kann sogar einen Schritt weitergehen und fordern, dass die Werte und Wahrscheinlichkeiten mit diesem Namen im Dataframe abgelegt werden müssen (siehe weiter unten bei is.randomVariable()
). Man könnte natürlich die Zeilen 1, 2 und 4 zu einer Anweisung zusammenfassen, da man die Objekte values
und probs
im Folgenden nicht mehr benötigt.
Zeile 5: Die Ausgabe zeigt das Dataframe.
Überprüfen, ob eine Zufallsvariable vorliegt
In den folgenden Kapiteln werden zahlreiche Simulationen und Berechnungen mit Hilfe von Zufallsvariablen durchgeführt, die als Dataframes gespeichert werden. Damit ein Dataframe eine Zufallsvariable beschreiben kann, müssen mehrere Bedingungen erfüllt sein. Es ist daher sinnvoll eine Funktion zu implementieren, die überprüft, ob ein Dataframe die Bedingungen erfüllt, die man an eine Zufallsvariable stellt. Diese Bedingungen sind:
- Es wird die Konvention vereinbart, dass die Werte und Wahrscheinlichkeiten über die Namen
value
undprob
angesprochen werden. Daher muss das Dataframe zwei Spalten mit diesen Namen besitzen. (Welche die erste und welche die zweite Spalte ist unerheblich, wenn die Spalten nur über die Namen angesprochen werden.) - Die genannten Spalten müssen identische Länge besitzen. Diese Abfrage sollte eigentlich überflüssig sein, da man kein anderes Dataframe erzeugen kann.
- Keine der Einzel-Wahrscheinlichkeiten in der Spalte
prob
darf negativ sein. - Die Summe der Einzel-Wahrscheinlichkeiten muss 1 ergeben. Diese Bedingung kann Schwierigkeiten verursachen, wenn mit den Wahrscheinlichkeiten Berechnungen ausgeführt werden (zum Beispiel wenn Zufallsvariablen miteinander verknüpft werden). Denn durch Rundungsfehler kann es zu kleinen Abweichungen kommen, die man tolerieren kann. Es ist daher besser eine Schranke ε vorzugeben (etwa in der Größenordnung 10-8) und nur zu überprüfen, ob die Summe der Wahrscheinlichkeiten um weniger als ε von 1 abweicht.
- Die Werte in der Spalte
value
müssen eindeutig sein.
Das folgende Skript zeigt eine mögliche Implementierung für die Funktion is.randomVariable()
; in den cat()
-Befehlen kann man geeignete Debug-Ausgaben einfügen oder sie ganz weglassen.
is.randomVariable <- function(rv, eps = 1e-8){
stopifnot(is.data.frame(rv))
result <- TRUE
if( !( identical(names(rv), c("prob", "value")) || identical(names(rv), c("value", "prob")) ) ){
cat("names \n")
result <- FALSE
}
if( !identical(length(rv$value), length(rv$prob)) ){
cat("length != \n")
result <- FALSE
}
if(any(rv$prob < 0)){
cat("neg. Prob. \n")
result <- FALSE
}
if( abs( sum(rv$prob) - 1 ) > eps ){
cat("sum Prob \n")
result <- FALSE
}
if( !identical(rv$value, unique(rv$value)) ){
cat("Eind. \n")
result <- FALSE
}
return(result)
}
Eingabewerte sind das Dataframe, das eine Zufallsvariable rv (rv = random variable) repräsentieren soll und die Schranke eps.
Weitere Hilsfunktionen
Wenn später weitere Eigenschaften von Zufallsvariablen besprochen werden, wird man hier weitere hilfreiche Funktionen implementieren. Mit ihnen wird dann eine als Dataframe modellierte Zufallsvariable verarbeitet (etwa Berechnung des Erwartungswertes oder Summe von Zufallsvariablen).
Simulationen
Um Glücksspiele wie mit der Zufallsvariable F oben zu simulieren, muss man natürlich nicht erst das Würfeln simulieren und dann umrechnen, ob Herr Forsch gewonnen hat, sondern man kann sofort die Ergebnisse der Zufallsvariable mit den entsprechenden Wahrscheinlichkeiten erzeugen. Dazu muss man nur die Funktion sample()
geeignet konfigurieren. Hier wird das Glücksspiel 18 mal durchgeführt; die Ergebnisse des Würfelns werden nicht erzeugt, sondern es wird sofort der Gewinn von Herrn Forsch berechnet. Dazu muss für das Argument x die Spalte value
des Dataframes und für die Wahrscheinlichkeiten prob die Spalte prob
verwendet werden:
v <- sample(x = f$value, size = 18, prob = f$prob, replace = TRUE)
v
# [1] -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 -1 -1
sum(v)
# [1] -6
Zeile 3 zeigt die Ausgabe der Nettogewinne, Zeile 5 den bei den 18 Spielen erlittenen Gesamtverlust.