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 2. Moderne Regressionsverfahren in der Bioinformatik (a) Ridge Regression 4 (b) Lasso Regression (c) Nicht-negative Kleinste Quadrate (NNLS) 3. Nicht-lineare Regressionsanalyse 4. Verallgemeinerte Lineare Modelle: Logistische 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 7 8.654517 2 3 6.541563 4.780767 8 9 7.891506 10.708778 4 7.950199 10 9.006676 5 6.541563 6 6.893722 > L$residuals # Residuen 1 -0.03071032 2 3 3.15843744 -0.68076722 4 5 0.84980116 -2.54156256 6 7 8 9 1.00627837 -1.25451697 -1.49150566 -0.30877820 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 7 6.715217 2 3 4 9.648448 4.003717 9.376828 8 9 10 6.063947 10.315068 10.307394 5 4.225373 6 8.043010 > L$residuals 1 -0.129652294 6 -0.143010494 2 0.051552058 7 0.684782648 3 4 5 0.096283363 -0.576828190 -0.225373372 8 9 10 0.336053440 0.084931545 -0.007393594 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 (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 8 9 10 11 12 13 12.71983 13.56207 13.56207 13.56207 13.56207 13.56207 • 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 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 + β1D1i + β2D2i + β3Alteri + 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. 123 • Hat die Herkunft der Gänse keinen Einfluss auf das Gewicht, sind die beiden Parameter β1 und β2 simultan = 0. Es ist deshalb sinnvoll, die Nullhypothese H0 : β1 = β2 = 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. Man betrachtet dazu zwei Modelle, die in einem hierarchischen Verhältnis stehen. 124 • Ein Modell M1 ist kleiner oder gleich dem Modell M2, wenn alle Variablen in Modell M1 auch in M2 vorkommen. Zwei Modell stehen in einem hierarchischen Verhältnis, wenn das eine kleiner oder gleich als das andere ist. • Beispiel: M1 : Gewichti = β0 + β3Alteri + i (95) M2 : Gewichti = β0 + β1D1i + β2D2i + β3Alteri + 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 haben keinen Erklärungswert. 125 • 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) 126 • 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. 127 • 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. 128 • 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 129 • Auch wenn die Nullhypothese 99 wahr ist, gelten 102 und 103. Die Anpassung wird auch durch die Hinzunahme von Variablen ohne Vorhersagewert immer besser. Bei 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 einer gewissen Wahrscheinlichkeitsverteilung genügt. Diese Tatsache kann nun für einen Test von 99 verwendet werden. 130 • 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 131 • 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) n − p und RSSQ(M2) n − p − q Freiheitsgrade hat. 132 • Die Freiheitsgrade verhalten sich offensichtlich additiv: Die Quadratsumme ||y||2 in 100 bzw. 101 ist die Summe von Quadraten von n unabhängigen Zufallsvariablen. Diese n Freiheitsgrade verteilen sich auf die Modellquadratsumme und Residualquadratsumme entsprechend der Anzahl der Parameter im Modell. • 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 Pn P 2− n 2 ŷ i=1 2i i=1 ŷ1i q . Pn 2 r i=1 2i n−p−q (108) (109) F ist F -verteilt mit df1 = q Zähler- und df2 = n − p − q Nennerfreiheitsgrade. 133 • 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 einen Einfluss auf das Mastgewicht der Gänse hat. Dazu vergleichen wir folgende Modelle: M1 : Gewicht = β0 + β1Alter + i (110) M2 : Gewicht = β0 + β1Alter + β2D1i + β3D2i + i (111) mit i = 1, . . . , n. Die Nullhypothese sei H0 : β2 = β3 = 0 (112) 134 • 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 135 • 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 136 • Schließlich werden die Nenner- und Zählerfreiheitsgrade df1 und df2 bestimmt und die F -Statistik ausgerechnet. > > > > df1 <- 2 df2 <- n - 4 F <- ((MSSQ2-MSSQ1)/df1)/(RSSQ2/df2) F [1] 68.81019 137 • Wir wissen, dass unter Nullhypothese 112 die Zufallsvariable F gemäß der F Verteilung mit df1 = 2 Zähler- und df2 = 9 Nennerfreiheitsgrade verteilt ist. Große Werte von F sprechen für eine starke Verbesserung der Passgüte von Modell 2 gegenüber Modell 1, also gegen die Nullhypothese. • H0 wird also auf dem Niveau α abgelehnt, wenn F eine bestimmte Größe überschreitet. 138 1.0 Abbildung 6 0.0 0.2 0.4 0.6 0.8 F 5% Ablehnungsgrenze 139 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. 140 • 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 141