Wahrscheinlichkeitsrechnung und Statistik für Biologen 9. Lineare Regression Matthias Birkner & Dirk Metzler http://www.zi.biologie.uni-muenchen.de/evol/statgen.html 23. Juni 2009
Übersicht 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
Übersicht Lineare Regression: wozu und wie? 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
Lineare Regression: wozu und wie? Englisch: Griffon Vulture Gypus fulvus Ga nsegeier photo (c) by Jo rg Hempel
Lineare Regression: wozu und wie? Prinzinger, R., E. Karl, R. Bögel, Ch. Walzer (1999): Energy metabolism, body temperature, and cardiac work in the Griffon vulture Gyps vulvus - telemetric investigations in the laboratory and in the field. Zoology 102, Suppl. II: 15 Daten aus der Arbeitsgruppe Stoffwechselphysiologie (Prof. Prinzinger) der Frankfurter Goethe-Universität. Telemetrisches System zur Messung der Herzfrequenz bei Vögeln auch während des Fluges.
Lineare Regression: wozu und wie? Prinzinger, R., E. Karl, R. Bögel, Ch. Walzer (1999): Energy metabolism, body temperature, and cardiac work in the Griffon vulture Gyps vulvus - telemetric investigations in the laboratory and in the field. Zoology 102, Suppl. II: 15 Daten aus der Arbeitsgruppe Stoffwechselphysiologie (Prof. Prinzinger) der Frankfurter Goethe-Universität. Telemetrisches System zur Messung der Herzfrequenz bei Vögeln auch während des Fluges. Wichtig für ökologische Fragen: die Stoffwechselrate
Lineare Regression: wozu und wie? Prinzinger, R., E. Karl, R. Bögel, Ch. Walzer (1999): Energy metabolism, body temperature, and cardiac work in the Griffon vulture Gyps vulvus - telemetric investigations in the laboratory and in the field. Zoology 102, Suppl. II: 15 Daten aus der Arbeitsgruppe Stoffwechselphysiologie (Prof. Prinzinger) der Frankfurter Goethe-Universität. Telemetrisches System zur Messung der Herzfrequenz bei Vögeln auch während des Fluges. Wichtig für ökologische Fragen: die Stoffwechselrate Messung der Stoffwechselrate aufwändig und nur im Labor möglich.
Lineare Regression: wozu und wie? Prinzinger, R., E. Karl, R. Bögel, Ch. Walzer (1999): Energy metabolism, body temperature, and cardiac work in the Griffon vulture Gyps vulvus - telemetric investigations in the laboratory and in the field. Zoology 102, Suppl. II: 15 Daten aus der Arbeitsgruppe Stoffwechselphysiologie (Prof. Prinzinger) der Frankfurter Goethe-Universität. Telemetrisches System zur Messung der Herzfrequenz bei Vögeln auch während des Fluges. Wichtig für ökologische Fragen: die Stoffwechselrate Messung der Stoffwechselrate aufwändig und nur im Labor möglich. Können wir von der Herzfrequenz auf die Stoffwechselrate schließen?
Lineare Regression: wozu und wie? griffon vulture, 17.05.99, 16 degrees C metabolic rate [J/(g*h)] 0 5 10 15 20 25 30 50 60 70 80 90 100 heart beats [per minute]
Lineare Regression: wozu und wie? griffon vulture, 17.05.99, 16 degrees C metabolic rate [J/(g*h)] 0 5 10 15 20 25 30 50 60 70 80 90 100 heart beats [per minute]
Lineare Regression: wozu und wie? 0 0
Lineare Regression: wozu und wie? y 3 y 2 y 1 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? y 3 y 2 y 1 b Achsenabschnitt 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? y 3 m Steigung y 2 1 y 1 b Achsenabschnitt 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? y 3 m Steigung y 2 y 1 1 y=mx+b b Achsenabschnitt 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? y 3 m Steigung y 2 y 1 y y m= 2 1 x x 2 1 x x 2 1 y y 2 1 1 y=mx+b b Achsenabschnitt 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? y 3 b slope y 2 y 1 y=a+bx a intercept 0 0 x x x 1 2 3
Lineare Regression: wozu und wie? 0 0
Lineare Regression: wozu und wie? 0 0
Lineare Regression: wozu und wie? r n r 1 r 3 r i r 2 0 0
Lineare Regression: wozu und wie? r n r 1 r 3 r i r 2 Residuen r = y (a+bx ) i i i 0 0
Lineare Regression: wozu und wie? r n r 1 r 3 r i r 2 Residuen r = y (a+bx ) i i i Wähle die Gerade so, dass die Summe der quadrierten Residuen minimal wird! 0 r 2+ r 2+... + r 2 1 2 n 0
Lineare Regression: wozu und wie? Definiere die Regressiosgerade y = â + ˆb x durch die Minimierung der Summe der quadrierten Residuen: (â, ˆb) = arg min (y i (a + b x i )) 2 (a,b) Dahinter steckt die Modellvorstellung, dass Werte a, b existieren, so dass für alle Datenpaare (x i, y i ) gilt i y i = a + b x i + ε i, wobei alle ε i unabhängig und normalverteilt sind und alle dieselbe Varianz σ 2 haben.
Lineare Regression: wozu und wie? gegebene Daten: Y X y 1 x 1 y 2 x 2 y 3 x 3.. y n x n
Lineare Regression: wozu und wie? gegebene Daten: Y X y 1 x 1 y 2 x 2 y 3 x 3.. Modell: es gibt Zahlen a, b, σ 2, so dass y 1 = a + b x 1 + ε 1 y 2 = a + b x 2 + ε 2 y 3 = a + b x 3 + ε 3.. y n x n y n = a + b x n + ε n
Lineare Regression: wozu und wie? gegebene Daten: Y X y 1 x 1 y 2 x 2 y 3 x 3.. Modell: es gibt Zahlen a, b, σ 2, so dass y 1 = a + b x 1 + ε 1 y 2 = a + b x 2 + ε 2 y 3 = a + b x 3 + ε 3.. y n x n y n = a + b x n + ε n Dabei sind ε 1, ε 2,..., ε n unabhängig N (0, σ 2 ).
Lineare Regression: wozu und wie? gegebene Daten: Y X y 1 x 1 y 2 x 2 y 3 x 3.. Modell: es gibt Zahlen a, b, σ 2, so dass y 1 = a + b x 1 + ε 1 y 2 = a + b x 2 + ε 2 y 3 = a + b x 3 + ε 3.. y n x n y n = a + b x n + ε n Dabei sind ε 1, ε 2,..., ε n unabhängig N (0, σ 2 ). y 1, y 2,..., y n sind unabhängig y i N (a + b x i, σ 2 ).
Lineare Regression: wozu und wie? gegebene Daten: Y X y 1 x 1 y 2 x 2 y 3 x 3.. Modell: es gibt Zahlen a, b, σ 2, so dass y 1 = a + b x 1 + ε 1 y 2 = a + b x 2 + ε 2 y 3 = a + b x 3 + ε 3.. y n x n y n = a + b x n + ε n Dabei sind ε 1, ε 2,..., ε n unabhängig N (0, σ 2 ). y 1, y 2,..., y n sind unabhängig y i N (a + b x i, σ 2 ). a, b, σ 2 sind unbekannt, aber nicht zufällig.
Lineare Regression: wozu und wie? Wir schätzen a und b, indem wir (â, ˆb) := arg min (y i (a + b x i )) 2 berechnen. (a,b) i
Lineare Regression: wozu und wie? Wir schätzen a und b, indem wir (â, ˆb) := arg min (y i (a + b x i )) 2 berechnen. (a,b) i Theorem Man â und ˆb berechnen durch i ˆb = (y i ȳ) (x i x) i (x = i x) 2 und â = ȳ ˆb x. i y i (x i x) i (x i x) 2
Lineare Regression: wozu und wie? Wir schätzen a und b, indem wir (â, ˆb) := arg min (y i (a + b x i )) 2 berechnen. (a,b) i Theorem Man â und ˆb berechnen durch i ˆb = (y i ȳ) (x i x) i (x = i x) 2 und â = ȳ ˆb x. i y i (x i x) i (x i x) 2 Bitte merken: Die Gerade y = â + ˆb x geht genau durch den Schwerpunkt der Punktwolke (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ).
Lineare Regression: wozu und wie? Beweisskizze zum Theorem Sei g(a, b) = i (y i (a + b x i )) 2. Wir optimieren g, indem wir die Ableitungen von g g(a, b) a g(a, b) b = i = i 2 (y i (a + bx i )) ( 1) 2 (y i (a + bx i )) ( x i ) nach beiden Variablen auf 0 setzen, und erhalten: 0 = i 0 = i (y i (â + ˆbx i )) ( 1) (y i (â + ˆbx i )) ( x i )
Lineare Regression: wozu und wie? 0 = i (y i (â + ˆbx i )) 0 = i (y i (â + ˆbx i )) x i kann man ausmultiplizieren zu ( ) ( ) 0 = y i n â ˆb x i 0 = i ( ) ( ) ( y i x i â x i ˆb i i i i x 2 i ) und das Theorem folgt durch Auflösen nach â und ˆb.
Lineare Regression: wozu und wie? vulture day heartbpm metabol mintemp maxtemp medtemp 1 01.04./02.04. 70.28 11.51-6 2-2.0 2 01.04./02.04. 66.13 11.07-6 2-2.0 3 01.04./02.04. 58.32 10.56-6 2-2.0 4 01.04./02.04. 58.63 10.62-6 2-2.0 5 01.04./02.04. 58.05 9.52-6 2-2.0 6 01.04./02.04. 66.37 7.19-6 2-2.0 7 01.04./02.04. 62.43 8.78-6 2-2.0 8 01.04./02.04. 65.83 8.24-6 2-2.0 9 01.04./02.04. 47.90 7.47-6 2-2.0 10 01.04./02.04. 51.29 7.83-6 2-2.0 11 01.04./02.04. 57.20 9.18-6 2-2.0..................... (14 different days)
Lineare Regression: wozu und wie? > model <- lm(metabol~heartbpm,data=vulture, subset=day=="17.05.") > summary(model) Call: lm(formula = metabol ~ heartbpm, data = vulture, subset = day == "17.05.") Residuals: Min 1Q Median 3Q Max -2.2026-0.2555 0.1005 0.6393 1.1834 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -7.73522 0.84543-9.149 5.60e-08 *** heartbpm 0.27771 0.01207 23.016 2.98e-14 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.912 on 17 degrees of freedom Multiple R-squared: 0.9689, Adjusted R-squared: 0.9671 F-statistic: 529.7 on 1 and 17 DF, p-value: 2.979e-14
Lineare Regression: wozu und wie? Optimierung der Gelegegröße Beispiel: Der Erbsensamenkäfer Callosobruchus maculatus englisch: Cowpea weevil oder auch bruchid beetle
Lineare Regression: wozu und wie? Optimierung der Gelegegröße Beispiel: Der Erbsensamenkäfer Callosobruchus maculatus englisch: Cowpea weevil oder auch bruchid beetle Wilson, K. (1994) Evolution of clutch size in insects. II. A test of static optimality models using the beetle Callosobruchus maculatus (Coleoptera: Bruchidae). Journal of Evolutionary Biology 7: 365 386. Wie hängt die Überlebenswahrscheinlichkeit von der Gelegegröße ab?
Lineare Regression: wozu und wie? Optimierung der Gelegegröße Beispiel: Der Erbsensamenkäfer Callosobruchus maculatus englisch: Cowpea weevil oder auch bruchid beetle Wilson, K. (1994) Evolution of clutch size in insects. II. A test of static optimality models using the beetle Callosobruchus maculatus (Coleoptera: Bruchidae). Journal of Evolutionary Biology 7: 365 386. Wie hängt die Überlebenswahrscheinlichkeit von der Gelegegröße ab? Mit welcher Gelegegröße wird die erwartete Anzahl Nachkommen optimiert?
Lineare Regression: wozu und wie? viability 0.0 0.2 0.4 0.6 0.8 1.0 5 10 15 20 clutchsize
Lineare Regression: wozu und wie? viability 0.0 0.2 0.4 0.6 0.8 1.0 5 10 15 20 clutchsize
Lineare Regression: wozu und wie? clutchsize * viability 2 4 6 8 5 10 15 20 clutchsize
Lineare Regression: wozu und wie? clutchsize * viability 2 4 6 8 5 10 15 20 clutchsize
Übersicht t-test fuer lineare Zusammenhänge 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
t-test fuer lineare Zusammenhänge Beispiel: Rothirsch (Cervus elaphus) Theorie: Hirschkühe können das Geschlecht ihrer Nachkommen beeinflussen.
t-test fuer lineare Zusammenhänge Beispiel: Rothirsch (Cervus elaphus) Theorie: Hirschkühe können das Geschlecht ihrer Nachkommen beeinflussen. Unter dem Gesichtspunkt evolutionär stabiler Strategien ist zu erwarten, dass schwache Tiere eher zu weiblichem und starke Tiere eher zu männlichem Nachwuchs tendieren. Clutton-Brock, T. H., Albon, S. D., Guinness, F. E. (1986) Great expectations: dominance, breeding success and offspring sex ratios in red deer. Anim. Behav. 34, 460-471.
t-test fuer lineare Zusammenhänge > hind rank ratiomales 1 0.01 0.41 2 0.02 0.15 3 0.06 0.12 4 0.08 0.04 5 0.08 0.33 6 0.09 0.37......... 52 0.96 0.81 53 0.99 0.47 54 1.00 0.67 ACHTUNG: Simulierte Daten, die sich an den Daten aus der Originalpublikation lediglich orientieren.
t-test fuer lineare Zusammenhänge 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 hind$rank hind$ratiomales
t-test fuer lineare Zusammenhänge 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 hind$rank hind$ratiomales
t-test fuer lineare Zusammenhänge > mod <- lm(ratiomales~rank,data=hind) > summary(mod) Call: lm(formula = ratiomales ~ rank, data = hind) Residuals: Min 1Q Median 3Q Max -0.32798-0.09396 0.02408 0.11275 0.37403 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 0.20529 0.04011 5.119 4.54e-06 *** rank 0.45877 0.06732 6.814 9.78e-09 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.154 on 52 degrees of freedom Multiple R-squared: 0.4717, Adjusted R-squared: 0.4616
t-test fuer lineare Zusammenhänge Modell: Y = a + b X + ε mit ε N (0, σ 2 )
t-test fuer lineare Zusammenhänge Modell: Y = a + b X + ε mit ε N (0, σ 2 ) Wie berechnet man die Signifikanz eines Zusammenhangs zwischen dem erklärenden Merkmal X und der Zielgröße Y?
t-test fuer lineare Zusammenhänge Modell: Y = a + b X + ε mit ε N (0, σ 2 ) Wie berechnet man die Signifikanz eines Zusammenhangs zwischen dem erklärenden Merkmal X und der Zielgröße Y? Anders formuliert: Mit welchem Test können wir der Nullhypothese b = 0 zu Leibe rücken?
t-test fuer lineare Zusammenhänge Modell: Y = a + b X + ε mit ε N (0, σ 2 ) Wie berechnet man die Signifikanz eines Zusammenhangs zwischen dem erklärenden Merkmal X und der Zielgröße Y? Anders formuliert: Mit welchem Test können wir der Nullhypothese b = 0 zu Leibe rücken? Wir haben b durch ˆb geschätzt (und gehen jetzt mal von ˆb 0 aus). Könnte das wahre b auch 0 sein?
t-test fuer lineare Zusammenhänge Modell: Y = a + b X + ε mit ε N (0, σ 2 ) Wie berechnet man die Signifikanz eines Zusammenhangs zwischen dem erklärenden Merkmal X und der Zielgröße Y? Anders formuliert: Mit welchem Test können wir der Nullhypothese b = 0 zu Leibe rücken? Wir haben b durch ˆb geschätzt (und gehen jetzt mal von ˆb 0 aus). Könnte das wahre b auch 0 sein? Wie groß ist der Standardfehler unserer Schätzung ˆb?
t-test fuer lineare Zusammenhänge y i = a + b x i + ε mit ε N (0, σ 2 ) nicht zufällig: a, b, x i, σ 2 zufällig: ε, y i var(y i ) = var(a + b x i + ε) = var(ε) = σ 2 und y 1, y 2,..., y n sind stochastisch unabhängig.
t-test fuer lineare Zusammenhänge nicht zufällig: a, b, x i, σ 2 y i = a + b x i + ε mit ε N (0, σ 2 ) zufällig: ε, y i var(y i ) = var(a + b x i + ε) = var(ε) = σ 2 und y 1, y 2,..., y n sind stochastisch unabhängig. ˆb = i y i(x i x) i (x i x) 2
t-test fuer lineare Zusammenhänge nicht zufällig: a, b, x i, σ 2 y i = a + b x i + ε mit ε N (0, σ 2 ) zufällig: ε, y i var(y i ) = var(a + b x i + ε) = var(ε) = σ 2 und y 1, y 2,..., y n sind stochastisch unabhängig. ˆb = i y i(x i x) i (x i x) 2 ( var(ˆb) = var i y ) i(x i x) i (x i x) 2 = var ( i y i(x i x)) ( i (x i x) 2 ) 2
t-test fuer lineare Zusammenhänge nicht zufällig: a, b, x i, σ 2 y i = a + b x i + ε mit ε N (0, σ 2 ) zufällig: ε, y i var(y i ) = var(a + b x i + ε) = var(ε) = σ 2 und y 1, y 2,..., y n sind stochastisch unabhängig. ˆb = i y i(x i x) i (x i x) 2 ( var(ˆb) = var i y ) i(x i x) i (x = var ( i y i(x i x)) i x) 2 ( i (x i x) 2 ) 2 i = var (y i) (x i x) 2 i ( i (x = σ 2 (x i x) 2 i x) 2 ) 2 ( i (x i x) 2 ) 2
t-test fuer lineare Zusammenhänge nicht zufällig: a, b, x i, σ 2 y i = a + b x i + ε mit ε N (0, σ 2 ) zufällig: ε, y i var(y i ) = var(a + b x i + ε) = var(ε) = σ 2 und y 1, y 2,..., y n sind stochastisch unabhängig. ˆb = i y i(x i x) i (x i x) 2 ( var(ˆb) = var i y ) i(x i x) i (x = var ( i y i(x i x)) i x) 2 ( i (x i x) 2 ) 2 i = var (y i) (x i x) 2 i ( i (x = σ 2 (x i x) 2 i x) 2 ) 2 ( i (x i x) 2 ) 2 = σ 2 / i (x i x) 2
t-test fuer lineare Zusammenhänge Tatsächlich ist ˆb Normalverteilt mit Mittelwert b und var(ˆb) = σ 2 / i (x i x) 2
t-test fuer lineare Zusammenhänge Tatsächlich ist ˆb Normalverteilt mit Mittelwert b und var(ˆb) = σ 2 / i (x i x) 2 Problem: Wir kennen σ 2 nicht.
t-test fuer lineare Zusammenhänge Tatsächlich ist ˆb Normalverteilt mit Mittelwert b und var(ˆb) = σ 2 / i (x i x) 2 Problem: Wir kennen σ 2 nicht. Wir schätzen σ 2 mit Hilfe der beobachten Residuenvarianz durch s 2 i (y i â ˆb ) 2 x i := n 2
t-test fuer lineare Zusammenhänge Tatsächlich ist ˆb Normalverteilt mit Mittelwert b und var(ˆb) = σ 2 / i (x i x) 2 Problem: Wir kennen σ 2 nicht. Wir schätzen σ 2 mit Hilfe der beobachten Residuenvarianz durch s 2 i (y i â ˆb ) 2 x i := n 2 Zu beachten ist, dass durch n 2 geteilt wird. Das hat damit zu tun, dass zwei Modellparameter a und b bereit geschätzt wurden, und somit 2 Freiheitsgrade verloren gegangen sind.
t-test fuer lineare Zusammenhänge var(ˆb) = σ 2 / i (x i x) 2 Schätze σ 2 durch Dann ist s 2 = i (y i â ˆb ) 2 x i n 2 ˆb b / s i (x i x) 2 Student-t-verteilt mit n 2 Freiheitsgraden und wir können den t-test anwenden, um die Nullhypothese b = 0 zu testen.
Übersicht Skalierung der Daten 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
Übersicht Skalierung der Daten Beispiel: Körper- und Gehirngewicht 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
Skalierung der Daten Beispiel: Körper- und Gehirngewicht Daten: Typisches Körpergewicht [kg] und Gehirngewicht [g] von 62 Säugetierarten (und 3 Dinosaurierarten) > data weight.kg. brain.weight.g species extinct 1 6654.00 5712.00 african elephant no 2 1.00 6.60 no 3 3.39 44.50 no 4 0.92 5.70 no 5 2547.00 4603.00 asian elephant no 6 10.55 179.50 no 7 0.02 0.30 no 8 160.00 169.00 no 9 3.30 25.60 cat no 10 52.16 440.00 chimpanzee no 11 0.43 6.40............
Skalierung der Daten Beispiel: Körper- und Gehirngewicht typische Werte bei 62 Saeugeierarten Gehirngewicht [g] 0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000 6000 Koerpergewicht [kg]
Skalierung der Daten Beispiel: Körper- und Gehirngewicht typische Werte bei 65 Saeugeierarten african elephant asian elephant Gehirngewicht [g] 1e 01 1e+00 1e+01 1e+02 1e+03 mouse giraffe horse chimpanzee donkey cow rhesus monkey sheep jaguar pig potar monkey grey goat wolf kangaroo cat rabbit mountain beaver guinea pig mole rat hamster human Triceratops Diplodocus 1e 02 1e+00 1e+02 1e+04 Brachiosa Koerpergewicht [kg]
Skalierung der Daten Beispiel: Körper- und Gehirngewicht 1e 02 1e+00 1e+02 1e+04 1e 01 1e+00 1e+01 1e+02 1e+03 typische Werte bei 65 Saeugeierarten Koerpergewicht [kg] Gehirngewicht [g]
Skalierung der Daten Beispiel: Körper- und Gehirngewicht > modell <- lm(brain.weight.g~weight.kg.,subset=extinct=="no") > summary(modell) Call: lm(formula = brain.weight.g ~ weight.kg., subset = extinct == "no") Residuals: Min 1Q Median 3Q Max -809.95-87.43-78.55-31.17 2051.05 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 89.91213 43.58134 2.063 0.0434 * weight.kg. 0.96664 0.04769 20.269 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 334.8 on 60 degrees of freedom Multiple R-squared: 0.8726, Adjusted R-squared: 0.8704 F-statistic: 410.8 on 1 and 60 DF, p-value: < 2.2e-16
Skalierung der Daten Beispiel: Körper- und Gehirngewicht qqnorm(modell$residuals) Normal Q Q Plot Sample Quantiles 500 0 500 1000 1500 2000 2 1 0 1 2 Theoretical Quantiles
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(modell$fitted.values,modell$residuals) modell$residuals 500 0 500 1000 1500 2000 1e 02 1e+00 1e+02 1e+04 modell$model$weight.kg.
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(modell$fitted.values,modell$residuals,log= x ) modell$residuals 500 0 500 1000 1500 2000 100 200 500 1000 2000 5000 modell$fitted.values
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(modell$model$weight.kg.,modell$residuals) modell$residuals 500 0 500 1000 1500 2000 0 1000 2000 3000 4000 5000 6000 modell$model$weight.kg.
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(modell$model$weight.kg.,modell$residuals,log= x ) modell$residuals 500 0 500 1000 1500 2000 1e 02 1e+00 1e+02 1e+04 modell$model$weight.kg.
Skalierung der Daten Beispiel: Körper- und Gehirngewicht Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. dem Körpergewicht abhängt. Man sagt, es liegt Heteroskedastizität vor.
Skalierung der Daten Beispiel: Körper- und Gehirngewicht Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. dem Körpergewicht abhängt. Man sagt, es liegt Heteroskedastizität vor. Das Modell geht aber von Homoskedastizität aus, d.h. die Residuenvarianz soll von den erklärenden Merkmalen (dem Körpergewicht) und den angepassten Werten (annähernd) unabhängig sein.
Skalierung der Daten Beispiel: Körper- und Gehirngewicht Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. dem Körpergewicht abhängt. Man sagt, es liegt Heteroskedastizität vor. Das Modell geht aber von Homoskedastizität aus, d.h. die Residuenvarianz soll von den erklärenden Merkmalen (dem Körpergewicht) und den angepassten Werten (annähernd) unabhängig sein. Varianzstabilisierende Transformation: Wie können wir die Körper- und Hirnmasse umskalieren, um Homoskedastizität zu erreichen?
Skalierung der Daten Beispiel: Körper- und Gehirngewicht Eigentlich ist es ja offensichtlich: Bei Elefanten kann das typischerweise 5 kg schwere Hirn je nach Individuum auch mal 500 g schwerer oder leichter sein. Wenn bei einer Tierart das Hirn typischerweise 5 g schwer ist, wird es nicht um 500 g variieren können, sondern vielleicht ebenfalls um 10%, also ±0.5 g. Die Varianz ist hier also nicht additiv, sondern multiplikatiiv: Hirnmasse = (erwartete Hirnmasse) Zufall Das können wir aber in etwas mit additivem Zufallterm umwandeln, indem wir auf beiden Seiten den (natürlichen) Logarithmus ziehen: log(hirnmasse) = log(erwartete Hirnmasse) + log(zufall)
Skalierung der Daten Beispiel: Körper- und Gehirngewicht > logmodell <- lm(log(brain.weight.g)~log(weight.kg.),subset=e > summary(logmodell) Call: lm(formula = log(brain.weight.g) ~ log(weight.kg.), subset = e "no") Residuals: Min 1Q Median 3Q Max -1.68908-0.51262-0.05016 0.46023 1.97997 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 2.11067 0.09794 21.55 <2e-16 *** log(weight.kg.) 0.74985 0.02888 25.97 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.7052 on 60 degrees of freedom Multiple R-squared: 0.9183, Adjusted R-squared: 0.9169
Skalierung der Daten Beispiel: Körper- und Gehirngewicht qqnorm(modell$residuals) 2 1 0 1 2 1 0 1 2 Normal Q Q Plot Theoretical Quantiles Sample Quantiles
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(logmodell$fitted.values,logmodell$residuals) 0 2 4 6 8 1 0 1 2 logmodell$fitted.values logmodell$residuals
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(logmodell$fitted.values,logmodell$residuals,log= x ) 1e 03 1e 02 1e 01 1e+00 1e+01 1 0 1 2 logmodell$fitted.values logmodell$residuals
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(weight.kg.[extinct== no ],logmodell$residuals) 0 1000 2000 3000 4000 5000 6000 1 0 1 2 weight.kg.[extinct == "no"] logmodell$residuals
Skalierung der Daten Beispiel: Körper- und Gehirngewicht plot(weight.kg.[extinct= no ],logmodell$residuals,log= x ) 1e 02 1e+00 1e+02 1e+04 1 0 1 2 weight.kg.[extinct == "no"] logmodell$residuals
Übersicht Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl 1 Lineare Regression: wozu und wie? 2 t-test fuer lineare Zusammenhänge 3 Skalierung der Daten Beispiel: Körper- und Gehirngewicht Beispiel: Mortalität und Einwohnerzahl
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Daten: Für 301 US-amerikanische Landkreise (Counties) die Anzahl weißer Einwohnerinnen von 1960 und die Anzahl der Bruskrebstoten aus dieser Gruppe zwischen 1950 und 1960. (Aus Rice (2007) Mathematical Statistics and Data Analysis.) > canc deaths inhabitants 1 1 445 2 0 559 3 3 677 4 4 681 5 3 746 6 4 869......... 300 248 74005 301 360 88456
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Fragestellung: Ist die durchschnittliche Anzahl an Todesopfer proportional zur Einwohnerzahl, d.h. Edeaths = b inhabitants oder hängt das Krebsrisiko von der Größe des Bezirks ab (evtl. wegen Urbanität), so dass ein anderes Modell besser passt? z.b. Edeaths = a + b inhabitants mit a 0.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl > modell <- lm(deaths~inhabitants,data=canc) > summary(modell) Call: lm(formula = deaths ~ inhabitants, data = canc) Residuals: Min 1Q Median 3Q Max -66.0215-4.1279 0.6769 5.2357 87.2989 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -5.261e-01 9.692e-01-0.543 0.588 inhabitants 3.578e-03 5.446e-05 65.686 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 13 on 299 degrees of freedom Multiple R-squared: 0.9352, Adjusted R-squared: 0.935 F-statistic: 4315 on 1 and 299 DF, p-value: < 2.2e-16
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Die additive Konstante ( Achsenabschnitt ) wir auf -0.526 geschätzt, ist aber nicht signifikant von 0 verschieden.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Die additive Konstante ( Achsenabschnitt ) wir auf -0.526 geschätzt, ist aber nicht signifikant von 0 verschieden. Man kann also nicht die Nullhypothese verwerfen, dass das Krebsrisiko von der Größe des Bezirks unabhängig ist.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Die additive Konstante ( Achsenabschnitt ) wir auf -0.526 geschätzt, ist aber nicht signifikant von 0 verschieden. Man kann also nicht die Nullhypothese verwerfen, dass das Krebsrisiko von der Größe des Bezirks unabhängig ist. Aber passt das Modell eigentlich?
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl qqnorm(modell$residuals) Normal Q Q Plot Sample Quantiles 50 0 50 3 2 1 0 1 2 3 Theoretical Quantiles
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl plot(modell$fitted.values,modell$residuals) modell$residuals 50 0 50 0 50 100 150 200 250 300 modell$fitted.values
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl plot(modell$fitted.values,modell$residuals,log= x ) modell$residuals 50 0 50 1 2 5 10 20 50 100 200 modell$fitted.values
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl plot(canc$inhabitants,modell$residuals,log= x ) modell$residuals 50 0 50 5e+02 2e+03 5e+03 2e+04 5e+04 canc$inhabitants
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. der Einwohnerzahl abhängt. Man sagt, es liegt Heteroskedastizität vor.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. der Einwohnerzahl abhängt. Man sagt, es liegt Heteroskedastizität vor. Das Modell geht aber von Homoskedastizität aus, d.h. die Residuenvarianz soll von den erklärenden Merkmalen (der Einwohnerzahl) und den angepassten Werten (annähernd) unabhängig sein.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Wir sehen, dass die Varianz der Residuen von den angepassten Werten bzw. der Einwohnerzahl abhängt. Man sagt, es liegt Heteroskedastizität vor. Das Modell geht aber von Homoskedastizität aus, d.h. die Residuenvarianz soll von den erklärenden Merkmalen (der Einwohnerzahl) und den angepassten Werten (annähernd) unabhängig sein. Varianzstabilisierende Transformation: Wie können wir die Einwohnerzahl und die Anzahl der Todesfälle umskalieren, um Homoskedastizität zu erreichen?
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Woher kommt die Abhängigkeit der Varianz von der Einwohnerzahl?
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Woher kommt die Abhängigkeit der Varianz von der Einwohnerzahl? Ist n die Anzahl der (weißen) Einwohnerinnen und p die Wahrscheinlichkeit, innerhalb von 10 Jahren an Bruskrebs zu sterben, so ist np die erwartete Anzahl solcher Todesfälle, und die Varianz ist n p (1 p) n p (Approximation der Binomial- durch die Poissonverteilung bietet sich an). Die Standardabweichung ist also n p.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Woher kommt die Abhängigkeit der Varianz von der Einwohnerzahl? Ist n die Anzahl der (weißen) Einwohnerinnen und p die Wahrscheinlichkeit, innerhalb von 10 Jahren an Bruskrebs zu sterben, so ist np die erwartete Anzahl solcher Todesfälle, und die Varianz ist n p (1 p) n p (Approximation der Binomial- durch die Poissonverteilung bietet sich an). Die Standardabweichung ist also n p. In einem solchen Fall kann man die Varianz annähernd stabilisieren, indem man sowohl das erklärende Merkmal als auch die Zielgröße durch Wurzelziehen stabilisiert.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Für alle, die es etwas genauer wissen wollen: y = b x + ε y = (b x + ε) 2 = b 2 x + 2 b x ε + ε 2 Die Standardabweichung ist hier nicht genau proportional zu x, aber zumindest hat der Teil 2 b x ε hat eine zu x proportionale Standardabweichung, nämlich 2 b x σ. Der Term ε 2 ist hingegen das σ 2 -fache einer χ 2 1 -verteilten Zufallsvariablen und hat Standardabweichung σ 2 2. Zumindest wenn σ sehr klein ist im Vergleich zu b x, gilt also die Approximation y b 2 x + 2 b x ε und die Standardabweichung von y ist ungefähr proportional zu x.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl > modellsq <- lm(sqrt(deaths~sqrt(inhabitants),data=canc) > summary(modellsq) Call: lm(formula = sqrt(deaths) ~ sqrt(inhabitants), data = canc) Residuals: Min 1Q Median 3Q Max -3.55639-0.51900 0.06204 0.54277 2.99434 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 0.0664320 0.0974338 0.682 0.496 sqrt(inhabitants) 0.0583722 0.0009171 63.651 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.8217 on 299 degrees of freedom Multiple R-squared: 0.9313, Adjusted R-squared: 0.931 F-statistic: 4051 on 1 and 299 DF, p-value: < 2.2e-16
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl qqnorm(modell$residuals) Normal Q Q Plot Sample Quantiles 50 0 50 3 2 1 0 1 2 3 Theoretical Quantiles
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl plot(modellsq$fitted.values,modellsq$residuals,log= x ) plot(canc$inhabitants,modellsq$residuals,log= x ) 2 5 10 3 2 1 0 1 2 3 modellsq$fitted.values modellsq$residuals 5e+02 2e+03 5e+03 2e+04 5e+04 3 2 1 0 1 2 3 canc$inhabitants modellsq$residuals
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Der QQ-Plot mit der Normalverteilung sieht nicht perfekt aus, aber immerhin ist die Varianz stabilisiert.
Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Der QQ-Plot mit der Normalverteilung sieht nicht perfekt aus, aber immerhin ist die Varianz stabilisiert. Das Ergebnis bleibt aber dasselbe: Der Intercept ist nicht signifikant von 0 verschieden. Also kann der erwartete Wert von y proportional zu x sein, was bedeutet, dass auch der erwartete Wert von y ungefähr (!) proportional zu x ist. Also gibt es nach wie vor keinen deutlichen Hinweis auf eine Abhängigkeit zwischen der Einwohnerzahl und der Todesrate.
Schlusswort Skalierung der Daten Beispiel: Mortalität und Einwohnerzahl Manchmal ist die Suche nach einer geeigneten varianzstabilisierenden Transformation mit viel Herumprobieren verbunden. In vielen Fällen passt die log-transformation.