Vorlesung Statistik 2 für Bioinformatiker (Bachelor)

Werbung
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
Herunterladen