Vorlesung Statistik 2 für Bioinformatiker (Bachelor) Freie Universität Berlin SoSe 2014 K. Neumann Übungen Es gibt drei Übungsgruppen (erster Termin 24.04.2014): Gruppe 1: Donnerstag 10-12 Gruppe 2: Donnerstag 12-14 Gruppe 3: Freitag 14-16 Ort: 1.4.31 Seminarraum E3 (Arnimallee 14) 1 Begleitmaterial zu der Vorlesung und den Übungen (Übungsblätter, Skript, aktuelle Folien zu der Vorlesung und Übungsdatensätze) finden Sie unter http://biometrie.charite.de/studium/bioinformatik/statistik_ii/ Dort wird auch der Klausurtermin bekanntgegeben. 2 Ablauf: Die ersten Übungen finden nächste Woche (24/25.04.2014) statt. Das erste Übungsblatt wird am nächsten Mittwoch (23.04.2014) ins Netz gestellt. Es soll bis Montag Abend (28.04.2014) bearbeitet werden. Die Lösung schicken Sie direkt an Ihren Übungsleiter per eMail (die Adresse erfahren Sie nächste Woche von Ihrem Tutor). Alle folgenden Übungsblätter erscheinen am Montag und sollen bis zum darauffolgenden Montag bearbeitet werden. 3 Inhalt der Vorlesung 1. Das Allgemeine Lineare Modell (a) Einfache Regressionsanalyse (b) Lineare Modelle mit mehreren Kovariaten (c) Kodierung kategorialer Variablen in linearen Modellen (d) Statistische Tests für lineare Modelle: Varianzzerlegung und F-Test (e) Modelldiagnostik 2. Moderne Regressionsverfahren in der Bioinformatik 4 (a) Ridge Regression (b) Lasso Regression (c) Wahl des richtigen Modells, Variablenselektion 3. Verallgemeinerte Lineare Modelle: Logistische Regressionsanalyse 4. Nicht-lineare Regressionsanalyse 5. Hauptkomponentenanalyse und Faktorenanalyse 6. Diskiminanzanalyse 7. Clusteranalyse Vorlesung 16.04.2014 5 1. Das Allgemeine Lineare Modell 1.1 Einfache Regressionsanalyse 1.1.1 Wiederholung (Statistik I) • In der einfachen Regressionsanalyse wird die Abhängigkeit einer Variable y = (y1, . . . , yn) von einer zweiten Variable x = (x1, . . . , xn) untersucht. • Folgendes Modell wird verwendet: yi = a + bxi + i, i = 1, . . . , n (1) Die Fehlerterme i seien unabhängige normalverteilte Zufallsvariablen mit Erwartungswert 0 und Varianz σ 2. 6 • Die Komponenten xi der unabhängigen Variable x sind keine Zufallsvariablen, sondern fest vorgegebene Zahlen. Die Komponenten yi sind mit i Zufallsvariablen. • Die Geradenparameter a (Intercept) und b (Geradensteigung oder Slope) sind unbekannte aber feste Zahlen. • Wichtigste Aufgabe der Regressionsanalyse ist die Schätzung der Modellparameter a und b. • Dazu werden aus den Daten (also aus den xi und yi) die Schätzer â und b̂ berechnet. Da â und b̂ von den yi und damit über die i vom Zufall abhängen, sind sie Zufallsvariablen, die Werte möglichst nahe bei a bzw. b annehmen. 7 • Praktisch werden â und b̂ durch die Methode der Kleinsten Quadrate berechnet. • Bei der Methode der Kleinsten Quadrate wird die Quadratsumme S(a, b) = n X (yi − a − bxi)2 (2) i=1 betrachtet. • Für eine beliebige durch a und b definierten Gerade La,b ist S(a, b) die Summe der quadrierten vertikalen Abstände der Punkte (x1, y1), . . . , (xn, yn) von La,b. Hier nimmt man an, dass die X-Werte auf die horizintale und die Y Werte auf die vertikale Achse aufgetragen werden. • (â, b̂) ist dann das Minimum von S(a, b). 8 • An einem Minimum einer multivariaten stetig differenzierbaren Funktion sind alle partiellen Ableitungen 0. Aus dieser notwendigen Bedingung für das Vorliegen eines Minimums können Bestimmungsgleichungen für â und b̂ abgeleitet werden: • n X ∂S(a, b) = −2 (yi − a − bxi) = 0 ∂a (3) ∂S(a, b) = −2 ∂b (4) i=1 n X xi(yi − a − bxi) = 0 i=1 9 • Aus den zwei Bestimmungsgleichungen erhält man sxy b̂ = sxx â = ȳ − b̂x̄ (5) (6) x̄ und ȳ sind die arithmetischen Mittelwerte von x und y, sxx und syy sind die Varianzen von x und y und schließlich bezeichnet sxy die Kovarianz von x mit y. 10 1.1.2 Matrixformulierung der einfachen linearen Regression • Für n = 2 kann das Gleichungssystem yi = a + bxi, i = 1, 2 im Allgemeinen exakt gelöst werden. Gleichungssysteme mit mehreren Gleichungen und Unbekannten können elegant zu einer Matrixgleichung zusammengefasst werden: y1 1 x1 a = y2 1 x2 b 11 • Ist X= 1 x1 1 x2 invertierbar, erhält man a b = X −1 y1 y2 • Einschub: Eine quadratische Matrix ist genau dann invertierbar, wenn ihre Spalten (Zeilen) linear unabhängig sind. Eine äquivalente leicht nachprüfbare Bedingung ist, dass ihre Determinante ungleich 0 ist. 12 • Einschub: In R werden Matrizen durch die Funktion solve invertiert: Beispiel: > X <- matrix(c(1,1,2,3), ncol=2) > X [,1] [,2] [1,] 1 2 [2,] 1 3 > solve(X) [,1] [,2] [1,] 3 -2 [2,] -1 1 13 • Einschub: Die inverse Matrix X −1 zu X ist dadurch charakterisiert, dass X −1X = XX −1 = E gilt. E ist die Einheitsmatrix. Die Einheitsmatrix der Dimension n ist folgendermaßen definiert: 1 wenn i = j E = (aij ) mit aij = 0 wenn i 6= j • Beispiel: Für n = 2 ist E= 1 0 0 1 . 14 • Einschub: Für die Matrixmultiplikation und Addition gelten wie für reelle Zahlen das Assoziativ- und die Distibutivgesetze. Das Kommutativgesetz gilt im Allgemeinen nicht! Auch sind nicht alle Matrizen außer der Nullmatrix (alle Einträge = 0) invertierbar. Die Rolle der 1 nimmt die Einheitsmatrix ein. • In der ersten Übung werden die wichtigsten Gesetze der Matrixalgebra wiederholt. 15 • Läßt man in den Regressionsgleichungen 1 die Fehlerterme i weg, dann hat das Gleichungssystem yi = a + bxi i = 1, . . . , n (7) für n ≥ 3 im Allgemeinen keine Lösung für (a, b). Gleichungssysteme mit mehr Gleichungen als Unbekannte haben nicht für jede linke Seite eine Lösung. • Wir betrachten zunächst den einfachsten Fall n = 3: y1 = a + bx1 y2 = a + bx2 (8) y3 = a + bx3 16 • In Matrixschreibweise erhält man für das Gleichungssystem 8 1 x1 y1 y2 = 1 x2 a b 1 x3 y3 (9) Die Matrix 1 x1 X = 1 x2 1 x3 heißt die Modellmatrix des Regressionsproblems. Sie ist nicht quadratisch und kann deshalb auch nicht invertiert werden. Nur quadratische Matrizen können eine Inverse haben. 17 • In der Statistik gibt man sich mit der Erkenntnis, dass diese Matixgleichung im Allgemeinen unlösbar sind, nicht zufrieden. Wenn sie auch nicht exakt lösbar ist, so sucht man doch nach einer “Lösung“, die das Gleichungssystem zumindest näherungsweise “möglichst gut“ löst. • Idee ist, in der linken Seite von Gleichung 9 y durch einen Vektor ŷ zu ersetzen, so dass die Matrixgleichung 9 lösbar wird. ŷ und y sollen sich dabei “möglichst wenig“ unterscheiden. Genauer: Der euklidische Abstand v u n uX ||y − ŷ|| := t (yi − ŷi)2 i=1 soll minimal werden. 18 • Zunächst macht man sich klar, für welche linke Seiten die Matrixgleichung 9 überhaupt lösbar ist. Die Menge V aller linken Seiten, für die es eine Lösung von Gleichung 9 gibt, erhält man, wenn man alle (a, b) ∈ IR2 in die rechte Seite von 9 einsetzt: a a 2 V = X ∈ I R (10) b b • Man mache sich klar, dass für die Modellmatrix X aus 9 1 x1 a X = 1 a + x2 b b 1 x3 gilt. V besteht damit aus allen Linearkombinationen der Spaltenvektoren von X. 19 • V heißt auch der Spann der Vektoren 1 x1 1 und x2 . 1 x3 Für n = 3 stellt V eine Ebene im dreidimensionalen Raum dar. • Beispiel: Für das Gleichungssystem y1 1 0.5 y2 = 1 2 a b y3 1 3 hat V folgende Gestalt: 20 Abbildung 1 4 3 y3 A 2 1 A 0 −1 3 2.5 1.5 2 1 1.5 y2 A 1 0.5 y1 0.5 0 0 0.5 1 Die blaue Linie entspricht dem Vektor 2 und die rote 1 . 3 1 21 • Gibt man nun ein beliebiges y als linke Seite vor, kann 9 genau dann gelöst werden, wenn y in V liegt. • Liegt y nicht in V , sucht man sich den Vektor ŷ ∈ V , der möglichst nahe an y liegt. • Man kann zeigen, dass die senkrechte Projektion von y auf die Ebene V der gesuchte Vektor ŷ ist. 22 Abbildung 2 4 A A 3 y3 2 1 0 −1 3 2.5 1.5 2 1 1.5 y2 A 1 0.5 y1 0.5 0 0 Der grüne Vektor ist die Differenz r zwischen y (rot) und ŷ (blau) und heißt der Vektor der Residuen. Da ŷ die senkrechte Projektion von y auf die Ebene V ist, steht r auf dem Vektor ŷ senkrecht. 23 • Das Dreieck mit den Ecken Ursprung, ŷ und y ist somit rechtwinkelig. Betrachtet man es in seiner Ebene, hat es folgende Gestalt: 0.5 1.0 Abbildung 3 y 0.0 r y −1.0 −0.5 O 0 1 2 3 4 5 24 • Aus dem Satz des Pythagoras folgt sofort ||y||2 = ||ŷ||2 + ||r||2 (11) • Mit ||y||2 wird das Quadrat der euklidischen Norm im IRn bezeichnet: ||y||2 = n X yi2. i=1 • Schreibt man damit die Gleichung 11 aus, erhält man n X i=1 yi2 = n X i=1 ŷi2 + n X ri2. (12) i=1 25 • Die Frage bleibt, wie y auf die Ebene V projiziert wird. Dazu hillft die Matrizenrechnung: • Die transponierte Matrix X 0 von X erhält man, wenn in X Zeilen und Spaltenindizes vertauscht werden. • Aus einer n × m Matrix wird eine m × n Matrix. Die i-te Spalte von X wird zur i-ten Zeile von X 0. 26 • Beispiel: Die transponierte Matrix zu 1 0.5 1 2 1 3 ist 1 1 1 0.5 2 3 • Mit Hilfe der transponierten Matrix X 0 kann â ŷ = X b̂ aufgelöst werden. Dazu multipliziere man diese Gleichung mit X 0 von links. 27 • Das Ergebnis ist ein Matrixgleichung, die einem Gleichungssystem mit zwei Gleichungen für zwei Unbekannten entspricht: â X 0ŷ = X 0X . (13) b̂ • Ist die quadratische Matrix X 0X invertierbar, kann dieses Gleichungssystem nach (â, b̂)0 aufgelöst werden: â = (X 0X)−1X 0ŷ. (14) b̂ • Beispiel: Aus 2 1 0.5 5 = 1 2 â b̂ 7 1 3 28 • folgt 1 1 1 0.5 2 3 2 5 = 7 1 1 1 0.5 2 3 1 0.5 1 2 â b̂ 1 3 und weiter 14 32 = 3 5.5 5.5 13.25 â b̂ • Da 3 5.5 5.5 13.25 −1 = 1 9.5 13.25 −5.5 −5.5 3 gilt (Aufgabe), folgt 1 â 13.25 −5.5 14 1 = = −5.5 3 32 2 b̂ 9.5 29 • â = 1 und b̂ = 2 sind somit die gesuchten Lösungen. • Der Residuenvektor r steht auf der Ebene V senkrecht. D.h. er steht auf allen Vektoren dieser Ebene und damit insbesondere auf 1 x1 1 und x2 1 x3 senkrecht. 30 • Einschub: Vektoren a = (a1, . . . , an)0 und b = (b1, . . . , bn)0 im IRn stehen aufeinander senkrecht, wenn ihr Skalarprodukt 0 ist. Das Skalarprodukt kann als Matrixprodukt geschrieben werden: b1 a0b = (a1, . . . , an) ... bn • Steht nun der Residuenvektor auf den beiden Spalten von X senkrecht, dann können diese zwei Bedingung elegant zu einer Matrixgleichung 0 X 0r = 0 zusammengefasst werden. 31 • Damit gilt â b̂ = (X 0X)−1X 0ŷ = = (X 0X)−1X 0(ŷ + r) = = (X 0X)−1X 0y • Da y die bekannte linke Seite des Regressionsproblems ist, kann mit dieser Formel â und b̂ ausgerechnet werden. 32 Vorlesung 23.04.2014 33 • Bisher haben wir uns auf einfache Regressionsprobleme mit n = 3 Gleichungen beschränkt. Für beliebiges n > 2 kann das Gleichungssystem 7 auch in eine Matrixgleichung umgeschrieben werden: • yi = a + b ∗ xi i = 1, . . . , n (15) wird zu 34 • y=X a b (16) mit y 0 = (y1, . . . , yn) und 1 x1 X = ... ... ∈ IRn×2. 1 xn • Bemerkung: y ist als Spaltenvektor definiert. Zur besseren Lesbarkeit im Skript wird oft der transponierte Vektor y 0, also der zugehörige Zeilenvektor, notiert. IRn×2 bezeichnet die Menge aller reellen Matrizen mit n Zeilen und 2 Spalten. 35 • Genauso wie im Fall n = 3 spannen die beiden Spalten von X die zweidimensionale Fläche a V = X (a, b) ∈ IR2 = b x1 1 ... a + ... b (a, b) ∈ IR2 = (17) 1 xn auf. Diese Fläche befindet sich aber jetzt im n-dimensionalen Raum IRn. • Abgesehen davon, dass sich der n-dimensionale Raum für n > 3 der direkten Anschauung entzieht, ändert sich am weiteren Vorgehen nichts: Wieder kann der nun n-dimensionale Vektor y auf V senkrecht projiziert werden. Für das Ergebnis dieser Projektion ŷ kann das Regressionsproblem 16 gelöst werden. Auch steht die Differenz r = y−ŷ, der Vektor der Residuen, auf allen Vektoren aus V und damit insbesondere auf ŷ senkrecht. 36 • Obwohl sich die Vektoren y, ŷ und r nun im hochdimensionalen Raum befinden gelten die gleichen Verhältnisse wie in Abbildung 3 dargestellt weiter. • Die drei Punkte, Ursprung y und ŷ, bilden wieder ein rechtwinkeliges Dreieck im IRn, das in der “Tafelebene“ betrachtet werden kann: 37 0.5 1.0 Abbildung 4 y ∈ Rn 0.0 r ∈ Rn y ∈ Rn −1.0 −0.5 O 0 1 2 3 4 5 Der einzige Unterschied zu Abbildung 3 besteht darin, dass y, ŷ und r Vektoren des hochdimensionalen IRn sind. 38 • Für dieses rechtwinkelige Dreieck gilt der Satz des Pythagoras und wir erhalten ||y||2 = ||ŷ||2 + ||r||2. (18) • Schreibt man die euklidischen Abstände ||y||, ||ŷ| und ||r|| aus, erhält man n X i=1 yi2 = n X i=1 ŷi2 + n X ri2. (19) i=1 • Ersetzt man y in der Matrixgleichung 16 durch ŷ ∈ V und ist X 0X invertierbar, kann Gleichung 16 nach a und b aufgelöst werden. Die eindeutig bestimmten Lösungen werden wieder mit â und b̂ bezeichnet: 39 • ŷ = X â b̂ â X 0ŷ = X 0X b̂ â (X 0X)−1X 0ŷ = b̂ (20) • Da der Vektor der Residuen r auf allen Vektoren aus V senkrecht steht, gilt 0 X 0r = 0. Die 0 ist hier eine Kurzschreibweise für den Vektor ∈ IR2. 0 40 • Damit gilt X 0y = X 0(ŷ + r) = X 0ŷ + X 0r = X 0ŷ und eigesetzt in Gleichung 20 folgt â = (X 0X)−1X 0y. b̂ (21) • Da sowohl die Modellmatrix X als auch y bekannt sind, können mit Gleichung 21 die Schätzer â und b̂ ausgerechnet werden. 41 • Die wichtige Gleichung 18 kann noch etwas modifiziert werden: Da der Residuenvektor r auf allen Spalten von X senkrecht steht, gilt insbesondere 10r = 0. Multipliziert man diese Gleichung mit ȳ, erhält man ȳ10r = 0. (22) ȳ ist das arithmetische Mittel von y und 1 = (1, . . . , 1)0 ist die erste Spalte von X. • Somit gilt (ŷ − ȳ1)0r = ŷ 0r − ȳ10r = 0 und r steht nicht nur auf ŷ sondern auch auf ŷ − ȳ1 senkrecht. • Damit ist auch das Dreieck mit den Punkten, Ursprung, y − ȳ1 und ŷ − ȳ1, rechtwinkelig: 42 1.0 Abbildung 5 0.5 y − y1 0.0 r y − y1 −1.0 −0.5 O 0 1 2 3 4 5 43 • Aus dem Satz des Pythagoras folgt wieder: ||y − ȳ1||2 = ||ŷ − ȳ1||2 + ||r||2 (23) • Schreibt man in Gleichung 23 die euklidischen Abstände wie in 19 in Koordinaten aus, erhält man die reduzierte Quadratsummenzerlegung n X i=1 (yi − ȳ)2 = n X i=1 (ŷi − ȳ)2 + n X ri2. (24) i=1 • Die linke Seite von Gleichung 24 ist das n−1 fache der Varianz von y. Gleichung 24 zerlegt das n − 1 fache der Varianz von y in einen Anteil ||ŷ − ȳ1||2, der durch das Regressionsmodell erklärt wird, und den Rest ||r||2, der durch Zufall bedingt ist. 44 • Der Quotient r2 = ||ŷ − ȳ1||2 ||y − ȳ1||2 (25) ist deshalb eine Zahl zwischen 0 und 1. Sie kann als Anteil der durch das Regressionsmodell aufgeklärten Varianz angesehen werden. r2 wird deshalb gerne in Prozent angegeben und ist ein Maß für die Güte des Regressionsmodells. Ein hohes r2 bedeutet, dass die Residuen in r betragsmäßig klein sind, die Punkte im Streudiagramm nahe an der Regressionsgeraden liegen. • Durch eine kleine Rechnung kann man zeigen, dass r2 das Quadrat des Korrelationskoeffizienten nach Pearson ist (Aufgabe). 45 1.1.3 Einfache Regressionsanalyse in R In R wird die einfache Regressionsanalyse mit dem Befehl lm ausgeführt. Beispiel: > Glaukom <- read.table("Glaukom.txt", header=TRUE) > Glaukom 1 2 3 4 lnr Defekt Flimmertest Alter Geschlecht 1 6.1 13.2 46 0 2 9.7 12.5 51 1 3 4.1 15.5 25 1 4 8.8 10.1 59 0 46 5 6 7 8 9 10 5 6 7 8 9 10 4.0 7.9 7.4 6.4 10.4 10.3 12.5 11.9 8.9 10.2 5.4 8.3 23 54 44 42 47 50 1 0 0 0 1 1 > L <- lm(Defekt~Flimmertest, data=Glaukom) > summary(L) Call: lm(formula = Defekt ~ Flimmertest, data = Glaukom) Residuals: Min 1Q Median -2.5416 -1.1111 -0.1697 3Q 0.9672 Max 3.1584 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 13.8782 2.2519 6.163 0.00027 *** Flimmertest -0.5869 0.2013 -2.916 0.01940 * --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.739 on 8 degrees of freedom Multiple R-squared: 0.5153, Adjusted R-squared: F-statistic: 8.505 on 1 and 8 DF, p-value: 0.0194 > coef(L) # Schätzer a^und b^ 0.4547 (Intercept) Flimmertest 13.8782098 -0.5869318 > L$fitted.values # y^ 1 6.130710 2 6.541563 3 4.780767 4 7.950199 5 6.541563 6 6.893722 7 8.654517 > L$residuals # Residuen 1 -0.03071032 2 3 3.15843744 -0.68076722 4 5 0.84980116 -2.54156256 6 1.00627837 10 1.29332396 Das Objekt L enthält noch viele andere Informationen und Methoden. Z.B. werden durch plot(L) mehrere Diagramme zu L erzeugt (Modelldiagnostik). 1.1.4 Zusammenfassung einfache Regressionsanalyse 1 x1 X = ... ... Modellmatrix 1 xn â = (X 0X)−1X 0y Kleinste Quadrate Schätzung b̂ â ŷ = X b̂ (26) (27) (28) ŷ = X(X 0X)−1X 0y Vorhergesagte Werte (29) r = y − ŷ Residuen (30) r0ŷ = 0 Orthogonalitätsbedingung ||y||2 = ||ŷ||2 + ||r||2 Zerlegung der Quadratsumme (31) (32) 47 Zerlegung der reduzierten Quadratsumme ||y − ȳ1||2 = ||ŷ − ȳ1||2 + ||r||2 (33) Quadrat des Korrelationskoeffizienten (Gütemaß) 2 ||ŷ − ȳ1|| r2 = ||y − ȳ1||2 (34) 48 • Da mit (X 0X)−1X 0 in 20 nach â und b̂ aufgelöst werden kann, heißt die Matrix (X 0X)−1X 0 Pseudoinverse zu X. • Da die Matrix X(X 0X)−1X 0 einen beliebigen Vektor y ∈ IRn auf ŷ ∈ V senkrecht projiziert (29), heißt X(X 0X)−1X 0 die Projektionsmatrix zu X. 49 1.2 Lineare Modelle mit mehreren Kovariaten 1.2.1 Beispiel Im Datensatz Glaukom > Glaukom 1 2 3 4 lnr Defekt Flimmertest Alter Geschlecht 1 6.1 13.2 46 0 2 9.7 12.5 51 1 3 4.1 15.5 25 1 4 8.8 10.1 59 0 50 5 6 7 8 9 10 5 6 7 8 9 10 4.0 7.9 7.4 6.4 10.4 10.3 12.5 11.9 8.9 10.2 5.4 8.3 23 54 44 42 47 50 1 0 0 0 1 1 gibt es neben den Variablen Defekt und Flimmertest noch die Variablen Geschlecht und Alter. Man könnte nun die Abhängigkeit von Defekt von Alter und Flimmertest in getrennten Analysen untersuchen. Das wird zunächst auch meistens gemacht: > lm(Defekt~Flimmertest, data=Glaukom) Call: lm(formula = Defekt ~ Flimmertest, data = Glaukom) Coefficients: (Intercept) Flimmertest 13.8782 -0.5869 > lm(Defekt~Alter, data=Glaukom) 51 Call: lm(formula = Defekt ~ Alter, data = Glaukom) Coefficients: (Intercept) 0.2650 Alter 0.1643 • Dieses Vorgehen ist aber nicht ganz befriedigend, und man will diese beiden Modelle zu einem Modell kombinieren: Defekti = a + bFlimmertesti + cAlteri + i i = 1, . . . , 10 (35) Die i sind wie immer unabhängige normalverteilte Zufallsvariablen mit Erwartungswert 0 und Varianz σ 2. 52 Abbildung 6 Glaukom$Defekt Glaukom$Alter Glaukom$Flimmertest 53 • Wie bei der einfachen Regressionsanalyse könnte man nun mit den Hilfsmitteln der Analysis Schätzer â, b̂ und ĉ für die Modellparameter a, b und c angeben. • Statt einer Regressionsgeraden hätte man dann eine zweidimensionale Regressionsebene, die sich unter allen Ebenen dadurch auszeichnet, dass die Summe der Quadrate der vertikalen Abstände der Punkte zu der Ebene minimal ist. • Viel einfacher ist es jedoch, die Matrixformulierung aus dem vorigen Kapitel auf Regressionsmodelle mit beliebig vielen Kovariaten zu erweitern. 54 1.2.2 Das Allgemeine Lineare Modell • Das Modell, das durch die Gleichungen yi = β0 + β1x1i + · · · + βpxpi + i i = 1, . . . , n (36) definiert ist, heißt das Allgemeine Lineare Modell mit Intercept. Die Zufallsvariablen i seien unabhängig und normalverteilt mit Erwartungswert 0 und Varianz σ 2. • Setzt man in den Gleichungen 36 den Intercept β0 = 0, dann erhält man die Modellgleichungen für das Allgemeine Lineare Modell ohne Intercept. Der Standard sind jedoch Modelle mit Intercept. 55 • Die n Modellgleichungen 36 können ganz analog wie bei der einfachen Regressionsanalyse zu einer Matrixgleichung zusammengefasst werden. • y = Xβ + (37) mit y = (y1, . . . , yn)0 (38) β = (β0, . . . , βp)0 (39) = (1, . . . , n)0 1 x11 · · · x1p ... ... X = ... 1 xnn1 · · · xnp (40) (41) 56 • Bei dem Allgemeinen Linearen Modell ohne Intercept fällt in X die erste Spalte und von β die erste Komponente β0 weg: • Modellmatrix und Koeffizientenvektor für Modell ohne Intercept: x11 · · · x1p ... X = ... xn1 · · · xnp β = (β1, . . . , βp) (42) (43) 57 • Wie bei der gewöhnlichen linearen Regressionsanalyse sind die xij keine Zufallsvariablen, sondern feste vorgegebene Zahlen. Die yi sind dagegen Zufallsvariablen, da sie über die Modellgleichung von den Zufallsvariablen i abhängen. • Zunächst nehmen wir an, dass n > p + 1 für Modelle mit und n > p für Modelle ohne Intercept gilt. Diese Voraussetzung muss gerade für maschinell erzeugte “Omics“-Daten gelockert werden. • Zusätzlich nehmen wir an, dass X maximalen Rang, also p + 1 (mit Intercept) bzw. p (ohne Intercept) besitzt. Der Rang einer Matrix ist die Maximalzahl linear unabhängiger Spalten (Zeilen). 58 Vorlesung 30.04.2014 59 1.2.3 Kleinste Quadrate Schätzer für das Allgemeine Lineare Modell • Wie für das einfache Regressionsmodell mit einer Kovariate (unabhängigen Variablen) x, kann auch für das Allgemeine Lineare Modell Kleinste Quadrate Schätzer für die Modellparameter βi angegeben werden. • Wir gehen wie bei der einfachen Regressionsanalyse von der Matrixgleichung 37 aus und lassen wieder den Vektor der Fehlerterme = (1, . . . , n)0 weg: • Wir erhalten die im Allgemeinen unlösbare Matrixgleichung y = Xβ, (44) die einem Gleichungssystem mit n Gleichungen und p (ohne Intercept) bzw. p + 1 (mit Intercept) Unbekannten entspricht. 60 • Wieder bestimmen wir die Menge V der linken Seiten von 44, für die 44 lösbar ist. • Das Vorgehen ist das Gleiche wie in 17: Man erhält ganz V , wenn man den Vektor β ganz IRp bzw. IRp+1 durchlaufen lässt. • Ohne Intercept: V = {Xβ |β ∈ IRp } = x1p x11 . . . . = β1 + · · · + βp . . x xnp n1 β1 ... βp p ∈ IR (45) 61 • Mit Intercept: n o p+1 V = Xβ β ∈ IR = x1p x11 = β01 + ... β1 + · · · + ... xn1 xnp βp (46) β0 ... βp ∈ IRp+1 (47) 62 • Da die Spalten von X als linear unabhängig angenommen wurden, ist V ein p bzw. p + 1 dimensionaler linearer Teilraum von IRn. • Für n > 3 entziehen sich dieser Räume der direkten Anschauung. Trotzdem führt die Vorstellung von Abbildung 1 nicht in die Irre. Man muss sich nur bewusst sein, dass V statt von zwei Vektoren wie in Abbildung 1 nun von p bzw. p + 1 Vektoren aufgespannt wird. • Wieder gilt, dass Matrixgleichung 44 genau dann lösbar ist, wenn die linke Seite y aus V stammt. 63 • Ein beliebiges y ∈ IRn wird wieder auf V senkrecht projiziert. Auch hier darf man sich die Verhältnisse wie in Abbildung 2 vorstellen, solange einem immer bewusst ist, dass die “Ebene“, auf die projiziert wird, nun ein p bzw. p + 1 dimensionaler Teilraum vom IRn ist. • Sei der auf V projizierte Vektor wieder mit ŷ bezeichnet, dann folgt wieder, dass das Dreieck mit den Ecken Ursprung, y und ŷ rechtwinkelig ist. Obwohl im IRn gelegen, kann es wieder in der “Tafelebene“ betrachtet werden (Abbildung 4). 64 0.5 1.0 Abbildung 4 y ∈ Rn 0.0 r ∈ Rn y ∈ Rn −1.0 −0.5 O 0 1 2 3 4 5 65 • Damit folgt auch für das Allgemeine Lineare Modell aus dem Satz des Pythagoras die Gleichungen 18 bzw. 19: ||y||2 = ||ŷ||2 + ||r||2 n n n X X X yi2 = ŷi2 + ri2 i=1 i=1 (48) (49) i=1 • Der Vektor ŷ heißt wieder der Vektor der vorhergesagten Werte und r = y − ŷ der Vektor der Residuen. Liegt der Vektor 1 in V , dann kann 48 und 49 noch modifiziert werden. Da in diesem Fall r auf 1 und damit auf ȳ1 senkrecht steht, ist auch das Dreieck mit den Ecken Ursprung y − ȳ1 und ŷ − ȳ1 rechtwinkelig. Es liegt also die Situation wie in Abbildung 5 vor: 66 1.0 Abbildung 5 0.5 y − y1 0.0 r y − y1 −1.0 −0.5 O 0 1 2 3 4 5 67 • Nur bei Modellen mit Intercept kann man sicher sein, dass 1 in V liegt. Bei diesen Modellen ist die erste Spalte der Modellmatrix X gerade 1 und V wird nach Definition von den Spalten von X aufgespannt. • Für das allgemeine Modell mit Intercept gilt deshalb zusätzlich zu 48 und 49 noch die Zerlegung der reduzierten Quadratsumme: • ||y − ȳ1||2 = ||ŷ − ȳ1||2 + ||r||2 n n n X X X (yi − ȳ)2 = (ŷi − ȳ)2 + ri2. i=1 i=1 (50) (51) i=1 68 • Da die linke Seite das n−1 fache der Varianz ist, stellt 50 bzw. 51 die Zerlegung P der Varianz von y in einen Anteil n (ŷi − ȳ)2, der durch die Kovariaten i=1 Pn “erklärt“ wird, und den Rest i=1 ri2 dar. • Aus diesem Grund sind die Modelle mit Intercept auch bedeutender als die ohne. Nur für erstere gilt die Varianzzerlegung 51! 69 • Die Berechnung des Kleinsten Quadrate Schätzers für β̂ erfolgt nun ganz analog zum Fall der einfachen linearen Regressionsanalyse: • In einem ersten Schritt ersetzen wir in 44 die linke Seite y durch den Vektor ŷ ∈ V . Die Gleichung wird nun lösbar. Die Lösung werde mit β̂ = (β̂0, . . . , β̂p)0 bzw. β̂ = (β̂1, . . . , β̂p)0 bezeichnet. ŷ = X β̂ (52) • Multiplizieren wir 52 von links mit X 0, dann erhalten wir X 0ŷ = X 0X β̂ (53) (X 0X)−1X 0ŷ = β̂. (54) und weiter 70 • In einem letzten Schritt benutzen wir, dass der Residuenvektor r auf allen Spalten von X senkrecht steht. Kompakt kann das durch die Matrixgleichung X 0r = 0 (55) ausgedrückt werde. Die 0 auf der rechten Seite ist eine häufig benutze Kurzschreibweise für den Vektor, dessen Komponenten alle 0 sind. • Mit 55 folgt nun X 0y = X 0(ŷ + r) = X 0ŷ + |{z} X 0r = X 0ŷ. (56) =0 • Setzt man 56 in 54 ein, folgt die Kleinste Quadrate Schätzung für die Modellparameter β β̂ = (X 0X)−1X 0y (57) 71 • Mit 57 kann β̂ ausgerechnet werden, da die rechte Seite ein Ausdruck der bekannten Größen y und X ist. 72 1.2.4 Beispiel in R • Für den Datensatz aus Glaukom.txt betrachte folgendes lineares Modell ohne Intercept: Defekti = β1Alteri + β2Flimmertesti + β3Geschlechti + i i = 1, . . . , 10(58) > > > > Glaukom <- read.table("Glaukom.txt", header=TRUE) attach(Glaukom) X <- cbind(Alter,Flimmertest,Geschlecht) X Alter Flimmertest Geschlecht [1,] 46 13.2 0 [2,] 51 12.5 1 73 [3,] [4,] [5,] [6,] [7,] [8,] [9,] [10,] 25 59 23 54 44 42 47 50 15.5 10.1 12.5 11.9 8.9 10.2 5.4 8.3 1 0 1 0 0 0 1 1 > y <- Defekt > y [1] 6.1 > t(X)%*%X 9.7 4.1 8.8 4.0 7.9 7.4 6.4 10.4 10.3 Alter Flimmertest Geschlecht Alter 20677 4647.00 196.0 Flimmertest 4647 1251.91 54.2 Geschlecht 196 54.20 5.0 > solve(t(X)%*%X) Alter Flimmertest Geschlecht Alter 0.0002926088 -0.001110904 0.0005719362 Flimmertest -0.0011109042 0.005722762 -0.0184872996 Geschlecht 0.0005719362 -0.018487300 0.3779824272 > beta_hat <- solve(t(X)%*%X) %*% t(X) %*% y > beta_hat Alter [,1] 0.1936812 Flimmertest -0.2030064 Geschlecht 2.3082850 > y_hat <- X %*% beta_hat > y_hat # Vorhergesagte Werte [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [,1] 6.229652 9.648448 4.003717 9.376828 4.225373 8.043010 6.715217 6.063947 [9,] 10.315068 [10,] 10.307394 > r <- y - y_hat > r # Residuen [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [,1] -0.129652294 0.051552058 0.096283363 -0.576828190 -0.225373372 -0.143010494 0.684782648 0.336053440 [9,] 0.084931545 [10,] -0.007393594 • Wir rechnen noch die Quadratsummenzerlegung 49 nach: > sum(y^2) # Linke Seite [1] 613.93 > sum(y_hat^2) # Modell [1] 612.9082 > sum(r^2) # Residuen [1] 1.021841 > sum(y_hat^2)+sum(r^2) # Rechte Seite [1] 613.93 74 • Die Zerlegung 51 der reduzierten Quadratsumme gilt hier allerdings nicht, da das Modell ohne Intercept ist. > sum((y-mean(y))^2) # Linke Seite [1] 49.929 > sum((y_hat-mean(y))^2)+sum(r^2) # Rechte Seite [1] 52.5026 • Direkt mit der Funktion lm erhält man die gleichen Schätzer: > L <- lm(Defekt~Alter+Flimmertest+Geschlecht-1, data=Glaukom) Das -1 in der Modellformel Defekt Alter+Flimmertest+Geschlecht-1 unterdrückt den Intercept. Der Default sind die Modelle mit Intercept. • Mit > coef(L) Alter Flimmertest 0.1936812 -0.2030064 Geschlecht 2.3082850 erhält man die Schätzer der Modellkoeffizienten, mit 75 > L$fitted.values 1 6.229652 2 9.648448 3 4.003717 4 9.376828 5 4.225373 6 8.043010 7 6.715217 > L$residuals 1 -0.129652294 10 -0.007393594 2 0.051552058 3 4 5 0.096283363 -0.576828190 -0.225373372 -0.143 die vorhergesagten Werte und die Residuen. 76 Mit > anova(L) Analysis of Variance Table Response: Defekt Df Sum Sq Mean Sq F value Pr(>F) Alter 1 597.13 597.13 4090.546 6.001e-11 *** Flimmertest 1 1.69 1.69 11.543 0.01148 * Geschlecht 1 14.10 14.10 96.566 2.400e-05 *** Residuals 7 1.02 0.15 --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 77 können die Quadratsummen aus 49 berechnet werden. • Um Namenskonflikte zu vermeiden, sollte man den attach Befehl wieder rückgängig machen: > detach(Glaukom) • Nicht jedes Modell ist sinnvoll und für die Daten geeignet. Eine sorgfältig Wahl des Modells, d.h. die Auswahl der Kovariaten und die Entscheidung, ob der Intercept in das Modell eingeschlossen wird, ist Aufgabe des Fachwissenschaftlers. Ein schlechtes Modell kann zu unsinnigen Ergebnissen führen. So ist es z.B. wenig plausibel, im vorangegangenen Beispiel den Intercept wegzulassen. 78 1.2.5 Zusammenfassung Allgemeines Lineares Modell Modellmatrix ohne Intercept: x11 · · · x1p ... X = ... xn1 · · · xnp (59) Modellmatrix mit Intercept 1 x11 · · · x1p ... ... X = ... 1 xn1 · · · xnp (60) 79 Kleinste Quadrate Schätzung β̂ = (X 0X)−1X 0y (61) mit β̂ = (β̂1, . . . , β̂p) für Modelle ohne und β̂ = (β̂0, . . . , β̂p) für Modelle mit Intercept. Vorhergesagte Werte: ŷ = X β̂ (62) ŷ = X(X 0X)−1X 0y (63) r = y − ŷ Residuen (64) Residuen: 80 Orthogonalitätsbedingungen: X 0r = 0 ŷ 0r = 0 (insbesondere Pn i=1 ri = 0 bei Modellen mit Intercept) (65) (66) Zerlegung der Quadratsumme. Gültig für Modelle mit und ohne Intercept. ||y||2 = ||ŷ||2 + ||r||2 (67) Zerlegung der reduzierten Quadratsumme. Gilt nur für Modelle mit Intercept ||y − ȳ1||2 = ||ŷ − ȳ1||2 + ||r||2 (68) Gütemaß für die Regression (Modell mit Intercept): ||ŷ − ȳ1||2 2 η = ||y − ȳ1||2 (69) 81 Pseudoinverse: (X 0X)−1X 0 (70) X(X 0X)−1X 0 (71) Projektionsmatrix: 1.3 Kodierung kategorialer Variablen in linearen Modellen • Bisher waren alle Kovariaten Variablen mit numerischen Werten. Das gleiche galt für die abhängige Variable y. • Nun soll eine Methode besprochen werden, auch nicht metrische (numerische) unabhängige Variablen x in Modelle einzuschließen. • Solche kategorialen Variablen kommen in der paraktischen Forschung häufig vor: 83 • – In einem geplanten Experiment werden die Fälle (Patienten, Versuchstiere, Zellkulturen,...) in zwei oder mehr Versuchsgruppen eingeteilt. – Für manche Merkmale wie Geschlecht, Blutgruppe, Zellfaktoren usw. gibt es natürlicherweise nur eine beschränkte Anzahl von Ausprägungen. – Eine ursprünglich metrische Variable wird in wenige Bereiche kategorisiert (niedere, mittlere und hohe Werte). 84 • Beispiel: Die Datei Gaense.txt enthält das Mastgewicht von Weihnachtsgänsen zusammen mit ihrem Alter und der Herkunft aus drei US-Bundesstaaten. > Gaense <- read.table("Gaense.txt", header=TRUE) > Gaense 01 02 03 04 05 06 07 08 09 Alter Gewicht Bundesstaat 28 13.3 G 20 8.9 G 32 15.1 G 22 10.4 G 29 13.1 V 27 12.4 V 28 13.2 V 26 11.8 V 21 11.5 W 85 10 11 12 13 27 29 23 25 14.2 15.4 13.1 13.8 W W W W • Die Buchstaben “W“, “V“ und “G“ stehen für Wisconsin, Virginia und Georgia. Eine Variable wie Bundesstaat kann nicht ohne weiteres in eine Modellgleichung wie 36 integriert werden. Die Bezeichnungen für die drei Kategorien müssen zunächst geeignet numerisch kodiert werden. • In einem ersten Versuch könnte man “W“, “V“ und “G“ in Zahlen 1, 2 und 3 umkodieren. • Intern wird das durch R vorgenommen. > str(Gaense$Bundesstaat) Factor w/ 3 levels "G","V","W": 1 1 1 1 2 2 2 2 3 3 ... 86 • Die Variable Bundesstaat ist von Datentyp Faktor. Die Ausprägungen werden der alphabetischen Ordnung nach mit natürlichen Zahlen 1, 2,... kodiert. Zusätzlich werden noch die Namen (Labels) für diese Faktorniveaus gespeichert. Angezeigt werden immer diese Labels • Eine lineare Regression, in der diese Kodierung verwendet wird, führt in der Regel zu wenig plausiblen Ergebnissen: > x <- as.numeric(Gaense$Bundesstaat) > L <- lm(Gaense$Gewicht~x) > L Call: lm(formula = Gaense$Gewicht ~ x) 87 Coefficients: (Intercept) 11.0353 x 0.8422 • Schaut man sich die durch diese Modell vorhergesagten Gewichte an, dann erhält man: > L$fitted.values 1 2 3 4 5 6 7 11.87759 11.87759 11.87759 11.87759 12.71983 12.71983 12.71983 12.7 • Die Differenz des vorhergesagten Gewichts für Gänsen aus Virginia und Georgia ist gleich der Differenz des vorhergesagten Gewichts für Gänse aus Wisconsin und Virginia. 88 • Da dieser Zusammenhang sicher nicht erwartet werden kann, ist das Modell, das mit der einfachen Kodierung der Bundesstaaten arbeitet, zu restriktiv und führt zu unplausiblen Ergebnissen. • Ein Ausweg ist die Einführung von mehreren numerischen Variablen. 89 Vorlesung 7.05.2014 90 • Wir wählen zunächst eine Referenzkategorie. In R ist der Default die alphabetisch erste Kategorie. • Für alle weiteren Ausprägungen (auch Kategorien, Niveaus oder Levels genannt) der Variable wird jeweils eine Indikatorvariable (Dummy-Variable) definiert. Sie ist genau dann 1, wenn der Fall der entsprechenden Kategorie angehört. Es wird also immer eine Dummy-Variable wenig benötigt als es Ausprägungen gibt. • Für die drei Ausprägungen der Variable Bundesstaat benötigt man zwei DummyVariablen D1 und D2. 91 • Bundesstaat G (Georgia) V (Virginia) W (Wisconsin) D1 0 1 0 D2 0 0 1 Hier wurde G (Georgia) zur Referenzkategorie erklärt. • Ein lineares Modell, das die Abhängigkeit des Gewichts der Gänse vom Bundesstaat untersucht, könnte dann folgende Modellgleichung haben: Gewichti = β0 + β1D1i + β2D2i + i i = 1, . . . , n (72) 92 • In R können die neuen Variablen D1 und D2 folgendermaßen erzeugt werden: > > > > > 01 02 03 04 05 06 07 D1 <- as.numeric(Gaense$Bundesstaat=="V") D2 <- as.numeric(Gaense$Bundesstaat=="W") Gaense$D1 <- D1 Gaense$D2 <- D2 Gaense Alter Gewicht Bundesstaat D1 D2 28 13.3 G 0 0 20 8.9 G 0 0 32 15.1 G 0 0 22 10.4 G 0 0 29 13.1 V 1 0 27 12.4 V 1 0 28 13.2 V 1 0 93 08 09 10 11 12 13 26 21 27 29 23 25 11.8 11.5 14.2 15.4 13.1 13.8 V W W W W W 1 0 0 0 0 0 0 1 1 1 1 1 • Die Kleinste Quadrate Schätzer erhält man dann gemäß der Formel 61: > > > > n <- nrow(Gaense) X <- cbind(rep(1,n),Gaense$D1,Gaense$D2) colnames(X) <- c("Intercept", "D1", "D2") solve(t(X) %*% X) %*% t(X) %*% Gaense$Gewicht [,1] Intercept 11.925 D1 0.700 D2 1.675 94 • Das vorhergesagte Gewicht für eine Gans aus Georgia erhält man, wenn man D1 = D2 = 0 setzt, das für Virginia mit D1 = 1 und D2 = 0 und das für Wisconsin mit D1 = 0 und D2 = 1. • Georgia: β̂0 = 11.925 Virginia: β̂0 + β̂1 = 11.925 + 0.700 = 12.625 Wisconsin: β̂0 + β̂2 = 11.925 + 1.675 = 13.600 • Man kann schnell nachrechnen, dass das genau die Gruppenmittelwerte sind. 95 • Für eine kategoriale Variable mit k Ausprägungen benötigt man k − 1 DummyVariablen. Da mit k − 1 Indikatorvariablen 2k−1 Zustände kodiert werden können, haben manche Ausprägungskombinationen der Dummy-Variablen keine Bedeutung. So kann z.B. D1 = D2 = 1 nicht vorkommen, da eine Gans nicht aus Virginia und Wisconsin stammen kann. • Definition Dummy-Kodierung: Eine kategoriale Variable x = (x1, . . . , xn)0 mit den k Ausprägungen A0, . . . , Ak−1 wird folgendermaßen in k−1 DummyVariablen mit Referenzkategorie A0 D1, . . . , Dk−1 umkodiert: Die i-te Komponente (i = 1, . . . , n) der j-ten Dummy-Variable (j = 1, . . . , k − 1) lautet 1 wenn xi = Aj Dji = (73) 0 sonst. 96 • Die spezielle Wahl der Referenzkategorie spielt im Allgemeinen nur eine untergeordnete Rolle. Oft erklärt man die Ausprägung mit den meisten Fällen zur Referenzkategorie. Viele Statistikprogramme erlauben die Wahl zwischen der alphabetisch ersten und letzten Kategorie. 97 1.4 Statistische Tests für lineare Modelle: t-Test, Varianzzerlegung und F-Test 1.4.1 Die Kovarianzmatrix der Kleinste Quadrate Schätzer • Bisher wurden in den Modellgleichungen 36 die Fehlerterme i, i = 1, . . . , n nicht beachtet. Bei der Kleinsten Quadrate Schätzung der Modellparameter βi gingen wir von der im Allgemeinen unlösbaren Gleichung 44 aus, die aus der Modellgleichung in Matrixform 37 durch Weglassen der Fehlerterme = (1, . . . , n) hervorging. • Um die Abhängigkeit der Kleinsten Quadrate Schätzer vom Zufall zu untersuchen, müssen wir die Fehlerterme nun berücksichtigen. Nur durch die Fehlerterme i kommt der Zufall ins Spiel und die Modellgleichung 36 wird dadurch überhaupt erst zu einem Objekt der Statistik. 98 • Wir gehen deshalb von der “vollen“ Modellgleichung 37 y = Xβ + aus und multiplizieren sie mit der Pseudoinversen (X 0X)−1X 0 von links: (X 0X)−1X 0y = (X 0X)−1X 0Xβ + (X 0X)−1X 0 = β + (X 0X)−1X 0 (74) Die linke Seite (X 0X)−1X 0y ist gerade die Kleinste Quadrate Schätzung β̂ (57). • Damit erhalten wir: β̂ = β + (X 0X)−1X 0 (75) 99 • Für den Erwartungswert von β̂ erhält man E(β̂) = E(β + (X 0X)−1X 0) = = β + (X 0X)−1X 0E() = = β (76) • Gleichung 76 ist die Erwartungstreue des Kleinsten Quadrate Schätzers β̂. Zwar können die “wahren“ Modellparameter β nicht exakt bestimmt werden, das Schätzverfahren sagt aber zumindest im Mittel die Parameter korrekt voraus. • Um die Güte der Schätzer beurteilen zu können, benötigt man noch die Varianz der β̂i. Mit Hilfe der Varianz können wieder Tests für die Modellparameter konstruiert und Konfidenzintervalle angegeben werden. 100 • Obwohl primär nur die Varianzen der Komponenten von β̂ = (β̂1, . . . , β̂p) (ohne Intercept) bzw. β̂ = (β̂0, . . . , β̂p) (mit Intercept) von Interesse sind, bestimmt man die volle Varianz-Kovarianzmatrix Var(β̂1) Cov(β̂1, β̂2) · · · Cov(β̂1, β̂p) Cov(β̂2, β̂1) Var( β̂ ) · · · Cov( β̂ , β̂ ) p 2 2 (77) Cov(β̂) = ... ... ... Cov(β̂p, β̂1) Cov(β̂p, β̂2) · · · Var(β̂p) für Modelle ohne Intercept und Var(β̂0) Cov(β̂0, β̂1) · · · Cov(β̂0, β̂p) Cov(β̂1, β̂0) Var(β̂1) · · · Cov(β̂1, β̂p) (78) Cov(β̂) = ... ... ... Cov(β̂p, β̂0) Cov(β̂p, β̂1) · · · Var(β̂p) für Modelle mit Intercept. 101 • Wir erinnern uns an die Definition der Kovarianz zweier Zufallsvariablen X und Y: Cov(X, Y ) = E((X − E(X))(Y − E(Y ))). Wendet man auf β̂1 − β1 .. (β̂1 − β1 , . . . , β̂p − βp ) = . β̂p − βp (β̂ − β)(β̂ − β)0 = = (β̂1 − β1 )2 (β̂2 − β2 )(β̂1 − β1 ) .. . (β̂p − βp )(β̂1 − β1 ) (β̂1 − β1 )(β̂2 − β2 ) (β̂2 − β2 )2 .. . (β̂p − βp )(β̂2 − β2 ) ··· ··· ··· (β̂1 − β1 )(β̂p − βp ) (β̂2 − β2 )(β̂p − βp ) .. . (β̂p − βp )2 (79) den E-Operator komponentenweise an, folgt 102 • E((β̂ − β)(β̂ − β)0 ) = = E(β̂1 − β1 )2 E(β̂2 − β2 )(β̂1 − β1 ) .. . E(β̂p − βp )(β̂1 − β1 ) E(β̂1 − β1 )(β̂2 − β2 ) E(β̂2 − β2 )2 .. . E(β̂p − βp )(β̂2 − β2 ) ··· ··· ··· E(β̂1 − β1 )(β̂p − βp ) E(β̂2 − β2 )(β̂p − βp ) .. . 2 E(β̂p − βp ) Cov(β̂) (80) • Aus 80 folgt dann mit 75 Cov(β̂) = E((X 0X)−1X 00X(X 0X)−1) = = (X 0X)−1X 0E(0)X(X 0X)−1 = = σ 2(XX 0)−1X 0X(X 0X)−1 = σ 2(X 0X)−1 (81) 103 • Hier wurde E(0) = Cov() = σ 2En (82) benutzt. En bezeichnet die n-dimensionale Einheitsmatrix. Das erste Gleichheitszeichen in 82 folgt aus der Annahme, dass alle i Erwartungswert 0 haben. Das zweite folgt aus der Unabhängigkeit der 1, . . . , n und der Annahme, dass alle i Varianz σ 2 haben: σ2 i = j Cov(i, j ) = 0 i 6= j 104 • Aus Gleichung 81 kann die Varianz-Kovarianzmatrix noch nicht ausgerechnet werden, da σ 2 unbekannt ist. Im Gegensatz zum Erwartungswert von β̂ kann die Varianz-Kovarianzmatrix von β̂ nicht bestimmt, sondern nur geschätzt werden. Dazu wird die unbekannte Größe σ 2 in 81 durch einen Schätzer σˆ2 ersetzt. • Der Schätzer σˆ2 kann aus der Quadratsumme der Residuen ermittelt werden (ohne Begründung): n X 1 σˆ2 = ri2 ohne Intercept n−p (83) n X 1 ri2 mit Intercept σˆ2 = n−p−1 (84) i=1 i=1 • Die Residuen sind die Differenzen zwischen y und den vorhergesagten Werten ŷ (64). 105 • Nach Einsetzten von 83 bzw. 84 in 81 erhält man den in der Praxis verwendeten Schätzer der Kovarianzmatrix: dβ̂) = σˆ2(X 0X)−1 Cov( (85) 106 Vorlesung 8.05.2014 108 1.4.2 Der t-Test für Parameter und Linearkombinationen von Parametern • Die Varianz-Kovarianz Matrix 85 kann zum Testen der Modellparameter βi benutzt werden. Es gilt: Sei βi ein beliebiger Modellparameter, dann ist unter der Nullhypothese H0 : βi = µ0 für ein fest vorgegebenes µ0 ∈ IR die Statitsik (86) β̂ − µ0 T = qi dβ̂) Cov( ii (87) t-verteilt mit df = n−p (ohne Intercept) bzw. df = n−p−1 (mit Intercept) dβ̂) = σ 2(β̂ ) ist die geschätzte Varianz Freiheitsgraden (ohne Beweis). Cov( ii i von β̂i. 109 • Wie bei den klassischen t-Tests wird die H0 abgelehnt, wenn T im Ablehnungsbereich zu einem vorgegebenen Signifikanzniveau α liegt. Alternativ kann mit der kumulativen Verteilungsfunktion der t-Verteilung mit df Freiheitsgraden auch der P-Wert ausgerechnet werden. dβ̂) der • Bisher wurden nur die Varianzen, also die Diagonalelemente Cov( ii Varianz-Kovarianzmatrix, benutzt. • Oft sind aber gerade Linearkombinationen von Parametern von besonderen Interesse und sollen getestet werden. 110 • Beispiel: Die Nullhypothese H0 : β1 + β2 + 2β3 = 0 soll auf einem Niveau α getestet werde. Dazu berechnet man zunächst Var(β̂1+ β̂2 + 2β̂3). • Varianzen von Linearkombinationen der β̂i werden folgendermaßen bestimmt: Var(β̂1 + β̂2 + 2β̂3) = Cov(β̂1 + β̂2 + 2β̂3, β̂1 + β̂2 + 2β̂3) = = Var(β̂1) + Var(β̂2) + 4Var(β̂3) + +2Cov(β̂1, β̂2) + 4Cov(β̂1, β̂3) + 4Cov(β̂2, β̂3) • Die Größen auf der rechten Seite sind alle bekannt. Damit kann wieder die t-Statistik β̂ + β̂2 + 2β̂3 T =p 1 Var(β̂1 + β̂2 + 2β̂3) 111 berechnet werden. Schließlich benutzt man, dass unter H0 die Statistik T tverteilt mit df = n − p (ohne Intercept) bzw. df = n − p − 1 (mit Intercept) Freiheitsgraden ist. • Für eine beliebige Linearkombination L = und µ0 ∈ IR kann die Nullhypothese Pp i=1 xi βi bzw. L = Pp i=0 xi βi H 0 : L = µ0 (88) Pp folgendermaßen getestet werde: Sei L̂ = i=1 xi β̂i (ohne Intercept) bzw. Pp L̂ = i=0 xiβ̂i (mit Intercept), dann gilt dβ̂)x, Var(L̂) = x0Cov( (89) mit x = (x1, . . . , xp)0 (ohne Intercept) bzw. x = (x0, . . . , xp)0 (mit Intercept) Das folgt wieder aus der Bilinearität von Cov und der Definition des Matrixprodukts (Übung!). Unter der H0 88 ist dann die Statistik T = q L̂ − µ0 (90) dβ̂)x x0Cov( t-verteilt mit df = n − p bzw. df = n − p − 1 Freiheitsgraden. • Wieder wird H0 abgelehnt, wenn T im Ablehnungsbereich zu einem vorgegebenen Signifikanzniveau α liegt. 1.4.3 Konfidenzintervalle für Parameter und Linearkombinationen von Parametern im Allgemeinen Linearen Modell • Die Varianz-Kovarianz Matrix kann auch zur Berechnung von Konfidenzintervallen für Parameter und auch beliebigen Linearkombinationen von Parametern benutzt werden. • Wir gehen im Folgenden immer von einem linearen Modell mit p (ohne Intercept) bzw. p + 1 (mit Intercept) Modellparametern βi aus. • Sei t1−α/2;df das 1 − α/2 Perzentil der t-Verteilung mit df = n − p (ohne Intercept) bzw. df = n − p − 1 Freiheitsgraden (In R durch den Befehl qt(1-alpha/2,df=n-p), bzw. qt(1-alpha/2,df=n-p-1) erhältlich). 112 dβ̂) die • Seien β̂i die Kleinste Quadrate Schätzer zu βi und σ 2(β̂i) = Cov( ii geschätzte Varianz von β̂. Das (1−α)100% Konfidenzintervall für einen Parameter βi erhält man durch CI(1−α)100% Pn q q = β̂i − t1−α/2;df σ 2 (β̂i ), β̂i + t1−α/2;df σ 2 (β̂i ) (91) Pn • Sei L = i=1 xiβi (ohne Intercept) und L = i=0 xiβi (mit Intercept) eine beliebige Linearkombination der Modellparameter βi. L̂ sei wieder die entsprechende Linearkombination der Schätzer β̂i. dβ̂)x Mit x = (x1, . . . , xp)0 bzw. x = (x0, . . . , xp)0 ist σ 2(L̂) = x0Cov( die geschätzte Varianz von L̂. 113 • Dann ist CI(1−α)100% = q q L̂ − t1−α/2;df σ 2 (L̂), L̂ + t1−α/2;df σ 2 (L̂) (92) das (1 − α)100% Konfidenzintervall für L. 114 1.4.4 t-Test und Konfidenzintervalle für das Allgemeine Lineare Modell in R • Zunächst lade man den schon bekannten Datensatz aus Glaukom.txt und berechne folgendes lineares Modell: Defekti = β0 + β1Alteri + β2Flimmertesti + i i = 1, . . . , 10 > Glaukom <- read.table("Glaukom.txt", header=TRUE) > L <- lm(Defekt~Alter+Flimmertest, data=Glaukom) • Für die Modellparameter erhält man t-Tests mit der Funktion summary: 115 • > summary(L) Call: lm(formula = Defekt ~ Alter + Flimmertest, data = Glaukom) Residuals: Min 1Q Median -1.0818 -0.8026 -0.3817 3Q 0.6137 Max 1.9237 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5.91679 2.78085 2.128 0.0709 . Alter 0.12415 0.03669 3.384 0.0117 * Flimmertest -0.35778 0.14882 -2.404 0.0472 * --116 Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.145 on 7 degrees of freedom Multiple R-squared: 0.8161, Adjusted R-squared: F-statistic: 15.53 on 2 and 7 DF, p-value: 0.002666 0.7636 • t-Tests für Linearkombinationen der Parameter muss man sich selber konstruieren. Die Varianz-Kovarianz Matrix erhält man mit der Funktion vcov: > K <- vcov(L) > K (Intercept) Alter Flimmertest (Intercept) 7.73311044 -0.086308277 -0.349839779 Alter -0.08630828 0.001345908 0.002484213 Flimmertest -0.34983978 0.002484213 0.022146172 117 • Wir wollen die Nulhypothese H0 : β0 + β1 + 4.5 ∗ β2 = 0 testen. Der Koeffizientenvektor x lautet > x <- c(1,1,4.5) Damit kann nach Formel 90 die t-Statistik T ausgerechnet werden: > T <- (coef(L)[1]+coef(L)[2]+4.5*coef(L)[3])/sqrt(t(x)%*%K%*%x) 118 • Für den t-Test müssen noch die Freiheitsgrade df bestimmt werden. Da es n = 10 Fälle und drei Parameter gibt, gilt df = 7. Damit berechnet man den P-Wert des zweiseitigen t-Test zu > 2*pt(-abs(T), df=7) [,1] [1,] 0.08499629 119 • Schließlich wollen wir noch das 95% Konfidenzintervall für L = β0 + β1 + 4.5 ∗ β2 bestimmen. Zunächst berechnen wir das 97.5% Perzentil der tVerteilung mit df = 7 Freiheitsgraden: > t <- qt(0.975, df=7) > t [1] 2.364624 120 • Nun berechnen wir L̂ und σ 2(L̂): > L_hut <- coef(L)[1]+coef(L)[2]+4.5*coef(L)[3] > L_hut (Intercept) 4.430944 > sigma2 <- t(x)%*%K%*%x > sigma2 [,1] [1,] 4.8841 121 • Damit ergibt sich für die Grenzen des 95% Konfidenzintervalls: > L_hut - t*sqrt(sigma2) # untere Grenze. [,1] [1,] -0.7948759 > L_hut + t*sqrt(sigma2) # obere Grenze. [,1] [1,] 9.656763 122 Vorlesung 14.05.2014 123 1.4.5 Der F-Test für Gruppen von Parametern im Allgemeinen Linearen Modell • Mit dem t-Test aus 1.4.2 konnten nur Nullhypothesen, die aus einer Bedingungsgleichung an die Parameter bestand, getestet werden. Oft ist es aber sinnvoll, mehrere Bedingungen simultan zu testen. • Beispiel: Wir betrachten das lineare Modell Gewichti = β0 + β1Alteri + β2D1i + β3D2i + i i = 1, . . . , n, (93) für den Datensatz aus Gaense.txt, das aus dem Modell 72 durch Hinzunahme der Variable Alter hervorgeht. Die Variablen D1 und D2 sind die DummyVariablen für Virginia und Wisconsin. 124 • Hat die Herkunft der Gänse keinen Einfluss auf das Gewicht, sind die beiden Parameter β2 und β3 simultan = 0. Es ist deshalb sinnvoll, die Nullhypothese H0 : β2 = β3 = 0 (94) zu testen. Eine Ablehnung würde im statistischen Umkehrschluss bedeuten, dass die Herkunft wohl einen Einfluss auf das Mastgewicht hat. • Eine Nullhypothese wie 94, die aus zwei oder mehr Bedingungen besteht, kann mit einem t-Test nicht getestet werden. • Eine Weiterentwicklung des t-Tests ist der F-Test. 125 • Ein Modell M1 ist in einem Modell M2 enthalten, wenn alle Variablen in Modell M1 auch in M2 vorkommen. Man sagt auch, das Modell M1 ist kleiner oder gleich als das Modell M2 Zwei Modell stehen in einem hierarchischen Verhältnis, wenn das eine in dem anderen enthalten ist. • Beispiel: M1 : Gewichti = β0 + β1Alteri + i (95) M2 : Gewichti = β0 + β1Alteri + β2D1i + β3D2i + i, (96) mit i = 1, . . . , n. Das Modell M2 hat zusätzlich zu den Variablen des Modells M1 noch die Variablen D1 und D2. Modell M1 ist damit kleiner als M2 und die beiden Modelle stehen in einem hierarchischen Verhältnis. • Gilt die Nullhypothese 94, sind die beiden Modelle in Wahrheit gleich. Die zusätzlichen Variablen von Modell 2 (Bundesstaat) haben keinen über das Alter hinausgehenden Erklärungswert. 126 • Um einen Test für Nullhypothesen wie 94 zu erarbeiten, geht man von der Quadratsummenzerlegung 48 bzw. 49 aus: ||y||2 = ||ŷ||2 + ||r||2 n n n X X X yi2 = ŷi2 + ri2 i=1 i=1 i=1 • Wir betrachten nun ganz allgemein zwei Modelle, die in einem hierarchischen Verhältnis stehen. M1 : yi = β1x1i + · · · + βpxpi + i M2 : yi = β1x1i + · · · + βpxpi + +βp+1xp+1i + · · · + βp+q xp+qi + i (97) (98) mit i = 1, . . . , n. Ziel ist die Testung der Nullhypothese H0 : βp+1 = βp+2 = · · · = βp+q = 0. (99) 127 • Die Modelle 97 und 98 können auch einen Intercept haben. Wichtig ist nur, dass M1 das kleinere Modell ist. Hat M1 einen Intercept, dann muss auch M2 einen haben. Umgekehrt kann M2 ein Modell mit und M1 ohne Intercept sein. In diesem Fall würde der Intercept in der Nullhypothese 99 neben möglicherweise anderen Variablen “gegen 0“ getestet werden. • Um den Aufwand für die Notation klein zu halte, beschränken wir uns auf die Formulierung wie in 97 bis 99 und halten im Blick, dass analoge Resultate auch für Modelle mit Intercept gelten. Getestet werden immer alle Parameter, die in M2 aber nicht in M1 vorkommen. Unter diesen Parametern kann sich auch der Intercept β0 befinden. Er spielt in diesem Zusammenhang dann keine Sonderrolle. 128 • Wir schreiben für die Modelle M1 und M2 die Quadratsummenzerlegung 48 an: M1 : ||y||2 = ||ŷ1||2 + ||r1||2 (100) M2 : ||y||2 = ||ŷ2||2 + ||r2||2 (101) • Zur Unterscheidung der Modelle wird der Vektor der durch M1 vorhergesagten Werte mit ŷ1 und der durch M2 vorhergesagten Werte mit ŷ2 bezeichnet. Entsprechend ist r1 der Residuenvektor von M1 und r2 der von M2. 129 • Da M2 das kleinere Modell M1 als Spezialfall enthält, kann die Modellanpassung des größeren Modells nicht schlechter als die des kleineren sein. Das bedeutet ||ŷ1||2 ≤ ||ŷ2||2 (102) ||r1||2 ≥ ||r2||2. (103) oder dazu äquivalent 130 • Auch wenn die Nullhypothese 99 wahr ist, gelten 102 und 103. Die Anpassung wird auch durch die Hinzunahme von Variablen ohne Vorhersagewert immer besser. Im Extrem von genauso vielen Variablen wie Fällen (p = n) erreicht man in der Regel sogar perfekte Anpassung, d.h. die Residualquadratsumme ist 0. • Eine solche “Verbesserung“ des Modells ist allerdings unerwünscht, da die zusätzlichen Variablen in Wahrheit nichts mit der abhängigen Variable y zu tun haben. • Man kann nun zeigen, dass unter der Nullhypothese 99 der Anstieg von ||ŷ1||2 zu ||ŷ2||2 gewissen wahrscheinlichkeitstheoretischen Gesetzmäßigkeiten genügen. Dies kann für die Erarbeitung eines Tests von 99 verwendet werden. 131 • Zunächst benötigen wir einige Definitionen: MSSQ(M1 ) = ||ŷ1 ||2 = MSSQ(M2 ) = ||ŷ2 ||2 = RSSQ(M1 ) = ||r1 ||2 = RSSQ(M2 ) = ||r2 ||2 = n X i=1 n X i=1 n X i=1 n X 2 ŷ1i (Modellquadratsumme für M1 ) (104) 2 ŷ2i (Modellquadratsumme für M2 ) (105) 2 r1i (Residualquadratsumme für M1 ) (106) 2 r2i (Residualquadratsumme für M2 ) (107) i=1 132 • Die Quadratsummen 104 bis 107 sind Summen von n Quadraten. Allerdings sind die Summanden keine unabhängigen Zufallsvariablen. Man kann zeigen, dass die Modellquadratsumme als Summe von Quadraten unabhängiger Zufallsvariablen geschrieben werden kann. Die Anzahl der Summanden ist genau die Anzahl der Parameter im Modell, also p für M1 und p+q für M2. Man sagt auch, dass die Modellquadratsumme für M1 p Freiheitsgrade und die Modellquadratsumme für M2 entsprechend p + q Freiheitsgrade hat. • Weiter kann man zeigen, dass die Residualquadratsumme RSSQ(M1) als Summe von n − p und RSSQ(M2) als Summe von n − p − q Quadraten unabhängiger normalverteilter Zufallsvariablen geschrieben werden kann. Auch hier sagt man, dass RSSQ(M1) genau n − p und RSSQ(M2) genau n − p − q Freiheitsgrade hat. 133 • Die Freiheitsgrade verhalten sich additiv wie die zugehörigen Quadratsummen: Die Quadratsumme ||y||2 in 100 bzw. 101 ist die Summe von n Quadraten unabhängiger Zufallsvariablen. Diese n Freiheitsgrade verteilen sich auf die Modellquadratsumme (MSSQ) und Residualquadratsumme (RSSQ) entsprechend der Anzahl der Parameter in der Modellgleichung. • Auch der Quadratsummenzerlegung der korrigierten Quadratsummen 50 bzw. 51 n n n X X X (yi − ȳ)2 = (ŷi − ȳ)2 + ri2 i=1 i=1 i=1 können Freiheitsgrade zugeordnet werden. 134 Pn 2 • Die Quadratsumme Seite hat n − 1 Freii=1 (yi − ȳ) auf der linken Pn 2 heitsgrade. Die korrigierte Modellquadratsumme i=1 (ŷi − ȳ) hat einen Freiheitsgrad weniger als die Anzahl der Parameter im Modell. Da die Zerlegung in korrigierte Quadratsummen nur für Modelle mit Intercept gültig sind, sind das nach der Notation in 36 df = p Freiheitsgrade. • Im Folgenden wird die Teststatistik des partiellen F-Tests mit unkorrigierten Quadratsummen formuliert. Haben beide Modelle M1 und M2 einen Intercept, können die Quadratsummen in der Formel durch die entsprechenden korrigierten Quadratsummen ersetzt werde, ohne etwas an der F-Statistik oder dem F-Test ändern zu müssen. 135 • Die Teststatistik für die Nullhypothese 99 H0 : βp+1 = · · · = βp+q = 0 ist F = ||ŷ2 ||2 −||ŷ1 ||2 q = ||r2 ||2 n−p−q P 2 2− n ŷ i=1 ŷ1i i=1 2i q . Pn 2 r i=1 2i n−p−q Pn (108) F ist F-verteilt mit df1 = q Zähler- und df2 = n − p − q Nennerfreiheitsgraden. 136 • Die F-Verteilungen sind eine Familie von Wahrscheinlichkeitsverteilungen, die von zwei natürlichen Zahlen df1 = 1, 2, . . . und df2 = 1, 2, . . . parametrisiert wird. F-verteilte Zufallsvariablen nehmen nur nicht negative Zahlen an. • Beispiel: Wir wollen im Datensatz aus Gaense.txt testen, ob die Herkunft (Bundesstaat) einen Einfluss auf das Mastgewicht (Gewicht) der Gänse hat. Dazu vergleichen wir folgende Modelle: M1 : Gewichti = β0 + β1Alteri + i (109) M2 : Gewichti = β0 + β1Alteri + β2D1i + β3D2i + i (110) mit i = 1, . . . , 13. Die Nullhypothese sei H0 : β2 = β3 = 0 (111) 137 • Wir berechnen zunächst die Kleinste Quadrate Schätzer und die vorhergesagten Werte für beide Modelle. Für M2 werden zusätzlich noch die Residuen bestimmt. > > > > > > > > n <- nrow(Gaense) X1 <- cbind(rep(1,n),Gaense$Alter) X2 <- cbind(rep(1,n), Gaense$Alter, Gaense$D1, Gaense$D2) betaM1 <- solve(t(X1) %*% X1) %*% t(X1) %*% Gaense$Gewicht betaM2 <- solve(t(X2) %*% X2) %*% t(X2) %*% Gaense$Gewicht y1 <- X1 %*% betaM1 # vorhergesagte Werte y2 <- X2 %*% betaM2 r2 <- Gaense$Gewicht - y2 138 • In einem nächsten Schritt berechnen wir beide Modellquadratsummen und die Residualquadratsumme für M2. > > > > MSSQ1 <- sum(y1^2) MSSQ2 <- sum(y2^2) RSSQ2 <- sum(r2^2) MSSQ1 [1] 2151.005 > MSSQ2 [1] 2163.409 > RSSQ2 [1] 0.8111765 139 • Schließlich werden die Nenner- und Zählerfreiheitsgrade df1 und df2 bestimmt und die F -Statistik ausgerechnet. > df1 <- 2 > df2 <- n - 4 > df2 [1] 9 > F <- ((MSSQ2-MSSQ1)/df1)/(RSSQ2/df2) > F [1] 68.81019 140 • Wir wissen, dass unter Nullhypothese 111 die Zufallsvariable F gemäß der FVerteilung mit df1 = 2 Zähler- und df2 = 9 Nennerfreiheitsgrade verteilt ist. Große Werte von F sprechen für eine deutliche Verbesserung der Passgüte von Modell 2 gegenüber Modell 1 und damit gegen die Nullhypothese. • H0 wird also auf dem Niveau α abgelehnt, wenn F eine bestimmte Größe überschreitet. 141 1.0 Abbildung 6 F−Dichte (df1=2 und df2=9) 0.0 0.2 0.4 0.6 0.8 Wert der F−Statistik 5% Ablehnungsgrenze 142 0 20 40 F 60 80 • F liegt also weit im Ablehnungsbereich für α = 0.05. Will man einen P Wert berechne, dann bestimmt man die Wahrscheinlichkeit, dass eine F-verteilte Zufallsvariable größere Werte als F annimmt: > P <- 1-pf(F, df1=2, df2=9) > P [1] 3.51736e-06 • Das Ergebnis ist hochsignifikant. Wir haben gezeigt, dass das Alter alleine das Mastgewicht nicht erklären kann. Die Angabe über die Herkunft aus einem Bundesstaat bringt eine signifikante Verbesserung der Güte des Modells. Wir gehen davon aus, dass die Herkunft einen Einfluss auf das Gewicht hat. 143 • Da dieser partieller F -Test große Bedeutung hat, ist er in R direkt implementiert: > L1 <- lm(Gewicht~Alter, data=Gaense) > L2 <- lm(Gewicht~Alter+Bundesstaat, data=Gaense) > anova(L1,L2) Analysis of Variance Table Model 1: Gewicht ~ Alter Model 2: Gewicht ~ Alter + Bundesstaat Res.Df RSS Df Sum of Sq F Pr(>F) 1 11 13.2150 2 9 0.8112 2 12.404 68.81 3.517e-06 *** --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 144 • Bemerkung: Der F-Test ist ein zweiseitiger Test. Da die Quadratsumme ||ŷ2||2 nie kleiner als die Quadratsumme ||ŷ1||2 sein kann, ist die F-Statistik in 108 stets nicht negativ. Große F-Werte bedeuten, dass das Modell 2 die abhängige Variable y besser voraussagt als durch reinen Zufall zu erwarten wäre. Die Nullhypothese 99 wird also genau dann abgelehnt, wenn F einen vom Signifikanzniveau abhängigen Wert überschreitet. Der Ablehnungsbereich besteht deshalb im Gegensatz zum zweiseitigen t-Test nur aus einem rechten Bereich. • Der F-Test, mit dem zwei Modelle verglichen werden, heißt partieller F-Test. 145 Zusammenfassung: Partieller F-Test Modelle (97 und 98): M1 : yi = β1 x1i + · · · + βp xpi + i M2 : yi = β1 x1i + · · · + βp xpi + +βp+1 xp+1i + · · · + βp+q xp+qi + i Nullhypothese (99): H0 : βp+1 = βp+2 = · · · = βp+q = 0. Teststatistik (108): F = ||ŷ2 ||2 −||ŷ1 ||2 q ||r2 ||2 n−p−q Pn i=1 = Pn 2 2 ŷ2i − i=1 ŷ1i q Pn 2 . i=1 r2i n−p−q Freiheitsgrade: F ist unter H0 F-Verteilt mit df1 = q (Zähler) und df2 = n − p − q (Nenner) Freiheitsgraden. P-Wert (in R): P <- 1-pf(F, df1=q, df2=n-p-q) 146 • Neben dem partiellen F-Test können auch alle Parameter eines linearen Modell mit dem absoluten oder globalen F-Test geprüft werden. • Für den globalen Test geht man von der Zerlegung 48 ||y|| = ||ŷ||2 + ||r||2 aus. 147 • Sei M ein lineares Modell mit Modellgleichung yi = β1x1i + · · · + βpxpi + i i = 1, . . . , n (112) für ein Modell ohne und yi = β0 + β1x1i + · · · + βpxpi + i i = 1, . . . , n (113) für ein Modell mit Intercept. • Sei H0 : β0 = . . . = βp = 0 (mit Intercept) (114) H0 : β1 = . . . = βp = 0 (ohne Intercept) (115) bzw. die globale Nullhypothese. 148 • Unter dieser Nullhypothese ist die F-Statistik ||ŷ||2 F = Pn 2 i=1 ŷi p p = P n 2 ||r||2 i=1 ri n−p n−p ohne Intercept (116) mit Intercept (117) bzw. ||ŷ||2 F = Pn 2 i=1 ŷi p+1 p+1 = P n 2 ||r||2 i=1 ri n−p−1 n−p−1 F-verteilt mit df1 = p und df2 = n − p (ohne Intercept) bzw. df1 = p + 1 und df2 = n − p − 1 (mit Intercept) Freiheitsgraden. • Der P-Wert errechnet sich dann in R mit 1-pf(F,df1,df2). 149 • Für Modelle mit Intercept 113 ist die globale Nullhypothese 114 selten sinnvoll. Der Intercept β0 ändert sich bei Verschiebung des Nullpunkts der Variablen (z.B. wenn Temperatur statt in Grad Celsius in Grad Kelvin gemessen wird). • Gilt für das eine Maßsystem β0 = 0, dann ist das für das andere sicher nicht mehr richtig. Die globale Nullhypothese 114 ist damit für das eine Maßsystem wahr und für das andere nicht. • Es deshalb sinnvoll, den Intercept β0 vom Test auszuschließen, also auch für Modelle mit Intercept die Nullhypothese 115 H0 : β1 = · · · = βp = 0 zu prüfen. 150 • Die Nullhypothese 115 wird durch den partiellen F-Test der Modelle M0 : yi = β0 + i i = 1, . . . , n (118) M : y1 = β0 + β1x1i + · · · + βpxpi + i i = 1, . . . , n(119) geprüft. 1 • Der Kleinste Quadrate Schätzer für β0 im Modell M0 ist β̂0 = ȳ = n (Aufgabe). Pn i=1 yi 151 Vorlesung 15.05.2014 152 • Die Statistik des partiellen F-Tests lautet dann nach 108 Pn F = 2 i=1 ŷi − p Pn Pn i=1 ȳ 2 2 i=1 ri n−p−1 (120) Hier ist ŷ der Vektor der von M vorhergesagten Werte und r sind die Residuen von M . Gilt die Nullhypothese 115, dann ist F F-verteilt mit p und n − p − 1 Freiheitsgraden. P • Da bei Modellen mit Intercept n i=1 ri = 0 gilt (Orthogonalitätsbedingung 65), kann der Zähler von 120 noch umgeformt werden (Aufgabe): n X i=1 ŷi2 − n X i=1 ȳ 2 = n X (ŷi − ȳ)2 = ||ŷ − ȳ1||2 i=1 153 Zusammenfassung: Globaler F-Test für Modelle mit Intercept, ohne Testung des Intercepts. Modell: M : yi = β0 + β1 x1i + · · · + βp xpi + i i = 1, . . . , n Nullhypothese: H 0 : β1 = . . . = βp = 0 F-Statistik: Pn (ŷi −ȳ)2 p Pn 2 i=1 ri n−p−1 i=1 F = ŷ sind die vorhergesagten Werte, ȳ das arithmetische Mittel und r der Vektor der Residuen. Freiheitsgrade unter H0 : p Zähler- und n − p − 1 Nennerfreiheitsgrade. P-Wert (in R): 1-pf(F,p,n-p-1) 154 • Spricht man ohne weiter Angaben vom F-Test, dann wird darunter in der Regel der globale F-Test ohne Berücksichtigung des Intercepts verstanden. In R ist er der Default für die Funktion summary. • Beispiel: Sei M : Gewichti = β0 + β1Alteri + β2DVi + β3DWi + i (121) mit i = 1, . . . , 13 ein lineares Modell für den Datensatz in Gaense.txt. Die Variablen DV und DW kodieren die Variable Bundesstaat. Sie sind Dummy-Variablen für Virginia (V) bzw. Wisconsin (W). • Berechnung des Modells M in R: > Gaense <- read.table("Gaense.txt", header=TRUE) > M <- lm(Gewicht~Alter+Bundesstaat, data=Gaense) 155 • Berechnung der Zähler- und Nennerquadratsumme des globalen F-Tests ohne Berücksichtigung des Intercepts: > Zaehler <- sum((M$fitted.values - mean(Gaense$Gewicht))^2) > Nenner <- sum((residuals(M))^2) • Berechnung von F-Statistik: > F <- (Zaehler/3)/(Nenner/9) > F [1] 142.7769 156 • Berechnung des P-Werts: > P <- 1 - pf(F, 3, 9) > P [1] 6.599916e-08 • Vergleich der Ergebnisse mit der Ausgabe von summary: > summary(M) Call: lm(formula = Gewicht ~ Alter + Bundesstaat, data = Gaense) Residuals: 157 Min 1Q -0.37353 -0.15294 Median 0.01103 3Q 0.17868 Max 0.47353 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.48750 0.67340 -0.724 0.487 Alter 0.48676 0.02574 18.908 1.49e-08 *** BundesstaatV -0.27353 0.21844 -1.252 0.242 BundesstaatW 1.91838 0.20180 9.506 5.45e-06 *** --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.3002 on 9 degrees of freedom Multiple R-squared: 0.9794, Adjusted R-squared: F-statistic: 142.8 on 3 and 9 DF, p-value: 6.6e-08 0.9726 1.4.5 Modelldiagnostik • Das Allgemeine Lineare Modell 36 kommt ohne eine Reihe von starken Annahmen nicht aus. Es wird angenommen, dass die Fehlerterme i 1. unabhängig sind. 2. Erwartungswert 0 haben. 3. alle die gleiche Varianz σ 2 besitzen. 4. normalverteilt sind. • Die Bedingung 1 muss durch das Experiment gewährleistet werden. Man muss sicherstellen, dass sich die einzelnen Fälle nicht gegenseitig beeinflussen. 158 • Die Bedingung 2 bedeutet, dass der Erwartungswert E(yi) vollständig durch den deterministischen Anteil des Modells β0 + β1x1i + · · · + βpxpi erklärt wird, dass also E(yi) = β0 + β1x1i + · · · + βpxpi i = 1, . . . , n (122) gilt. Bedingung 2 ist eine sehr starke Bedingung. Sie bedeutet, dass alles, was auf y einen systematischen Einfluss haben könnte, auch bekannt ist. • Gleiche Varianz der Fehlerterme 3 und die Verteilungsannahme 4 sind auch oft verletzt. Die Methoden (Kleinste Quadrate Schätzer und F-Test) liefern keine grob falschen Ergebnisse, wenn diese Voraussetzungen nur näherungsweise erfüllt sind. Bei einer starken Verletzung müssen jedoch Methoden benutzt werden, die ohne diese Voraussetzungen auskommen. 159 • Schließlich ist auch die lineare Form der Modellgleichung eine starke Bedingung. Viele Gesetzmäßigkeiten können nicht als lineares Gesetz geschrieben werden. • Keine der Annahmen an das lineare Modell kann für konkrete Daten bewiesen werden. Die Gültigkeit der Annahmen kann aber plausibel gemacht werden und grobe Verletzungen können dadurch entdeckt werden. 160 • Modelldiagnostik stützt sich im Wesentlichen auf die Analyse der Residuen. Graphische Verfahren spielen hierbei eine zentrale Rolle. • Zunächst benötigen wir eine Methode der Standardisierung der Residuen. Hierfür müssen wir ihre Varianzen schätzen. • Für ein Allgemeines Lineares Modell 36 sei X die Modellmatrix 41 bzw. 42. Die Varianz des i-ten Residuums ri ist dann: Var(ri) = (1 − (X(X 0X)−1X 0)ii)σ 2 (123) Der Ausdruck (X(X 0X)−1X 0)ii ist das i-te Diagonalelement der Projektionsmatrix X(X 0X)−1X 0, die uns schon aus der Kleinsten Quadrate Schätzung bekannt ist. σ 2 ist die unbekannte Varianz der Fehlerterme i. 161 • Gleichung 123 ist für die Standardisierung der Residuen noch nicht brauchbar, da σ 2 unbekannt ist. Wie schon bei der Ermittlung der Varianz-Kovarianz Matrix muss σ 2 durch einen Schätzer σ̂ 2 ersetzt werden. • Die Residuen sind im Allgemeinen auch nicht unkorreliert. Auch in diesem Punkt unterscheiden sie sich von den Fehlertermen i. Die Kovarianz zweier Residuen ri und ri mit i 6= j beträgt Cov(ri, rj ) = (X(X 0X)−1X 0)ij σ 2 i 6= j. (124) Die Kovarianz der Residuen wird uns im Weiteren aber nicht interessieren. 162 • Beispiel: Wir betrachten für die Daten aus Gaense.txt das einfachste Modell: Gewichti = β1Alteri + i i = 1, . . . , 13 (125) Das Weglassen des Intercepts könnte man dadurch rechtfertigen, dass für Alter=0 die Gänseküken ein vernachlässigbares Gewicht haben. > plot(Gaense$Alter,Gaense$Gewicht, xlim=c(0,32), ylim=c(0,15)) > abline(lm(Gewicht~Alter-1, data=Gaense)) 163 15 ● ● ● ● ● ● ● ● ● ● 10 ● 5 ● 0 Gaense$Gewicht ● 164 0 5 10 15 20 Gaense$Alter 25 30 • Wir berechnen 1 − (X(X 0X)−1X 0)ii 1 = 1, . . . 13 und finden: > X <- Gaense$Gewicht > VarianzRes <- 1-diag(X %*% t(X))/sum(X^2) > VarianzRes [1] 0.9182662 0.9634002 0.8946456 0.9500236 0.9207058 0.9289536 0. [12] 0.9207058 0.9120052 165 0.96 > plot(X,VarianzRes, ylab="VarRes/sigma2", xlab="Alter") ● 0.94 ● ● 0.92 ● ● ● ● ● ● 0.90 VarRes/sigma2 ● ● ● 9 10 11 12 13 14 15 Alter 166 • Die Varianz hängt vom Alter der Gänse ab. Da alle Residuen Erwartungswert 0 haben, wird man für leichte Gänse eher ein großes und für schwere Gänse eher ein kleines Residuum erwarten. • Ein direkter Vergleich der unstandardisierten Residuen ist daher insbesondere für kleine Stichproben wenig sinnvoll. • Für große Stichproben strebt die Varianz der Residuen gegen σ 2 167 • Um die Residuen in 123 standardisieren zu können, muss die unbekannte Varianz σ 2 durch einen Schätzer σ̂ 2 ersetzt werden. d ) = (1 − (X(X 0X)−1X 0) )σ̂ 2 Var(r i ii (126) Die Größe rSi = p ri (1 − (X(X 0X)−1X 0)ii)σ̂ 2 (127) heißt das i-te studentisierte Residuum. Man spricht nicht vom standardisierten Residuum, da in 127 nicht durch die Quadratwurzel aus der Varianz von ri, sondern durch die Quadratwurzel eines Schätzers der Varianz geteilt wird. 168 • Den Schätzer σ̂ 2 kann man wie in 83 bzw. 84 ermittelt werden: n X 1 σ̂ 2 = ri2 n−p−1 i=1 für Modelle mit Intercept und n X 1 ri2 σ̂ 2 = n−p i=1 für Modelle ohne Intercept. Benutzt man in 127 diesen Schätzer für σ 2 spricht man von intern studentisierten Residuen. • Da das Ziel der Analyse der Residuen auch das Auffinden von Ausreißern ist, d.h. das Identifizieren einzelner Fälle, für die die Modellvoraussetzungen sicher nicht erfüllt sind, ist es problematisch zur Schätzung von σ̂ 2 das i-te Residuum selbst zu verwenden. 169 • Benutz man stattdessen n X 1 2 σ̂(i) = rj2 n−p−2 (128) n X 1 2 σ̂(i) rj2 = n−p−1 (129) j=1 j 6= i für Modelle mit und j=1 j 6= i für Modelle ohne Intercept, dann spricht man von extern studentisierten Residuen. 170 • i-tes extern studentisierte Residuum: ri rexSi = q 2 (1 − (X(X 0X)−1X 0)ii)σ̂(i) (130) • In R kann mit dem Befehl rstudent der Vektor der extern studentisierten Residuen aus linearen Modellen berechnet werden. • Die studentisierten Residuen werden nun einer Reihe von visuellen Prüfungen unterzogen. Für das einfache Modell 125 erhält man folgende Graphik: 171 • Einfaches Streudiagramm mit Bezugslinie: > L <- lm(Gewicht~Alter-1, data=Gaense) > plot(rstudent(L)) > abline(h=0) 1.5 ● ● ● 0.5 ● 0.0 −0.5 −1.0 rstudent(L) 1.0 ● ● ● ● ● ● ● ● ● 2 4 6 8 10 12 Index 172 • Da die studentisierten Residuen annähernd standardnormalverteilt sind, sollten ungefähr 95% der Residuen zwischen -2 und 2 liegen. Das scheint für das Modell 125 erfüllt zu sein. • Wir wissen schon, dass die Herkunft der Gänse einen hochsignifikanten Einfluss auf das Gewicht hat. Damit verletzt Modell 125 sicher die Bedingung 2: Das Alter alleine erklärt sicher nicht vollständig das Gewicht. Modell 125 ist nicht vollständig. Wir markieren die fehlende Information, die Bundesstaaten, im Diagramm der Residuen: 173 > > + > > L <- lm(Gewicht~Alter-1, data=Gaense) plot(rstudent(L), pch=as.numeric(Gaense$Bundesstaat), col=as.numeric(Gaense$Bundesstaat)) abline(h=0) legend("bottomright", legend=c("G","V","W"), pch=1:3, col=1:3) 174 −1.0 −0.5 ● ● ● ● ● 2 4 6 8 Index 10 12 G V W 0.0 0.5 rstudent(L) 1.0 1.5 • Deutlich ist eine Gruppierung der Residuen nach dem Bundesstaat erkennbar. Das deutet darauf hin, dass Bundesstaat im Modell fehlt. • Ist umgekehrt im Residuenplot eine deutliche Gruppierung erkennbar, dann deutet das auf fehlende Variablen in der Modellgleichung hin. 175 Vorlesung 21.05.2014 176 • Eine andere Möglichkeit, die Bedingung 4 zu überprüfen, ist der Q-Q Plot. Sind die studentisierten Residuen ungefähr standardnormalverteilt, dann sollte das empirische α-Perzentil (in R quantile(r,prob=alpha) für alle α zwischen 0 und 1 ungefähr gleich dem theoretischen α-Perzentil der Standardnormalverteilung sein (in R: qnorm(alpha)). • Plottet man für alle α die Paare bestehend aus empirischem und theoretischem Perzentil der Standardnormalverteilung, dann wird die Kurve nahe an der 45° Geraden des ersten Quadranten liegen, wenn die studentisierten Residuen annähernd standardnormalverteilt sind. In R können solche Plots durch die Funktion qqnorm erzeugt werden. 177 Q-Q-Plot mit Bezugslinie: > qqnorm(rstudent(L)) > abline(0,1) Normal Q−Q Plot 1.5 ● ● ● 0.5 0.0 −0.5 −1.0 Sample Quantiles 1.0 ● ● ● ● ● ● ● ● ● ● −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 Theoretical Quantiles 178 • Man sieht hier deutliche Abweichungen von der 45° Geraden. Bei so kleinen Stichproben ist das allerdings nicht ungewöhnlich und spricht nicht gegen die Voraussetzung 4. • Für größere Stichproben (n = 200) würde ein Q-Q-Plot für ein lineares Modell, bei dem alle Voraussetzungen erfüllt sind, folgende Gestalt haben (Simulationsdaten): > > > > > > > set.seed(198) n <- 200 x1 <- seq(0,1,length=n) x2 <- rnorm(n) epsilon <- rnorm(n,mean=0, sd=0.45) y <- 34+3*x1+8.1*x2+epsilon L <- lm(y~x1+x2) 179 > qqnorm(rstudent(L)) > abline(0,1) Normal Q−Q Plot 2 ●● ● ●● ● ●● ● −2 −1 0 1 ●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●● ●●● ● ●● ●● ● −3 Sample Quantiles ● ● −3 −2 −1 0 1 Theoretical Quantiles 2 3 • Ein analoger Plot für Daten, bei denen die Voraussetzungen für das lineare Modell verletzt sind, hätte folgende Gestalt (Simulationsdaten): > > > > > epsilon <- rexp(n)-1 y <- 34+3*x1+8.1*x2+epsilon L <- lm(y~x1+x2) qqnorm(rstudent(L), ylim=c(-3,3)) abline(0,1) 180 3 Normal Q−Q Plot 1 0 −1 −2 ● ●●●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ●● ● ● ●●● −3 Sample Quantiles 2 ● ● ● −3 −2 −1 0 1 Theoretical Quantiles 2 3 • Abweichungen für sehr kleine und große Quantile, sprechen noch nicht für eine Verletzung der Modellannahmen. Liegen die Punkte des Q-Q-Plots aber in einem weiten Bereich unter oder über der 45° Geraden, dann muss von einer Verletzung der Annahme 4 ausgegangen werden. • Als Folge einer solchen Verletzung der Modellannahmen müssen die theoretischen Aussagen über die Varianz-Kovarianz Matrix der Kleinste Quadrate Schätzer nicht mehr gültig sein. Auch ist nicht mehr garantiert, dass der F-Test das Niveau für den Fehler 1. Art α einhält. 181 • Oft hängt die Varianz der i von den vorhergesagten Werten ŷi ab. Diese häufige Verletzung der Modellvoraussetzung 3 kann durch Gegenüberstellung der studentisierten Residuen mit den vorhergesagten Werten ŷi in einem Streudiagramm entdeckt werden: 182 > > + > L <- lm(Gewicht~Alter-1, data=Gaense) plot(L$fitted.value,rstudent(L), xlab=expression(hat(y)), ylab="StudRes") abline(lm(rstudent(L)~L$fitted.value)) 1.5 ● ● ● 0.0 0.5 ● ● −0.5 −1.0 StudRes 1.0 ● ● ● ● ● ● ● ● 10 11 12 13 14 15 y^ 183 • Auch hier ist Bedingung 4 schwer nachprüfbar, da die Fallzahl klein ist. Bei größerem n könnte ein ähnlicher Plot für einen simulierten Datensatz folgendermaßen aussehen: 184 > > > > > > + > set.seed(15052014) x <- seq(0,10,1/100) epsilon <- rnorm(1001,mean=0, sd=x) y <- 5.78+1.28*x+epsilon L <- lm(y~x) plot(L$fitted.value, rstudent(L), xlab=expression(hat(y)), ylab="StudRes", main="Gleiche Varianz verletzt") abline(lm(rstudent(L)~L$fitted.value)) 185 Gleiche Varianz verletzt ● ● 4 ● 0 −2 ● ● ● ●● ●● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ●● ● ●●● ● ●● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ●● ● ● ●● ● ● ●● ●● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●●● ●●● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ●●● ● ●● ● ●● ●● ● ●● ●●● ●● ●● ●●● ● ●●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ●●●● ●●● ●● ● ● ●● ●●● ●● ● ● ●●● ●●●● ● ● ● ● ● ●● ● ● ●●●● ● ● ● ●● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ●●● ●●●● ● ● ● ●● ●● ●● ●● ● ●● ●●● ● ● ●●●● ●● ●●● ● ●● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ● ● ●●●●●● ●● ● ● ● ● ● ● ●● ● ● ●●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ●● ● ● ● ● ● ● ●● ● ● ● ●●●● ● ● ● ●● ● ● ●● ● ● ●●●● ● ●● ●● ● ●● ● ●● ● ●● ●● ●● ● ● ●● ●● ● ● ●● ● ● ● ●● ● ● ● ●● ●● ●● ●● ● ●● ● ●● ● ● ● ●● ● ●●● ● ● ●●● ● ● ● ● ●● ●●● ● ●● ●●● ●● ● ●● ●● ●●●● ● ●●●● ● ●●● ●●● ●● ● ● ● ●●●● ● ● ● ● ●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●●● ● ● ● ● ●● ●● ●● ●● ● ● ●●● ●●●●● ● ●● ● ● ● ● ● ● ●● ●● ●● ●●●●● ●● ●●●●●● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ●● ●●●● ● ●●● ●●●●● ● ●● ●● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ●● ● ●● ● ● ● ●● ● ●● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −4 StudRes 2 ● ● 6 8 10 12 14 y^ 16 18 Ist die Varianzgleichheit nicht verletzt, würde der entsprechende Plot so aussehen: > > > > > > + > set.seed(15052015) x <- seq(0,10,1/100) epsilon <- rnorm(1001,mean=0, sd=1.1) y <- 5.78+1.28*x+epsilon L <- lm(y~x) plot(L$fitted.value, rstudent(L), xlab=expression(hat(y)), ylab="StudRes", main="Gleiche Varianz nicht verletzt") abline(lm(rstudent(L)~L$fitted.value)) 186 3 Gleiche Varianz nicht verletzt ● ● ● 0 −1 −2 ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ●●●● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ●● ●● ●● ● ●● ● ●● ● ● ●●● ●● ●● ●● ● ●●● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ●● ● ● ● ●● ● ● ● ● ● ●● ● ●●● ●● ● ● ●●● ● ● ●● ● ●●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ●●● ● ● ● ● ● ●● ● ● ●●● ●●●● ● ● ● ● ● ● ● ●● ●● ● ●●● ●● ● ● ●●● ● ●● ●●● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ●●● ● ● ●●● ●●●● ● ● ●● ● ● ●● ● ●● ●●● ●● ● ●●● ● ● ● ● ● ●● ● ●● ●●● ● ●● ● ● ● ●● ● ●● ● ● ● ●●●●● ●● ●●● ●● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ●● ● ● ● ●● ● ● ● ● ●● ● ●● ●●●● ● ●●● ●● ● ● ● ● ●●●● ● ●● ● ●●● ●● ● ●● ● ● ●● ● ●●●● ●● ● ●● ● ● ● ●●● ● ● ●● ● ●● ● ● ●● ●● ● ● ● ● ●● ●● ● ● ●● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ●●● ●●● ●● ●●● ● ●●●●● ● ●● ● ●● ● ● ●● ● ●● ●● ● ● ● ●●●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ●●● ●●● ● ●● ● ● ● ●● ● ●●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●●●● ● ●● ● ● ● ● ● ●● ● ● ● ●● ● ●● ● ●● ● ●●● ● ● ●● ●● ● ● ●● ●● ● ●● ● ● ●● ● ● ● ●● ● ● ●● ●● ● ●● ● ●● ● ●●● ● ●●●● ●● ●●● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ● ● ● ●● ● ● ● ● ●● ● ●●●● ●● ● ● ● ● ● ● ● ● ●●● ●● ● ● ●●● ● ● ● ●●● ● ●●● ● ● ● ● ● ●● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ●●●● ●●● ● ● ● ●●● ●● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ●● ● ● ●● ●●● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ●●●● ● ●●● ●●●●● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −3 StudRes 1 2 ● ● ● ● ● 6 8 ● 10 12 y^ 14 16 18 2. Moderne Regressionsmodelle in der Bioinformatik 2.1 Ridge Regression • Bei der maschinellen Erzeugung von Daten durch moderne biotechnische Methoden werden Datensätze mit vielen Variablen erzeugt. Die Voraussetzung n >> p ist dann oft nicht mehr erfüllt. • Modelle mit sehr vielen Kovariaten verhalten sich instabil. Oft führt das Entfernen eines einzigen Falls zu völlig anderen Ergebnissen bei der Parameterschätzung. 187 • Das macht die Interpretation der geschätzten Modellparameter schwierig. Ridge Regression ist eine Möglichkeit, die Parameterschätzungen zu stabilisieren. • Zunächst betrachten wir den Fall abhängiger Spalten der Modellmatrix X. Das ist im Fall n < p immer der Fall, kann aber auch bei n ≥ p auftreten. • Beispiel: > > > > > x1 <- 1:10 x2 <- c(2,2,1,0,4,6,7,3,1,10) x3 <- 2*x2+x1 X <- matrix(c(rep(1,10),x1,x2,x3), nrow=10) y <- c(1,9,3,6,4,7,6,5,0,1) 188 • Das Beispiel ist so konstruiert, dass die letzte Spalte von den anderen Spalten linear abhängt. • Für eine solche Modellmatrix kann die Pseudoinverse (X 0X)−1X 0 nicht berechnet werden, da die Matrix X 0X singular, d.h. nicht invertierbar, ist. • > attr(try(solve(t(X) %*% X)),"condition")$message [1] "Lapackroutine dgesv: System ist genau singulär: U[4,4] = 0" 189 • Trotzdem können für das lineare Modell yi = β0 + β1x1i + β2x2i + β3x3i + i i = 1, . . . , 10 (131) Kleinste Quadrate Schätzer angegeben werden: • > lm(y~x1+x2+x3) Call: lm(formula = y ~ x1 + x2 + x3) Coefficients: (Intercept) 5.8033 x1 -0.4159 x2 0.1900 x3 NA 190 • Die Kleinste Quadrate Lösung lautet: β̂0 = 5.8033 β̂1 = −0.4159 β̂2 = 0.1900 (132) β̂3 = 0 • Der Parameter β̂3 wird hier einfach auf 0 gesetzt, da die dritte Kovariate linear von den anderen abhängt und damit überflüssig ist. 191 • Diese Kleinste Quadrate Schätzung ist aber nicht mehr eindeutig, da man statt der dritten auch die zweite Kovariate x2 weglassen kann: > lm(y~x1+x3) Call: lm(formula = y ~ x1 + x3) Coefficients: (Intercept) 5.80332 x1 -0.51092 x3 0.09502 192 • β̂0 = 5.80332 β̂1 = −0.51092 β̂2 = 0 (133) β̂3 = 0.09502 • Die Lösungen 132 und 133 sind beides Kleinste Quadrate Lösungen des gleichen linearen Modells. Wie man sich leicht überzeugen kann, sind die vorhergesagten Werte für beide Lösungen identisch: 193 • > lm(y~x1+x2+x3)$fitted.values 1 2 3 4 5 6 7 5.767491 5.351592 4.745659 4.139727 4.483963 4.448131 4.222266 3.04 > lm(y~x1+x3)$fitted.values 1 2 3 4 5 6 7 5.767491 5.351592 4.745659 4.139727 4.483963 4.448131 4.222266 3.04 194 • Man kann zeigen, dass ein solches Regressionsproblem sogar unendlich viele Kleinste Quadrate Lösungen besitzt. • Damit hat die Interpretation einzelner Parameter keine Bedeutung mehr. • Insbesondere sind Nullhypothesen der Form βi = 0 nicht mehr gleichbedeutend damit, dass die zugehörige Kovariate keinen Einfluss auf die abhängige Variable y hat. • Bei großen Regressionsproblemen mit vielen gleichberechtigten Kovariaten ist auch unklar, welche man weglassen soll. 195 • Die Idee der Ridge Regression ist, im Ausdruck für die Pseudoinversen statt der möglicherweise singulären Matrix X 0X die Matrix X 0X + λE zu invertieren. E sei die Einheitsmatrix der Dimension p bzw. p + 1. Durch Addieren von λE mit einem geeigneten Parameter λ kann wieder β̂Rλ = (X 0X + λE)−1X 0y (134) angegeben werden. Für kleine λ erhält man einen Schätzer β̂Rλ, der nahe an einer Kleinsten Quadrate Lösung liegt. 196 • > lambda <- 0.1 > beta_R <- solve(t(X) %*% X +lambda*diag(4)) %*% t(X) %*% y > beta_R [1,] [2,] [3,] [4,] [,1] 5.5414073992 -0.3806893864 0.1907491503 0.0008089142 • Diese Lösung ist keine Kleinste Quadrate Lösung mehr. 197 • Die Residualquadratsumme RSSQ der Kleinsten Quadrate Schätzung beträgt: > sum(residuals(lm(y~x1+x2+x3))^2) [1] 67.81064 Die RSSQ der Ridge Regression mit λ = 0.1 hat dagegen den Wert > r <- y - X %*% beta_R > sum(r^2) [1] 67.9571 • Offensichtlich muss man für die Stabilisierung der Ridge Regression einen Preis bezahlen. Die vorhergesagten Werte liegen nicht mehr so nahe an den beobachteten wie bei der Kleinsten Quadrate Schätzung. 198 • Vorhergesagte Werte (Kleinste Quadrate): > lm(y~x1+x2)$fitted.values 1 2 3 4 5 6 7 5.767491 5.351592 4.745659 4.139727 4.483963 4.448131 4.222266 3.04 • Vorhergesagte Werte (Ridge Regression mit λ = 0.1): > as.vector(X %*% beta_R) [1] 5.546261 5.166380 4.594133 4.021886 4.411473 4.416326 4.228813 199 • Die richtige Wahl des Regularisierungsparmeters λ ist schwierig. Hilfreich ist oft ein Plot der Koeffizientenschätzer in Abhängigkeit von λ. Verändern sie sich ab einem gewissen Wert nicht mehr stark, und steigt anderseits die RSSQ nicht zu stark an, dann hat man einen vernünftigen Wert für den Regularisierungsparameter λ gefunden. • Um die Modellparameter in ihrer Größe vergleichen zu können, ist es oft sinnvoll, alle beteiligten Variablen vor der Ridge Regression zu standardisieren. Eine Regression mit standardisierten Variablen wird dann stets ohne Intercept durchgeführt. • Eine wichtige Anwendung für Ridge Regression ist auch die Behandlung von Modellen mit fast linear abhängigen Kovariaten. 200 • > > > > > > > > > > > > > set.seed(410) n <- 100 x1 <- rnorm(n) x2 <- x1 x2[100] <- 0 x3 <- rnorm(n) x1 <- (x1 - mean(x1))/sd(x1) x2 <- (x2 - mean(x2))/sd(x2) x3 <- (x3 - mean(x3))/sd(x3) epsilon <- rnorm(n, mean=0, sd=2.3) y <- 2+1.1*x1+1.3*x3+epsilon y <- (y - mean(y))/sd(y) X <- cbind(x1,x2,x3) 201 • Der Parameter λ wird zwischen 0 und 20 in kleinen Schritten variiert. Für jedes λ werden die Koeffizienten und die Residualquadratsumme berechnet: > > > > + + + + LAMBDA <- seq(0,20, 1/200) KOEFF <- NULL RSSQ <- NULL for(lambda in LAMBDA){ Co <- solve(t(X) %*% X + lambda*diag(3)) %*% t(X) %*% y RSSQ <- c(RSSQ, sum((y - X %*% Co)^2)) KOEFF <- rbind(KOEFF, as.vector(Co)) } 202 • Schließlich plotten wir die Koeffizienten in Abhängigkeit von λ in einem gemeinsamen Diagramm. Daneben betrachten wir den Anstieg der RSSQ für steigendes λ. > > + > > + > PAR <- par(mfrow=c(1,2)) matplot(x=LAMBDA, y=KOEFF, col=c("red", "blue","black"), lty=1, xlab=expression(lambda), type="l") legend("right", col=c("red", "blue","black"), lty=1, legend=c("x plot(x=LAMBDA, y=100*RSSQ/RSSQ[1], xlab=expression(lambda), ylab="RSSQ [%]", type="l") par(PAR) 203 100.0 0.1 100.2 0.2 0.3 KOEFF 0 5 10 λ 15 20 100.4 100.6 RSSQ [%] x1 x2 x3 0 5 10 λ 15 20 100.8 0.4 Vorlesung 22.05.2014 204 • Hier würde man eine hohe Regularisierung von etwa λ = 15 wählen. Die Koeffizienten von x1 und x2 nähern sich einem gemeinsamen Wert an und die Steigerung der RSSQ liegt immer noch unter 1%. Da x1 und x2 fast gleich sind, ist es sinnvoll, ihnen den gleichen Einfluss auf y zuzuordnen. • Ridge Regression verkleinert die Beträge der Koeffizienten. Wie die gewöhnliche Kleinste Quadrate Regression löst auch die Ridge Regression ein Optimierungsproblem: • Kleinste Quadrate: Minimiere die Residualquadratsumme: ||y − Xβ||2 −→ Min (135) 205 • Wie immer sei y die abhängige Variable und X die Modellmatrix (Kovariatenmatrix). Der Vektor β = β̂ bei dem 135 sein Minimum annimmt, ist der Kleinste Quadrate Schätzer für β. • Die Parameterschätzer der Ridge Regression lösen ein ähnliches Optimierungsproblem. Da betragsmäßig große Koeffizienten vermieden werden sollen, wird 135 um einen “Strafterm“ für große Parameterschätzer ergänzt: • Ridge Regression: ||y − Xβ||2 + λ||β||2 −→ Min (136) λ sei ein nicht negativer Regularisierungsparameter. 206 • Da ||β||2 = β12 + · · · + βp2 das Quadrat der euklidischen Länge des Parametervektors β ist, wird das Minimierungsproblem 136 durch ein β̂ gelöst, so dass sowohl die Residualquadratsumme ||y − Xβ||2 als auch der Parametervektor ||β|| simultan klein werden. • Natürlich wird die Residualquadratsumme größer als die der gewöhnlichen Kleinsten Quadrate Schätzung sein. • An 136 sieht man auch, dass je größer λ ist, umso größer ist Auswirkung des Strafterms λ||β||2 im Minimierungsprozess. Große λ drücken die Parameterschätzer λ̂ immer weiter gegen 0. 207 • Für λ > 0 sind die Parameterschätzter β̂ der Ridge Regression nicht mehr erwartungstreu. D.h. es gilt E(β̂i) 6= β (137) Man sagt, die Schätzer haben einen Bias oder sie sind verzerrt. • In manchen Situation sind die Schätzer der Ridge Regression trotz Bias den unverzerrten Schätzern der gewöhnlichen Kleinsten Quadrate Regression vorzuziehen. In der Reger ist nämlich die Varianz der Schätzer der Ridge Regression kleiner als die der Kleinsten Quadrate Schätzer. • So kann der Schätzer der Ridge Regression trotz des Bias näher am wahren Parameterwert liegen als der Kleinste Quadrate Schätzer. 208 • In R ist die Ridge Regression im Paket MASS in der Funktion lm.ridge implementiert. > library(MASS) > L_Rid <- lm.ridge(y~x1+x2+x3-1, lambda=10) > coef(L_Rid) x1 x2 x3 0.1221717 0.1243361 0.4289740 209 2.2 Lasso Regression • Die Lasso Regression ist ein zur Ridge Regression alternatives Verfahren der Regularisierung. • “Lasso“ steht für “Least Absolute Shrinkage Selection Operator“. Allerdings ist die übliche Bedeutung des Wortes “Lasso“ durchaus zutreffend: Man versucht aus einer großen Anzahl von Kovariaten die wichtigen “einzufangen“. • Trotz vieler Ähnlichkeiten zur Ridge Regression ist die Möglichkeit der Variablenselektion eine besondere Eigenschaft der Lasso Regression. 210 • Auch die Parameterschätzung der Lasso Regression löst ein Minimierungsproblem. ||y − Xβ||2 + λ||β||1 −→ Min (138) Der Ausdruck ||y − Xβ||2 + λ||β||1 nimmt am Parameterschätzer β̂ der Lasso Regression sein Minimum an. λ sei wieder ein nicht negativer Parameter. ||β||1 im Strafterm bedeutet ||β||1 = |β1| + · · · + |βp|. • ||β||1 ist damit die Summe der Beträge des Vektors β. • ||β||1 heißt die L1-Norm von β. Sie definiert einen zur “gewöhnlichen“ Norm alternativen Längenbegriff. 211 • Die L1-Norm heißt auch Manhattan Norm. Darf man sich wie in Manhattan nur entlang eines rechtwinkeligen Gitters bewegen, dann gibt die L1 Norm eines Vektors genau die Strecke an, die man zurücklegen muss, wenn man von seiner Basis zur Spitze gelangen will. • Der einzige Unterschied zur Ridge Regression ist die andere Form des Strafterms. Auch in der Lasso Regression werden betragsmäßig große Parameterwerte “bestraft“. Mit steigendem Regularisierungsparameter λ schrumpfen sie wie bei der Ridge Regression gegen 0. 212 • Wir untersuchen den Einfluss der Regularisierung auf die Koeffizienten bei der Lasso Regression. Es wird die Funktion lars aus dem Paket lars benutzt: > > > + + > + > + > + > library(lars) LR <- lars(x=X,y=y,intercept=FALSE) plot(x=NULL,y=NULL,xlim=c(0,5), ylim=c(-0.5,0.5), xlab=expression(lambda), ylab="Koeffizienten (Lasso)", main="Lasso Regression") points(x=c(0,LR$lambda[c(3,2,1)]),y=c(LR$beta[c(4,3,2,1),"x1"]), col="red", lty=1, type="s") points(x=c(0,LR$lambda[c(3,2,1)]),y=c(LR$beta[c(4,3,2,1),"x2"]), col="blue", lty=2, type="s") points(x=c(0,LR$lambda[c(3,2,1)]),y=c(LR$beta[c(4,3,2,1),"x3"]), col="black", lty=3, type="s") legend("bottomright", lty=1:3, col=c("red", "blue", "black"), 213 + legend=c("x1","x2","x3")) > abline(h=0, lwd=2) 0.2 0.0 −0.2 −0.4 Koeffizienten (Lasso) 0.4 Lasso Regression x1 x2 x3 0 1 2 3 λ 4 5 • Sowohl Ridge als auch Lasso Regression schrumpfen die Koeffizienten gegen 0. • Im Gegensatz zur Ridge Regression werden beim Lasso mit steigendem Regularisierungsparameter die Modellparameter schrittweise geschrumpft. Unter einer Schwelle λ1 für λ spielt der Strafterm in 138 gar keine Rolle. Die Parameterschätzung der Lasso Regression ist exakt die der gewöhnlichen Kleinsten Quadrate Schätzung. • Ab λ1 wird ein Parameter auf 0 gesetzt. Auch die anderen Parameter verändern sich bei λ1 sprunghaft. • Bis zu einem λ2 > λ1 bleiben wieder alle Parameterschätzungen unverändert. Bei λ = λ2 verändern sich wieder alle Parameter sprunghaft. Mit steigendem λ werden immer mehr Parameter 0. 214 • Dieser Prozess wird so lange fortgesetzt, bis ab einem λ alle Parameterschätzungen 0 sind. • In unserem Beispiel mit Simulationsdaten, wird der Parameter zu x2 als erstes auf 0 gesetzt. Das ist durchaus erwünscht, da in der Simulation y gar nicht von x2 abhängt. Der nicht verschwindende Koeffizient für x2 in der Kleinsten Quadrate Schätzung ist eine Folge der hohen Korrelation von x1 und x2. • Lasso Regression ist dann eine sinnvolle Methode, wenn aus (vielen) Kovariaten einige wenige wichtige ausgewählt werden sollen. 215 • Beispiel: Proteomdatensatz in spec.RData: Der Datensatz in spec.RData enthält das Ergebnis einer massenspektroskopischen Untersuchung des Blutserums eines Rinds. • Alle Proteine werden dabei zunächst aufgebrochen, geladen und in einem elektrischen Feld beschleunigt. Schließlich werden die beschleunigten Proteinfragmente in einem magnetischen Feld nach ihrem Ladungs-Masseverhältnis aufgetrennt und ihre Häufigkeiten (Intensitäten) vermessen. Diese Intensitäten befinden sich im Datensatz spec: 216 • > load("spec.RData") > head(spec) 11623 11624 11625 11626 11627 11628 mz intensity 700.0165 0.0431 700.0454 0.0431 700.0743 0.0603 700.1032 0.0000 700.1321 0.0000 700.1610 0.0862 217 • Um Aussagen über die Zusammensetzung des Serums machen zu können, werden Vergleichsspektren bekannter Proteinmischungen herangezogen. • Diese Vergleichsspektren sind in model aus model.RData enthalten. > load("model.RData") > model[1:6,1:4] [1,] [2,] [3,] [4,] [5,] [6,] Model1 Model2 Model3 Model4 -2.268375e-17 7.581408e-19 6.271178e-19 1.187285e-18 -1.802986e-18 2.910629e-19 1.341680e-19 1.878016e-18 4.626768e-19 -1.328350e-20 3.564735e-19 8.667513e-19 2.753857e-19 -6.204070e-20 3.328993e-19 4.700334e-19 -2.400153e-19 3.129596e-19 1.120741e-18 7.849036e-19 -8.037270e-19 -3.799226e-19 5.838759e-19 7.506338e-19 218 • Jeder Zeile in model entspricht das Mass-Ladungsverhältnis (m/z) der entsprechenden Zeile in spec. • In einer Analyse des unbekannten Serums, soll der Vektor der Intensitäten als Linearkombination der bekannten Modellintensitäten dargestellt werden. • Ein gewöhnlicher Kleinste Quadrate Ansatz führt zu nicht interpretierbaren Ergebnissen (Übung). • Durch Lasso Regression können die Modelle (Kovariate) nacheinander ausgeschlossen werden, bis man zu einer kleinen gut interpretierbaren Anzahl kommt. 219 2.3 Wahl des richtigen Modells, Variablenselektion • Am Proteom-Datensatz aus spec.RData wird klar, dass es nicht unbedingt sinnvoll ist, in ein lineares Modell alle verfügbaren Kovariaten einzuschließen. • Es stellt sich also die Frage nach einer vernünftigen Auswahl. Wir wollen eine Selektion der Variablen durchführen. Ziel ist ein möglichst kleines Modell mit wenig Kovariaten, die alle einen tatsächlichen Erklärungswert besitzen. • Wir habe schon gesehen, das jede zusätzliche unabhängige Variabel die Residualquadratsumme verkleinert, als zu einem besseren Fit des Modells führt. 220 • Zu viele Kovariaten führen aber in der Regel nur zu einem besseren Fit im vorliegenden Datensatz. Das so gefundene Modell würde bei einer Wiederholung des Experiments auf den neuen Daten zu einer viel schlechteren Anpassung führen. • Beispiel (Simulation): > > > > > > > set.seed(5001) Xs <- as.data.frame(matrix(runif(10*8), nrow=10)) colnames(Xs) <- paste("x",1:8,sep="") epsilon <- rnorm(10,mean=0, sd=0.5) y <- 4.89+Xs$x1*2.34+epsilon Ls <- lm(y~., data=Xs) RSSQ <- sum(residuals(Ls)^2); RSSQw <- sum(epsilon^2) 221 • y hängt in dieser Simulation nur von x1 ab. Da aber noch sieben weitere Variablen in das lineare Modell genommen wurden, ist die Anpassung (RSSQ) viel besser als theoretisch möglich ist (RSSQw). > RSSQ [1] 0.0472812 > RSSQw [1] 3.427085 222 • Die geschätzten Parameter von Ls versagen für neue Daten völlig: > > > > epsilon2 <- rnorm(10, mean=0, sd=0.5) y2 <- 4.89+Xs$x1*2.34+epsilon2 RSSQ2 <- sum((y2-Ls$fitted.values)^2) RSSQ2 [1] 6.178276 223 • Eine Neuberechnung des Modells ergibt völlig andere Koeffizienten: > Ls2 <- lm(y2~., data=Xs) > coef(Ls2) (Intercept) 3.8523293 x1 1.6653081 x2 0.3281021 x3 0.4419437 x4 1.2671671 -1.140 x1 2.628325 x2 -5.826039 x3 -3.750276 x4 2.702609 3.84 > coef(Ls) (Intercept) 8.499369 224 • Der Grund für dieses schlechte Verhalten ist in den vielen zusätzlichen Variablen ohne Erklärungswert zu sehen. Ist die Anzahl der erklärenden Variablen von ähnlicher Größenordnung wie die Anzahl der Fälle, tritt dieses Problem immer auf. Ein kleineres Modell ergibt dagegen auf neuen Daten eine ähnlich gute Anpassung wie auf den Daten, für das es angepasst wurde: > Lk <- lm(y~x1, data=Xs) > sum(residuals(Lk)^2) [1] 3.351243 > sum((y2-Lk$fitted.values)^2) [1] 3.437182 225 • Auch stimmen die Residualquadratsummen besser mit der Summe der quadrierten Fehlerterme überein: > RSSQw [1] 3.427085 • Eine sorgsame Auswahl der Variablen ist deshalb besonders bei kleiner Fallzahl n unbedingt notwendig. 226 • Will man aus einer Reihe von Kandidaten das Modell auswählen, das einerseits alle relevanten Kovariaten enthält und anderseits möglichst alle überflüssigen ausschließt, verwendet man oft zwei Kriterien: AIC = n log(RSSQ) − n log(n) + 2p BIC = n log(RSSQ) − n log(n) + p log(n) (139) (140) • Das BIC ist das Bayesian Information Criterion und das AIC heißt nach seinem Erfinder Akaike Information Criterion. p ist wie immer die Anzahl der Variablen und n die Fallzahl. log sei der natürliche Logarithmus. • Ein Modell ist umso geeigneter, je kleiner das AIC bzw. BIC ist. • Ein Modell mit mehr Variablen (größeres p) hat nur dann ein kleineres AIC bzw. BIC, wenn die Abnahme der Residualquadratsumme RSSQ den Anstieg von 2p bzw. p log(n) überkompensiert. 227 • Beispiel: Es wird wieder das y und die Kovariatenmatrix Xs aus dem vorigen Beispiel betrachtet. Es soll unter den Modellen, die höchstens zwei Kovariaten enthalten, das mit dem kleinsten AIC bzw. BIC ausgewählt werden: > > > > > > > > > > > M0 <- lm(y~1) M1 <- lm(y~Xs$x1); M2 <- lm(y~Xs$x2) M3 <- lm(y~Xs$x3); M4 <- lm(y~Xs$x4) M5 <- lm(y~Xs$x5); M6 <- lm(y~Xs$x6) M7 <- lm(y~Xs$x7); M8 <- lm(y~Xs$x8) M9 <- lm(y~Xs$x1+Xs$x2); M10 <- lm(y~Xs$x1+Xs$x3) M11 <- lm(y~Xs$x1+Xs$x4); M12 <- lm(y~Xs$x1+Xs$x5) M13 <- lm(y~Xs$x1+Xs$x6); M14 <- lm(y~Xs$x1+Xs$x7) M15 <- lm(y~Xs$x1+Xs$x8); M16 <- lm(y~Xs$x2+Xs$x3) M17 <- lm(y~Xs$x2+Xs$x4); M18 <- lm(y~Xs$x2+Xs$x5) M19 <- lm(y~Xs$x2+Xs$x6); M20 <- lm(y~Xs$x2+Xs$x7) 228 > > > > > > > > M21 M23 M25 M27 M29 M31 M33 M35 <<<<<<<<- lm(y~Xs$x2+Xs$x8); lm(y~Xs$x3+Xs$x5); lm(y~Xs$x3+Xs$x7); lm(y~Xs$x4+Xs$x5); lm(y~Xs$x4+Xs$x7); lm(y~Xs$x5+Xs$x6); lm(y~Xs$x5+Xs$x8); lm(y~Xs$x6+Xs$x8); M22 M24 M26 M28 M30 M32 M34 M36 <<<<<<<<- lm(y~Xs$x3+Xs$x4) lm(y~Xs$x3+Xs$x6) lm(y~Xs$x3+Xs$x8) lm(y~Xs$x4+Xs$x6) lm(y~Xs$x4+Xs$x8) lm(y~Xs$x5+Xs$x7) lm(y~Xs$x6+Xs$x7) lm(y~Xs$x7+Xs$x8) • In nächsten Schritt werden die Residualquadratsummen für die Modelle M0 bis M36 berechnet: > + + + + + + + + + + + + RSSQ <- c(sum(residuals(M0)^2),sum(residuals(M1)^2), sum(residuals(M2)^2), sum(residuals(M3)^2),sum(residuals(M4)^2), sum(residuals(M5)^2), sum(residuals(M6)^2),sum(residuals(M7)^2), sum(residuals(M8)^2),sum(residuals(M9)^2),sum(residuals(M10)^2), sum(residuals(M11)^2),sum(residuals(M12)^2),sum(residuals(M13)^2 sum(residuals(M14)^2),sum(residuals(M15)^2),sum(residuals(M16)^2 sum(residuals(M17)^2),sum(residuals(M18)^2),sum(residuals(M19)^2 sum(residuals(M20)^2),sum(residuals(M21)^2),sum(residuals(M22)^2 sum(residuals(M23)^2),sum(residuals(M24)^2),sum(residuals(M25)^2 sum(residuals(M26)^2),sum(residuals(M27)^2),sum(residuals(M28)^2 sum(residuals(M29)^2),sum(residuals(M30)^2),sum(residuals(M31)^2 sum(residuals(M32)^2),sum(residuals(M33)^2),sum(residuals(M34)^2 sum(residuals(M35)^2),sum(residuals(M36)^2)) 229 • Wir berechnen AIC und BIC für alle Modelle: > > > > n <- 10 p <- c(0,rep(1,8), rep(2,28)) AIC <- n*log(RSSQ)-n*log(n)+2*p BIC <- n*log(RSSQ)-n*log(n)+p*log(n) • Schließlich bestimmen wir das Modell mit dem kleinsten BIC bzw. AIC: > which(AIC==min(AIC)) [1] 15 > which(BIC==min(BIC)) [1] 15 230 • M14 wird von beiden Informationskriterien ausgewählt. Das ist, wie wir wissen, nicht ganz optimal, da die Variable x7 eigentlich keinen Einfluss auf y hat. • Obwohl die Informationskriterien AIC und BIC nicht immer das ideale Modell auswählen, führen sie in der Regel zu brauchbaren Modellen. Bei großen Modellen muss man immer damit rechnen, dass ein gewisser Anteil der Variablen fälschlicherweise ausgewählt bzw. verworfen wird. 231 • Eine andere Möglichkeit der Variablenselektion ist die Benutzung der Eigenschaft der Lasso Regression, für steigenden Regularisierungsparameter Variablen schrittweise aus dem Modell auszuschließen: > Ll <- lars(x=as.matrix(Xs), y=y) > Ll Call: lars(x = as.matrix(Xs), y = y) R-squared: 0.994 Sequence of LASSO moves: x1 x7 x2 x5 x4 x6 x3 x2 x8 x2 x4 x4 Var 1 7 2 5 4 6 3 -2 8 2 -4 4 Step 1 2 3 4 5 6 7 8 9 10 11 12 232 • Für die Regularisierungsparameter > Ll$lambda [1] 2.23719653 1.24574849 0.91098546 0.52388837 0.44867239 0.38456 [11] 0.01827872 0.01344543 werden Modelle ausgewählt. Der richtige Grad der Regularisierung kann auch hier mit den Informationskriterien erfolgen. Die Residualquadratsummen erhält man mit 233 • > Ll$RSS 0 1 2 3 4 5 8.3562918 4.9031328 3.7333099 2.4455850 2.0934614 1.6998119 0.54246 11 12 0.2588986 0.0472812 • Die Anzahl der Variablen der einzelnen Modelle kann durch > p <- apply(Ll$beta!=0, MARGIN=1,FUN=sum) bestimmt werden. 234 • Damit kann man AIC und BIC berechnen: > AIC <- n*log(Ll$RSS)-n*log(n)+2*p > BIC <- n*log(Ll$RSS)-n*log(n)+p*log(n) • Das Modell mit dem kleinsten AIC bzw. BIC ermittelt man wieder durch > which(AIC==min(AIC)); which(BIC==min(BIC)) 12 13 12 13 235 • Es wird das zwölfte Modell ausgewählt. Auch hier werden zu viele Variablen im Modell belassen. 236 Vorlesung 28.05.2014 237 3. Verallgemeinerte Lineare Modelle 3.1 Logistische Regressionsanalyse • Bisher wurden nur Modelle betrachten, bei denen die abhängige Variable y normalverteilt, also insbesondere stetig, war. Bei den unabhängigen Variablen konnten dagegen durch Umkodierung in Dummyvariablen auch kategoriale Variablen berücksichtigt werden. • Aus der Modellgleichung des Allgemeinen Linearen Modells folgt, dass die linke Seite yi normalverteilte Zufallsvariablen sein müssen. 238 • Oft ist es aber durchaus sinnvoll, auch kategoriale Variablen auch als abhängige Variablen zuzulassen: • – In einer medizinischen Studie soll Heilung (Ja/Nein) aus einer Reihe von Kovariaten wie Geschlecht, Alter, Krankheitsstadium usw. vorhergesagt werden. – In einer Befragung zum Wahlverhalten ist die abhängige Variable die Parteienpräferenz (drei bis fünf Parteien werden vorgegeben). Die unabhängigen Variablen könnten beispielsweise das Haushaltseinkommen, der soziale Status, Ausbildungsstand, Alter und Geschlecht sein. – Banken interessieren sich für die Wahrscheinlichkeit, dass ein Kredit nicht mehr bedient werden kann. Hier wäre die abhängige Variable der Kreditausfall (Ja/Nein) und die unabhängigen könnten wieder das Haushaltseinkommen, soziale Status, Alter, Geschlecht, Wohnort (Postleitzahl) usw. sein. 239 • Besonders häufig sind abhängige Variablen mit nur zwei Ausprägungen (in der Regel mit 0 und 1 kodiert). Solche Variablen heißen dichotom • Im Folgenden werden die Modellgleichung des Allgemeinen Linearen Modells so verallgemeinert, dass auch dichotome Variablen als abhängige Variablen zugelassen werden können. • Zunächst mache man sich klar, warum die Modellgleichung für das Allgemeine Lineare Modell für dichotome linke Seiten völlig ungeeignet ist: Die Modellgleichung lautet yi = β0 + β1x1i + · · · + βpxpi + i (141) mit normalverteilten i. Die linke Seite darf aber nur zwei Werte annehmen, die in der Regel mit 0 und 1 kodiert werden. Die rechte Seite von 141 kann dagegen eine beliebige reelle Zahl sein. 240 • Es ist durchaus möglich, trotzdem eine Kleinste Quadrate Schätzung der Modellparameter durchzuführen. Versucht man aber dann 141 als Prognosemodell zu benutzen, werden die vorhergesagten Werte ŷi in der Regel weder 0 noch 1 sein, sondern andere nicht interpretierbare Werte annehmen. • Dichotomen Variablen yi müssen binomialverteilt yi ∼ B(1, pi) (142) sein. Die Voraussetzungen (Normalverteilung!) an die Fehlerterme i sind damit sicher nicht erfüllt. • Die Idee der logistischen Regression ist, statt der Variablen yi selbst, die unbekannte Wahrscheinlichkeit pi = P(yi = 1) in 142 aus den Variablen x1i, . . . , xpi vorherzusagen. 241 • Ein zweiter Versuch für eine Modellgleichung könnte pi = β0 + β1x1i + · · · + βpxpi + i (143) lauten. Auch dieser Ansatz ist ungeeignet. Die linke Seite ist als Wahrscheinlichkeit eine Zahl im Intervall [0, 1]. Die rechte Seite dagegen kann im Prinzip wieder beliebige reelle Zahlen annehmen. Außerdem sind die pi im Prinzip nicht beobachtbar. Bekannt sind nur die Realisierungen der Zufallsvariablen yi. Aber weder aus yi = 0 noch aus yi = 1 kann auf die zugrunde liegende Eintrittswahrscheinlichkeit pi geschlossen werden. • Damit linke und rechte Seite von 143 im Wertebereich zusammenpassen, müssen die pi geeignet transformiert werden. Diese Transformation muss das Intervall (0, 1) bijektiv auf die ganzen reellen Zahlen abbilden. 242 • Die bei weitem am häufigsten verwendete Transformation ist die logistische oder logit Transformation: Logit Transformation: logit(p) = log p 1−p (144) p p gegen 0 und log 1−p strebt gegen • Für p → 0 geht der Ausdruck 1−p p p −∞. Für p → 1 strebt der Ausdruck 1−p und damit auch log 1−p gegen ∞. 243 • Der Plot der logit Funktion hat folgende Gestalt: 0 −2 −4 −6 logit 2 4 6 Logit−Funktion 0.0 0.2 0.4 0.6 0.8 1.0 p 244 • Auch andere Transformationen von (0, 1) auf IR sind möglich und werden auch verwendet. Die gebräuchlichsten sind die Probit- und komplementäre doppeltlogarithmische Transformation: Probit: probit(p) = Φ−1(p) mit Φ(x) = Z x 1 − 1 t2 √ e 2 dt −∞ 2π (145) Komplementäre doppeltlogarithmische Transformation: cloglog(p) = log(− log(1 − p)) (146) 245 Link Funktionen −6 −4 −2 0 2 4 6 logit probit cloglog 0.0 • 0.2 0.4 0.6 0.8 1.0 p 246 • Da diese Transformationen die Aufgabe haben, den Wertebereich der linken Seite der Modellgleichung an den der rechten anzupassen, heißen sie Link Funktionen. • Im Folgenden werden wir, wenn nichts anderes erwähnt, immer den Logit Link benutzen. • Für die Logit Linkfunktion erhalten wir aus 143 die Modellgleichung für die logistische Regression: pi = β0 + β1x1i + · · · + βpxpi (147) logit(pi) = log 1 − pi i = 1, . . . , n 247 • Das ist die Modellgleichung der logistischen Regression mit Intercept. Lässt man β0 weg, dann erhält man die Modellgleichung für die logistische Regression ohne Intercept. • In der Modellgleichung taucht die Zufallsvariable i nicht auf. Gleichung 147 ist eine deterministische Gleichung. • Löst man pi = Li mit Li = β0 + β1x1i + · · · + βpxpi 1 − pi nach pi auf, erhält man: exp(Li) pi = mit (148) 1 + exp(Li) Li = β0 + β1x1i + · · · + βpxpi i = 1, . . . , n log 248 • Nicht das yi sondern die Trefferwahrscheinlichkeit pi = P(yi = 1) wird aus den bekannten Kovariaten x1i, . . . , xpi vorhergesagt. • In der Modellgleichung 147 tauchen die yi nicht auf. Da yi binomialverteilt mit einer Versuchswiederholung und Trefferwahrscheinlichkeit pi ist, gilt E(yi) = pi. Die Modellgleichung 147 kann damit auch als E(yi) log = β0 + β1x1i + · · · + βpxpi (149) 1 − E(yi) geschrieben werden. • Der Zufall kommt dadurch ins Spiel, dass die pi die Verteilungen der yi steuern. Man denke sich für jeden Fall i = 1, . . . , n mit der individuellen Trefferwahrscheinlichkeit pi aus der Modellgleichung 147 eine Art Münzwurfexperiment durchgeführt. 249 • Die Modellparameter β0, . . . , βp können aus der Modellgleichung 147 nicht direkt geschätzt werden, da die Wahrscheinlichkeiten pi unbeobachtbar sind. • Trotzdem ist eine Schätzung der Modellparameter möglich. Man sucht β̂0, . . . , β̂p, so dass die pi zu Fällen mit yi = 1 möglichst groß und die zu yi = 0 möglichst klein sind. • Ein systematisches Verfahren zur Bestimmung der Modellparameter ist das Maximum-Likelihood Verfahren, das Gegenstand des nächsten Abschnitts ist. • In R werden die Modellparameter mit der Funktion glm geschätzt. 250 • Beispiel: > Unfaelle <- read.table("Unfaelle.txt", header=TRUE) > head(Unfaelle) 1 2 3 4 5 6 Lnr Unfall Geschlecht Beruf Alter Fahrpraxis 1 0 Mann Physiker 31 12 2 0 Frau Physiker 37 18 3 0 Frau Physiker 38 18 4 0 Frau Physiker 44 25 5 0 Frau Physiker 52 33 6 0 Mann Physiker 41 22 > ML <- glm(Unfall ~ Geschlecht, data=Unfaelle, + family=binomial(link=logit)) > ML 251 Call: glm(formula = Unfall ~ Geschlecht, family = binomial(link = data = Unfaelle) Coefficients: (Intercept) -2.8909 GeschlechtMann -0.7793 Degrees of Freedom: 3499 Total (i.e. Null); Null Deviance: 1207 Residual Deviance: 1190 AIC: 1194 3498 Residual • In der Modellgleichung der logistischen Regression taucht die Größe p 1−p auf. Sie heißt Chance oder Odds. Chancen sind positive reelle Zahlen, die zu Wahrscheinlichkeiten in einem eindeutigen Verhältnis stehen. Die Umrechnungsformeln lauten: p Odds = (150) 1−p Odds p = (151) 1 + Odds • Besonders im Bereich des Glücksspiels werden statt Wahrscheinlichkeiten gerne Chancen (Odds) angegeben. Eine Chance von 1:4 entspricht dann einer Wahr1/4 scheinlichkeit von 1+1/4 = 1/5. 252 • Für kleine Wahrscheinlichkeiten nähern sich Chance und Wahrscheinlichkeit an und werden deshalb oft nicht mehr unterschieden. • Beispiel: p = 1/1000 entspricht einer Chance von 1/999 oder von 1:999. • Das Odds spielt im Zusammenhang mit der logistischen Regression eine große Rolle, da es leicht aus der Modellgleichung ausgerechnet werden kann. So wird im vorigen Beispiel (Datensatz Unfaelle) die Chance einen Unfall zu verursachen für eine Frau auf > exp(coef(ML)[1]) (Intercept) 0.05552751 253 • und für einen Mann auf > exp(coef(ML)[1]+coef(ML)[2]) (Intercept) 0.02547307 geschätzt. • Natürlich können diese Chancen leicht in Wahrscheinlichkeiten umgerechnet werden: 254 • > # Frau > exp(coef(ML)[1])/(1+exp(coef(ML)[1])) (Intercept) 0.05260641 > #Mann > exp(coef(ML)[1]+coef(ML)[2])/(exp(coef(ML)[1]+coef(ML)[2])+1) (Intercept) 0.02484031 255 • Das Verhältnis der Chancen (Odds Ratio) von Männern und Frauen, einen Unfall zu verursachen, steht in einem einfachen Zusammenhang mit den Modellparametern. Es ist die Exponentialfunktion des Koeffizienten: > # Chancenverhältnis: > exp(coef(ML)[2]) GeschlechtMann 0.4587469 256 Vorlesung 4.06.2014 257 3.2 Maximum Likelihood Schätzer • Gegeben seien unabhängige Zufallsvariablen X1, . . . , Xn die gemäß Zufallsverteilungen F1, . . . , Fn verteilt seien. Die Zufallsverteilungen sollen von unbekannten Parametern β1, . . . , βp abhängen. Die Zufallsvariablen X1, . . . , Xn nehmen die Werte x1, . . . , xn (Daten) an. Sind die Verteilungen F1, . . . , Fn diskret, dann ist die Likelihoodfunktion für die Parameter β0, . . . , βp die Funktion L(β1, . . . , βp|x1, . . . , xn) = L(β1, . . . , βp) = n Y P(Xi = xi) (152) i=1 259 • Die Likelihoodfunktion L ist eine Funktion der unbekannten Parameter β1, . . . , βp, die implizit in den Wahrscheinlichkeiten P(Xi = xi) enthalten sind. Die Bedingung auf die Daten x1, . . . , xn wird unterdrückt, wenn keine Verwechslungsgefahr besteht. • Die Likelihood Funktion gibt die Wahrscheinlichkeit für X1 = x1, . . . , Xn = xn an bei gegebenen Parametern β1, . . . , βp. • Beispiel: Seien X1, . . . , Xn poissonverteilte Parameter mit Erwartungswert λ. In diesem Beispiel gibt es nur einen Parameter (λ). Die Likelihoodfunktion für X1 = k1, . . . , Xn = kn lautet dann L(λ) = L(λk1, . . . , kn) = n Y i=1 λki −λ e ki ! (153) 260 • Die Maximum Likelihood Schätzer β̂1, · · · , β̂p für die Parameter β1, · · · , βp sind die Werte, an denen die Likelihood Funktion L(β1, . . . , βp|x1, . . . , xn) ein Maximum annimmt. • Die Schätzer werden also so bestimmt, dass die Wahrscheinlichkeit für den gegebenen Versuchsausgang x1, . . . , xn am größten wird. • Die Aufgabe, L zu maximieren, wird mit Mitteln der Analysis gelöst. Oft kommen dabei numerische Optimierungsalgorithmen zum Einsatz. 261 • Um Maximierungsprobleme zu lösen, wird die zu maximierende Funktion zunächst nach allen Parametern λi, i = 1, . . . , p abgeleitet. Dabei ist das Produkt in 152 analytisch unbequem. Deshalb betrachtet man anstatt der Likelihood Funktion die Loglikelihood Funktion l(λ1, . . . , λp) = log(L(β1, . . . , βp)) (154) • Da der Logarithmus eine monotone Funktion ist, wird die Loglikelihood Funktion l genau dann an (β̂1, . . . , β̂p) maximal werden, wenn L an (β̂1, . . . , β̂p) ein Maximum annimmt. • Aus diesem Grund wird in der Regel statt der Likelihood die Loglikelihood maximiert. 262 • Die Loglikelihood von 153 aus dem Beispiel der poissonverteilten Zufallsvariablen lautet l(λ) = n X (−λ + ki log(λ) − log(ki!)) (155) i=1 • Wir bestimmen den Maximum Likelihood Schätzer λ̂ für λ, indem wir das Maximum von l(λ) bestimmen. Dazu setze man die Ableitung von l nach λ gleich 0 und löse nach λ auf: 263 • n n X X ∂l (λ̂) = (−1 + ki/λ̂) = −n + λ̂−1 ki = 0 ∂λ λ̂ = i=1 n X 1 n i=1 ki (156) i=1 • Der Maximum Likelihood Schätzer für den Erwartungswert λ der Poissonverteilung ist hier also das arithmetische Mittel der beobachteten Anzahlen ki. 264 • Die Maximum Likelihood Methode kann nicht nur auf diskret, sondern auch auf stetig verteilte Zufallsvariablen X1, . . . , Xn angewandt werden. Seien nun F1, . . . , Fn stetige Wahrscheinlichkeitsverteilungen mit Wahrscheinlichkeitsdichten φ1, . . . , φn. Die Wahrscheinlichkeiten P(Xi = xi) in 152 werden nun durch φ(xi) ersetzt: • L(β1, . . . , βp) = l(β1, . . . , βp) = n Y i=1 n X φ(xi) (157) log(φ(xi)) (158) i=1 265 • Beispiel Seien X1, . . . , Xn normalverteilte Zufallsvariablen mit Erwartungswert µ und Varianz σ 2. Seien x1, . . . , xn die beobachteten Realisierungen der Zufallsvariablen X1, . . . , Xn. Wir erhalten folgende Likelihood- und Loglikelihood Funktion: • L(µ, σ 2) = n Y i=1 √ 1 2πσ 2 exp − 1 2 (x − µ) i 2σ 2 (159) • n X 1 1 2 2 (160) 2 (x − µ) l(µ, σ ) = − (log(2π) + log(σ ) − i 2 2σ 2 i=1 266 • Da es zwei Parameter gibt, muss l nach µ und σ 2 abgeleitet und = 0 gesetzt werden: • n X ∂l xi − µ̂ (µ̂, σ̂ 2) = =0 2 ∂µ σ̂ i=1 n X ∂l 1 1 2) = 2 =0 (µ̂, σ̂ − + (x − µ̂) i ∂σ 2 2σ̂ 2 2σ̂ 4 (161) (162) i=1 267