Lektion 5 1 Stetige Verteilungen in R In Lektion 1 haben Sie bereits die Log-Normalverteilung als ein Beispiel der in R implementierten Verteilungen kennengelernt. Die neben dieser ebenfalls verfügbaren stetigen Verteilungen sind in der untenstehenden Tabelle aufgeführt. Unter stetigen Verteilungen“ sollen dabei solche verstanden wer” den, die eine stetige Verteilungsfunktion besitzen. Name Verteilung auf Parameter Defaults beta Beta [0, 1] shape1, shape2, ncp -, - , 0 cauchy Cauchy R location, scale 0, 1 chisq Chi-quadrat R+ df, ncp -, 0 exp Exponential R+ rate 1 f F R+ df1, df2, ncp -, -, 0 gamma Gamma R+ shape, rate -, 1 lnorm Log-normal R+ meanlog, sdlog 0, 1 logis Logistische R location, scale 0, 1 norm Normal R mean, sd 0, 1 t Studentsche t R df, ncp -, 0 unif Gleichverteilung [a, b] min, max 0, 1 weibull Weibull R+ shape, scale -, 1 Den Verteilungs-Kurznamen ist jeweils einer der Buchstaben d, p, q oder r voranzustellen. Mit d erhalten Sie, wie schon in der ersten Lektion gesehen, den Wert der Dichte an der (den) Stelle(n) x, mit p (probability) den Wert der zugehörigen Verteilungsfunktion. Mit q am Anfang erhalten Sie die entsprechende Quantilfunktion, und mit r (random) können Sie eine Stichprobe unabhängiger, identisch nach der jeweils gewählten Verteilung verteilter Zufallsvariablen erzeugen. Dabei gilt Definition 1: Bei einer stetigen Verteilung V mit streng monoton wachsender Verteilungsfunktion FV ist die zugehörige Quantilfunktion qV die Inverse von FV , d.h. qV : (0, 1) → R, qV (p) := FV−1 (p). Für ein p-Quantil qV (p) von V gilt somit stets p = FV (qV (p)). Bei vielen Verteilungen besitzen die zugehörigen Parameter Defaultwerte (vgl. dazu auch Lektion 2, Seite 2). Beispielsweise ist bei Normalverteilungen stets der Mittelwert (mean) 0 und die Varianz 1 voreingestellt. So erhält man z.B. für Dichte und Verteilungsfunktion der Standard-Normalverteilung an den Stellen ±1.6448536 die Werte > dnorm(c(-1.6448536,1.6448536)) [1] 0.1031356 0.1031356 > pnorm(c(-1.6448536,1.6448536)) [1] 0.05 0.95 Da die Quantilfunktion gerade die Umkehrfunktion der Verteilungsfunktion ist, sind die 5%- und 95%-Quantile gegeben durch 1 c Math. Stochastik, Uni Freiburg ° > qnorm(c(0.05,0.95)) [1] -1.644854 1.644854 Bei Änderung der Varianz von Normalverteilungen muss man in R etwas Vorsicht walten lassen: Der zweite Verteilungsparameter sd (standard deviation) beschreibt nicht die Varianz, sondern deren Wurzel! Die Wahrscheinlichkeit, dass eine normalverteilte Zufallsvariable mit Mittelwert 1 und Varianz 4 innerhalb des Intervalls [0, 3] liegt, berechnet sich daher in R wie folgt: > pnorm(3,mean=1,sd=2)-pnorm(0,mean=1,sd=2) [1] 0.5328072 Zum Vergleich von Dichte- und Quantilfunktion der Standard-Normalverteilung zeichnen wir beide in einem gemeinsamen Plot. Dabei definieren wir, um Verzerrungen zu vermeiden, wie in der letzten Lektion zunächst einen quadratischen Plotbereich. > par(pty="s") > x <- seq(-2,2,0.01) > plot(x,pnorm(x),type="l",col="blue",ylim=c(-2,2),xlab="x",ylab="", main="Verteilungs- und Quantilfuntion von N(0,1)") > lines(seq(0.02,0.98,0.01),qnorm(seq(0.02,0.98,0.01)),col="red") Zur Verdeutlichung fügen wir noch die Asymptoten beider Kurven hinzu. Zum Zeichnen solcher Geraden kann man den Befehl abline() einsetzen. Mit abline(a,b) wird eine Gerade der Form y = a + bx gezeichnet, mit abline(h=y) eine zur x-Achse parallele (horizontale) Gerade durch y und mit abline(v=x) analog eine Parallele zur y-Achse (Vertikale) durch x. Der unten verwendete optionale Parameter lty (line type) im abline()-Befehl bewirkt, dass die Linie gestrichelt wird. Dazu sind in R fünf Strichmuster vordefiniert, die durch die Zahlen 2, . . . , 6 ausgewählt werden können (mit der Defaulteinstellung lty=1 erhält man eine normale durchgezogene Linie, mit lty=0 wird die Zeichnung der Linie unterdrückt; lty kann auch innerhalb von lines() verwendet werden). > abline(h=c(0,1),lty=3) > abline(v=c(0,1),lty=3) Im Gegensatz zu den Normal- sind die Exponentialverteilungen nur auf R+ definiert. Der Verteilungsparameter λ hat in R den Namen rate und den Defaultwert 1. Einen Plot mit Dichte und Verteilungsfunktion der Exp(2)-Verteilung kann man wie folgt erhalten: > x <- seq(0,2.5,0.01) > plot(x,dexp(x,rate=2),type="l",ylim=c(0,2.5),xlab="x",ylab="",col="orange", main="Dichte und Verteilungsfunktion von Exp(2)") > lines(x,pexp(x,rate=2),col="blue") Auch hier kann man wiederum Verteilungs- und Quantilfunktion grafisch miteinander vergleichen. Da die Verteilungsfunktion für x > 2 nur noch sehr langsam wächst, sollte der Argumentvektor für die Quantilfunktion etwas feiner unterteilt werden, damit beide Graphen in etwa die gleiche Länge haben. > plot(x,pexp(x,rate=2),type="l",ylim=c(0,2.5),xlab="x",ylab="",col="blue", main="Verteilungs- und Quantilfunktion von Exp(2)") > lines(seq(0,0.993,0.001),qexp(seq(0,0.993,0.001),rate=2),col="red") > abline(h=1,v=1,lty=3) > par(pty="m") 2 c Math. Stochastik, Uni Freiburg ° 2 Diskrete Verteilungen in R Neben den im vorigen Abschnitt vorgestellten stetigen Verteilungen sind in R auch fünf diskrete Verteilungen implementiert, nämlich die Binomialverteilung, die geometrische Verteilung, die Hypergeometrische Verteilung, die Poissonverteilung und die negative Binomial- oder Pascalverteilung. Die jeweiligen Kurznamen und benötigten Parameter können Sie der folgenden Tabelle entnehmen: Name Verteilung Parameter binom Binomial size, prob geom Geometrische prob hyper Hypergeometrische m, n, k pois Poisson lambda nbinom negative Binomial size, prob Die Parameter size und prob entsprechen bei der Binomialverteilung n und p, bei der Hypergeometrischen Verteilung ist m die Anzahl der z.B. weißen Kugeln in der Urne, n die Anzahl der schwarzen und k die Anzahl der insgesamt gezogenen Kugeln. Alle oben genannten Parameter haben keine Defaultwerte und müssen beim Aufruf der Verteilungen (durch Voranstellen von d, p, q oder r wie zuvor beschrieben) explizit angegeben werden. Für die Wahrscheinlichkeit, aus einer Urne mit 4 weißen und 6 schwarzen Kugeln bei drei Ziehungen ohne Zurücklegen insgesamt höchstens eine weiße zu ziehen, erhält man beispielsweise > phyper(1,4,6,3) [1] 0.6666667 Bei den Dichte- und Verteilungsfunktionen der geometrischen Verteilung ist als erstes Argument anstelle der Wartezeit n bis zum ersten Erfolg eines Bernoulli-Experiments die Anzahl n − 1 der vorausgehenden Misserfolge anzugeben. Die Wahrscheinlichkeit, dass bei wiederholtem Werfen einer fairen Münze spätestens im sechsten Wurf das erste Mal Kopf“ fällt, erhält man somit durch ” > pgeom(5,0.5) [1] 0.984375 Man beachte, dass alle o.g. Verteilungen nur Masse auf die natürlichen Zahlen (inklusive der Null) legen; bei einer B(10, 0.4)-Verteilung erhält man z.B. > dbinom(seq(0,2,0.5),10,0.4) [1] 0.006046618 0.000000000 0.040310784 0.000000000 0.120932352 Warnmeldungen: 1: In dbinom(seq(0, 2, 0.5), 10, 0.4) : non-integer x = 0.500000 2: In dbinom(seq(0, 2, 0.5), 10, 0.4) : non-integer x = 1.500000 Anders ausgedrückt: Bei diskreten Verteilungen berechnen die zugehörigen Dichte“-Funktionen in R ” die Elementarwahrscheinlichkeiten P (X = k), sofern die entsprechende Komponente des Argumentvektors eine natürliche Zahl k ist, und geben ansonsten Null zurück. Diese Besonderheiten sollten auch bei der grafischen Darstellung berücksichtigt werden. Dichten diskreter Verteilungen stellt man üblicherweise als Stabdiagramme dar, bei denen die einzelnen Punkte bzw. Zahlen, denen die betreffende Verteilung echt positive Gewichte zuordnet, durch Stäbe oder Linien markiert werden, deren 3 c Math. Stochastik, Uni Freiburg ° Längen jeweils den genauen Wert der dort liegenden Wahrscheinlichkeiten angeben. Grafiken dieser Art kann man in R durch Setzen der Plot-Option type="h" (histogram oder high density) erzeugen. Damit lassen sich die Gewichte der B(10, 0.4)-Verteilung wie folgt visualisieren: > plot(0:10,dbinom(0:10,10,0.4),type="h",col="red",xlab="k",ylab="", main="Gewichte der B(10,0.4)-Verteilung") Die Verteilungsfunktionen diskreter Verteilungen lassen sich als einfache Summe darstellen und berechnen. Genauer gesagt gilt die folgende Definition 2: Sei G eine Verteilung, deren Gewichte g(xk ) = P (X = xk ) auf den Zahlen (xk )k≥0 liegen, für die x0 < x1 < x2 , . . . gelte. Dann ist die zugehörige Verteilungsfunktion FG gegeben durch FG (x) := P xk ≤x g(xk ) = Pk∗ k=0 g(xk ), wobei k ∗ = max{k ≥ 0 | xk ≤ x}. Aus dieser folgt unmittelbar, dass die Verteilungsfunktionen diskreter Verteilungen stückweise konstant sind und ihren Wert nur durch Sprünge ändern. Die Sprunghöhe entspricht dabei jeweils dem an der betreffenden Stelle liegenden Gewicht. Um solche Funktionen in R grafisch darzustellen, greifen wir auf den Befehl segments(x0,y0,x1,y1) zurück, der innerhalb eines bestehenden Plots jeweils die Punkte (x0[i], y0[i]) und (x1[i], y1[i]) durch Geradenstücke miteinander verbindet. Zur Erzeugung eines zunächst leeren Plots, in den man anschließend mit Hilfe von segments() die gewünschte Verteilungsfunktion einzeichnen kann, muss die Option type="n" (nothing) gesetzt werden. Sie bewirkt, dass der plot()-Befehl lediglich anhand der Koordinatenvektoren die Achsen samt Beschriftung generiert, eine (sichtbare) Ausgabe bzw. Markierung der angegebenen Punkte jedoch unterbleibt. Um zu verdeutlichen, dass diese gemäß obiger Definition rechtsseitig stetig ist, fügen wir an den Sprungstellen zusätzlich einzelne Punkte hinzu. > plot(0:12,pbinom(0:12,10,0.4),xlab="x",ylab="",type="n", main="Verteilungsfunktion der B(10,0.4)-Verteilung") > segments(0:11,pbinom(0:11,10,0.4),1:12,pbinom(0:11,10,0.4),col="blue") > points(0:10,pbinom(0:10,10,0.4),pch=20,col="blue") Die Quantilfunktion ist für diskrete Verteilungen wie folgt definiert: Definition 3: Sei G eine Verteilung, deren Gewichte g(xk ) = P (X = xk ) auf den Zahlen (xk )k≥0 liegen, für die x0 < x1 < x2 , . . . gelte. Dann ist die zugehörige Quantilfunktion qG : (0, 1) → {xk , k ≥ 0} gegeben durch qG (p) := inf{x | FG (x) ≥ p} = xl∗ , wobei l∗ = min{l ≥ 0 | Pl k=0 g(xk ) ≥ p}. Auch die Quantilfunktion diskreter Verteilungen ist somit eine stückweise konstante Sprungfunktion, deren Sprungstellen innerhalb des Einheitsintervalls gerade den (endlich oder abzählbar vielen) verschiedenen Werten der zugehörigen Verteilungsfunktion entsprechen. Beim Plot der Quantilfunktion kann man sich zunutze machen, dass diese auch bei diskreten Verteilungen in gewissem Sinn die Inverse der Verteilungsfunktion ist und man daher das allgemeine Prinzip der Umkehrfunktion – vertausche x und y – anwenden kann. Daher kann man die Quantilfunktion der B(10, 0.4)-Verteilung in R mit den folgenden Befehlen zeichnen (man vergleiche dabei den untenstehenden segments()-Befehl mit dem zum Plotten der Verteilungsfunktion verwendeten!): > plot(c(0,1),c(0,10),type="n",xlab="p",ylab="", main="Quantilfunktion der B(10,0.4)-Verteilung") > segments(c(0,pbinom(0:9,10,0.4)),0:10,pbinom(0:10,10,0.4),0:10,col="red") > points(pbinom(0:9,10,0.4),0:9,pch=20,col="red") 4 c Math. Stochastik, Uni Freiburg ° Während die Binomialverteilungen B(n, p) ihre Gewichte lediglich auf die Zahlen 0, 1, . . . , n verteilen und somit auch deren Quantilfunktionen nur diese Werte annehmen können, belegen geometrische und Poisson-Verteilung ganz N ∪ {0} mit echt positiven Wahrscheinlichkeiten, so dass ihre Quantilfunktionen beliebig große Werte annehmen können. Wie man allerdings am Plot der Verteilungsfunktion der Geom(0.5)-Verteilung erkennen kann, ist diese bei x = 9 schon sehr nahe an der 1 und steigt für größere x nur noch sehr langsam an. > plot(0:13,pgeom(0:13,0.5),type="n",xlab="x",ylab="",ylim=c(0,1), main="Verteilungsfunktion der Geom(0.5)-Verteilung") > segments(0:12,pgeom(0:12,0.5),1:13,pgeom(0:12,0.5),col="blue") > points(0:12,pgeom(0:12,0.5),pch=20,col="blue") Dies impliziert, dass sich die Sprünge der Quantilfunktion bei 1 häufen. Wegen > qgeom(0.999,0.5) [1] 9 genügt es aber, sich auf den Wertebereich von 0 bis 9 zu beschränken, um die Quantilfunktion zumindest über (0, 0.999) (statt (0, 1)) plotten zu können. > plot(c(0,1),c(0,9),type="n",xlab="p",ylab="", main="Quantilfunktion der Geom(0.5)-Verteilung") > segments(c(0,pgeom(0:8,0.5)),0:9,pgeom(0:9,0.5),0:9,col="red") > points(pgeom(0:8,0.5),0:8,pch=20,col="red") 3 Grenzwerte der Binomialverteilung – Teil I In der Stochastik-Vorlesung haben Sie bereits den folgenden Satz von de Moivre-Laplace kennengelernt: Satz 1 (de Moivre-Laplace) Sei (Xn )n≥1 eine Folge von unabhängigen, identisch verteilten Zufallsvariablen mit P (X1 = 1) = p = 1 − P (X1 = 0) und p ∈ (0, 1). Für beliebige a < b und Sn∗ = n X k=1 Xk − p gilt dann np(1 − p) p lim P (a < Sn∗ ≤ b) = Φ(b) − Φ(a) n→∞ 1 mit Φ(x) = √ 2π Z x −∞ e− y2 2 dy. Setzt man a := −∞ und b = x, so besagt der Satz nichts anderes, als dass die Verteilungsfunktion der standardisierten Summe Sn∗ gegen die Verteilungsfunktion der Standard-Normalverteilung konvergiert. Dies soll mit den zuvor bereitgestellten Mitteln grafisch veranschaulicht werden. Wir beginnen mit n = 20 und p = 0.4. Die nicht standardisierte Summe Sn ist dann B(20, 0.4)-verteilt und hat den Erwartungswert E(S20 ) = 20 · 0.4 = 8 und die Varianz Var(S20 ) = 20 · 0.4 · 0.6 = 4.8. Die Gewichte der Verteilung der standardisierten Summe Sn∗ entsprechen denen der B(20, 0.4)-Verteilung, liegen aber auf den Zahlen xk = k−8 √ , 4.8 0 ≤ k ≤ 20, anstatt auf 0, 1, . . . , 20. Die zugehörige Verteilungsfunktion kann man daher wie folgt plotten: > x <- ((0:21)-8)/sqrt(4.8) > plot(c(-4,6),c(0,1),type="n",xlab="x",ylab="", main="Standardisierte B(20,0.4)- und N(0,1)-Verteilung") > segments(x[-22],pbinom(0:20,20,0.4),x[-1],pbinom(0:20,20,0.4),col="blue") > points(x[-22],pbinom(0:20,20,0.4),pch=20,col="blue") 5 c Math. Stochastik, Uni Freiburg ° Zum Vergleich legen wir nun noch die Verteilungsfunktion der Standard-Normalverteilung darüber. > lines(seq(-4,6,0.01),pnorm(seq(-4,6,0.01)),col="red") Eine weitere Möglichkeit, zwei Verteilungen F und G miteinander zu vergleichen, besteht in sogenannten Q-Q-Plots (Quantile-Quantile-Plots). Dabei werden für verschiedene p die p-Quantile von F gegen diejenigen von G aufgetragen. Sind beide Verteilungen identisch, so auch ihre Verteilungsfunktionen und mithin ihre Quantile. In diesem Fall liegen die Punkte (qF (p), qG (p)) genau auf der Winkelhalbierenden y = x, während sie bei F 6= G mehr oder weniger stark von dieser abweichen. Die Größe der Abweichungen gibt einen qualitativen Eindruck darüber, ob und inwieweit beide Verteilungen näherungsweise übereinstimmen. Der Satz von de Moivre-Laplace impliziert, dass Q-Q-Plots mit Quantilen der Verteilung von Sn∗ gegen die entsprechenden Quantile der N (0, 1)-Verteilung mit wachsendem n gegen die Winkelhalbierende konvergieren. Da sich, wie oben angedeutet, beim Übergang von der B(n, p)-Verteilung zu derjenigen von Sn∗ nur die Lage der Verteilungsgewichte ändert, aber nicht deren Werte, folgt aus Definition 3 unmittelbar, dass sich die Quantile vollkommen analog zu den Positionen der Gewichte transformieren: ∗ (p) = Ist qB(20,0.4) (p) = k, so ist qS20 k−8 √ . 4.8 Somit kann man den entsprechenden Q-Q-Plot erstellen durch > plot(qnorm(seq(0.01,0.99,0.01)),(qbinom(seq(0.01,0.99,0.01),20,0.4)-8)/sqrt(4.8), xlab="Quantile von N(0,1)",ylab="Quantile von standardisierter B(20,0.4)", pch=20,main="Q-Q-Plot: Standardisierte B(20,0.4) gegen N(0,1)") > abline(0,1) Um die Normalverteilungskonvergenz für wachsendes n besser veranschaulichen zu können, benötigen wir noch ein paar grafische Hilfsmittel, die im folgenden Abschnitt vorgestellt werden. 4 Mehrere Plots in einem Grafikfenster Grafische Parameter können in R mit dem par()-Befehl gesetzt werden; die Syntax dazu lautet par(Parameter1=Wert1,Parameter2=Wert2,...) Ohne Argumente gibt par() eine Liste mit allen Parametern und deren momentanen Werten aus. Um mehrere Plots in einem Fenster zeichnen zu können, müssen die Parameter mfrow (multiple figures per row) oder mfcol verändert werden. Diese werden mit par(mfrow=c(m,n)) bzw. par(mfcol=c(m,n)) gesetzt. Wie bei einer m×n-Matrix definiert man damit m Zeilen mit jeweils n Plots nebeneinander. Bei Verwendung von mfrow werden die verschiedenen Plots zeilenweise hinzugefügt, bei mfcol spaltenweise. Mit den graphischen Parametern mar (margin) und oma (outer margin) kann die Fensteraufteilung beeinflusst werden. Dies geschieht mit par(mar=c(bottom,left,top,right)) bzw. par(oma=c(bottom,left,top,right)) Für bottom, left, top und right ist jeweils eine Zahl einzusetzen, die die Breite des zugehörigen Randes (Maßstab: eine Textzeile) angibt. Die Defaultwerte sind mar=c(5.1,4.1,4.1,2.1) und oma=c(0,0,0,0) (kein äußerer Rand). Zum besseren Verständnis siehe auch die Skizzen auf Seite 7. Randbeschriftungen können mit dem Befehl mtext(text,side=3,line=0,outer=FALSE,adj=NA,cex=NA,col=NA) eingefügt werden; dabei enthält die Zeichenkette text den gewünschten Text, side legt den Rand fest 6 c Math. Stochastik, Uni Freiburg ° Outer Margin margin 3 • Margin for figure 1 • Margin for figure 2 • margin 2 Plot area Plot area for figure 1 for figure 2 margin 4 • • • Plot Figure margin 1 Abbildung 1: Zur Definiton und Wirkung der graphischen Parameter mar und oma (1 unten, 2 links, 3 oben, 4 rechts), line die Position der Textzeile (von innen nach außen, beginnend bei 0), cex und col Textgröße und -Farbe. Mit outer=TRUE wird der Text in den äußeren Rand geschrieben. Um die Verteilungsfunktionen und Q-Q-Plots für p = 0.4 und n = 50, 100, 250 neben- bzw. untereinander zu plotten und einen oberen Rand für einen gemeinsamen Titel zu haben, setzen wir zunächst > par(mfcol=c(3,2),oma=c(0,0,2,0)) und erstellen dann die einzelnen Plots. Zum Schluss sollten die Grafik-Parameter wieder auf die Defaultwerte zurückgesetzt werden. > x <- ((0:51)-50*0.4)/sqrt(50*0.4*0.6) > plot(c(-4,6),c(0,1),type="n",xlab="",ylab="",main="n=50, p=0.4") > segments(x[-52],pbinom(0:50,50,0.4),x[-1],pbinom(0:50,50,0.4),col="blue") > lines(seq(-4,6,0.01),pnorm(seq(-4,6,0.01)),col="red") > x <- ((0:101)-100*0.4)/sqrt(100*0.4*0.6) > plot(c(-4,6),c(0,1),type="n",xlab="",ylab="",main="n=100, p=0.4") > segments(x[-102],pbinom(0:100,100,0.4),x[-1],pbinom(0:100,100,0.4),col="blue") > lines(seq(-4,6,0.01),pnorm(seq(-4,6,0.01)),col="red") > x <- ((0:251)-250*0.4)/sqrt(250*0.4*0.6) > plot(c(-4,6),c(0,1),type="n",xlab="",ylab="",main="n=250, p=0.4") > segments(x[-252],pbinom(0:250,250,0.4),x[-1],pbinom(0:250,250,0.4),col="blue") > lines(seq(-4,6,0.01),pnorm(seq(-4,6,0.01)),col="red") > plot(qnorm(seq(0.01,0.99,0.01)),(qbinom(seq(0.01,0.99,0.01),50,0.4)-50*0.4)/ sqrt(50*0.4*0.6),pch=20,xlab="",ylab="",main="n=50, p=0.4") > plot(qnorm(seq(0.01,0.99,0.01)),(qbinom(seq(0.01,0.99,0.01),100,0.4)-100*0.4)/ sqrt(100*0.4*0.6),pch=20,xlab="",ylab="",main="n=100, p=0.4") > plot(qnorm(seq(0.01,0.99,0.01)),(qbinom(seq(0.01,0.99,0.01),250,0.4)-250*0.4)/ sqrt(250*0.4*0.6),pch=20,xlab="",ylab="",main="n=250, p=0.4") > mtext("Konvergenz der B(n,p)-Verteilungen gegen N(0,1)",outer=TRUE) > par(mfcol=c(1,1),oma=c(0,0,0,0)) 7 c Math. Stochastik, Uni Freiburg ° 5 Grenzwerte der Binomialverteilung – Teil II Neben der Normalverteilung kann als Grenzverteilung der Binomial- auch die Poissonverteilung auftreten. Dieser Sachverhalt wird beschrieben durch Satz 2 (Poissons Gesetz der kleinen Zahlen) Sei 0 < λ < ∞ und (pn )n≥1 eine Folge von Zahlen aus (0, 1) mit limn→∞ npn = λ, so gilt für alle 0 ≤ k < ∞: µ ¶ lim n→∞ n k λk −λ pn (1 − pn )n−k = e . k k! Auch diese Konvergenz soll mit den zuvor erarbeiteten Methoden veranschaulicht werden. Wir beginnen mit einer B(10, 0.3)-Verteilung und vergleichen deren Verteilungsfunktion mit der der Poissonverteilung zum Parameter λ = 10 · 0.3 = 3. > plot(c(0,11),c(0,1),type="n",xlab="x",ylab="", main="Vergleich von B(10,0.3) und Pois(3)") > segments(0:10,pbinom(0:10,10,0.3),1:11,pbinom(0:10,10,0.3),col="blue") > points(0:10,pbinom(0:10,10,0.3),pch=20,col="blue") > segments(0:10,ppois(0:10,3),1:11,ppois(0:10,3),col="red") > points(0:10,ppois(0:10,3),pch=20,col="red") Den zugehörigen Q-Q-Plot erhält man durch folgenden Befehl: > plot(qpois(seq(0.01,0.99,0.01),3),qbinom(seq(0.01,0.99,0.01),10,0.3),pch=20, xlab="Quantile von Pois(3)",ylab="Quantile von B(10,0.3)", main="Q-Q-Plot: B(10,0.3) gegen Pois(3)") Abschließend untersuchen wir das Konvergenzverhalten gegen die Pois(3)-Verteilung für die Binomialverteilungen B(20, 0.15), B(50, 0.06) und B(100, 0.03) in einem gemeinsamen Plot. > par(mfcol=c(3,2),oma=c(0,0,2,0)) > plot(c(0,10),c(0,1),type="n",xlab="",ylab="",main="n=20, p=0.15") > segments(0:10,pbinom(0:10,20,0.15),1:11,pbinom(0:10,20,0.15),col="blue") > segments(0:10,ppois(0:10,3),1:11,ppois(0:10,3),col="red") > plot(c(0,10),c(0,1),type="n",xlab="",ylab="",main="n=50, p=0.06") > segments(0:10,pbinom(0:10,50,0.06),1:11,pbinom(0:10,50,0.06),col="blue") > segments(0:10,ppois(0:10,3),1:11,ppois(0:10,3),col="red") > plot(c(0,10),c(0,1),type="n",xlab="",ylab="",main="n=100, p=0.03") > segments(0:10,pbinom(0:10,100,0.03),1:11,pbinom(0:10,100,0.03),col="blue") > segments(0:10,ppois(0:10,3),1:11,ppois(0:10,3),col="red") > plot(qpois(seq(0.01,0.99,0.01),3),qbinom(seq(0.01,0.99,0.01),20,0.15),pch=20, xlab="",ylab="",main="n=20, p=0.15") > plot(qpois(seq(0.01,0.99,0.01),3),qbinom(seq(0.01,0.99,0.01),50,0.06),pch=20, xlab="",ylab="",main="n=50, p=0.06") > plot(qpois(seq(0.01,0.99,0.01),3),qbinom(seq(0.01,0.99,0.01),100,0.03),pch=20, xlab="",ylab="",main="n=100, p=0.03") > mtext("Konvergenz von B(n,p) gegen Pois(3)",outer=TRUE) > par(mfcol=c(1,1),oma=c(0,0,0,0)) 8 c Math. Stochastik, Uni Freiburg ° 6 Übungen 1. Falls log(X) eine nach N (µ, σ 2 )-verteilte Zufallsvariable ist, so nennt man die Verteilung von X eine Log-Normalverteilung. In R ist deren Quantilfunktion mit qlnorm(x,meanlog=µ,sdlog=σ) implementiert. Finden Sie eine Funktion h(x), die h(qnorm(x))==qlnorm(x) erfüllt. 2. Sei x <- seq(0,1,0.01). Gegeben seien auf [0, 1] uniform verteilte, unabhängige Zufallsvariablen U1 , ..., Un . Es ist bekannt, dass max1≤i≤n Ui Beta-verteilt ist mit Parametern shape1=n, shape2=1. Interpretieren Sie das Ergebnis von punif(x)^n - pbeta(x,n,1) für beliebige n. 3. Interpretieren Sie das Ergebnis von pexp(-log(1-x))-punif(x). Warum liefern die beiden Befehle qexp(runif(1)) und rexp(1) und rlogis(1) (in Verteilung) dasselbe Ergebnis? Gilt auch, dass die beiden Befehle qlogis(runif(1)) in Verteilung dasselbe liefern? 4. Ergänzen Sie die in Lektion 2, Übungsaufgabe 7, eingeführte Verteilungsfamilie um eine Funktion qv(p,alpha), die die p-Quantile qV (α); p von V (α) berechnet und ausgibt. Dabei sollte qv() für p 6∈ [0, 1] mit einer Fehlermeldung abbrechen und alpha=1 als Defaultwert vorgegeben werden. Zusatz : Erweitern Sie qv(p,alpha) so, dass auch vektorwertige Argumente p korrekt verarbeitet werden. 5. Sei x <- seq(0,1,0.001). Offenbar liefert > mu <- 10 > sigma <- 144 > plot(qnorm(x,mean=0,sd=1), (qnorm(x,mean=mu,sd=sigma) - mu)/sigma, xlab="Quantile von N(0,1)", ylab="Quantile von standardisierter N(mu,sigma)", pch=20, main="") eine Gerade. Warum liefert auch > plot(qnorm(x,mean=0,sd=1), qnorm(x,mean=mu,sd=sigma), xlab="Quantile von N(0,1)", ylab="Quantile von N(mu,sigma)", pch=20, main="") eine Gerade? 6. Gegen welche Verteilung konvergieren die Binomialverteilungen B(n, pn ), falls entgegen den Annahmen von Satz 2 gilt, dass limn→∞ npn = 0? Welchen Wertebereich hat die zugehörige Quantilfunktion? Veranschaulichen Sie auch diesen Grenzfall durch Vergleiche der Verteilungsfunktionen und Q-Q-Plots. 7. Seien X1 , X2 , ... hypergeometrisch verteilt, wobei Xi die Parameter mi , ni , und ki besitzt. (Das bedeutet, dass man sich Xi als die Anzahl der gezogenen weißer Kugeln vorstellen kann, wenn die Urne mi weiße Kugeln und ni andere Kugeln enthält, und ki Kugeln gezogen werden.) 9 c Math. Stochastik, Uni Freiburg ° Sei pi := mi mi +ni , limi→∞ ki = ∞, limi→∞ mi = ∞, limi→∞ ki mi = 0 und limi→∞ pi ∈ (0, 1). Wir interessieren uns für die Konvergenz der Verteilungen, analog zum Satz von de Moivre-Laplace. Raten Sie: Welche Funktion F (·) erfüllt à lim P i→∞ ! Xi − ki pi p ≤x ki pi (1 − pi ) = F (x) für alle x ∈ R? Ermitteln Sie den Grenzwert approximativ durch Plot der Verteilungsfunktionen und Q-Q-Plots. 8. Exponentialapproximation der geometrischen Verteilung Veranschaulichen Sie auch die folgende, aus der Stochastik-Vorlesung bekannte Verteilungskonvergenz mit Hilfe der in der Lektion vorgestellten Methoden. Satz 3 Sei (Xn )n≥1 eine Folge geometrisch verteilter Zufallsvariablen mit Xn ∼ Geom(pn ) und limn→∞ pn = 0. Dann gilt lim P (a ≤ pn Xn ≤ b) = P (a ≤ Z ≤ b), n→∞ wobei Z eine exponentialverteilte Zufallsvariable zum Parameter λ = 1 ist (Z ∼ Exp(1)). 10 c Math. Stochastik, Uni Freiburg °