Computerintensive Methoden 6.1 Einleitung Friedrich Leisch Institut für Statistik Ludwig-Maximilians-Universität München WS 2010/2011 6 Nichtlineare Regression ML mit Kovariaten: Regression Regression: Verallgemeinerungen • Bisher haben wir uns primär damit beschäftigt, parametrische Verteilungen mittels Maximum-Likelihood an Daten anzupassen. • Eine unmittelbare Verallgemeinerung dieses Problems ist es, falls die Parameter der Verteilung von erklärenden Variablen abhängen: Regression: Zielverteilung ist quantitativ Klassifikation: Zielverteilung ist qualitativ • Die notwendigen computationalen Bausteine zur Entwicklung allgemeiner Klassifikations- oder Regressionsverfahren haben wir bereits kennen gelernt. Im Folgenden beschäftigen wir uns nur mit Regression. • Mit der ebenso notwendigen mathematisch-statistischen Theorie könnte man eigene Vorlesungen füllen. Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 2 In den Grundvorlesungen werden vor allem lineare Regressionsmethoden betrachtet, wobei die Linearität eine einerseits bequeme, oft aber auch notwendige Annahme darstellt: Bequem: einfach zu interpretieren, geschlossene Lösung, viele zusätzliche analytische Resultate Notwendig: bei kleinem N und/oder großem d oft einzige Möglichkeit ohne Überanpassung an die Daten In der Realität sind Zusammenhänge leider oft nicht linear und Daten und/oder Fehler nicht immer normalverteilt. Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 3 Regression: Verallgemeinerungen Regression: Verallgemeinerungen Allgemeines lineares Regressionsmodell: ● 2.0 (general linear model) Bezeichnung mancher Autoren und Softwarepakete für lineare Regressionsmodelle mit qualitativen Regressoren. Mischmodelle: Stichprobe kommt aus k verschiedenen latenten (= nicht beobachtbaren) Klassen, die verschiedene Parameter für dasselbe (Regressions-) Modell besitzen. Parameterschätzung durch EM-Algorithmus. Parameter haben diskrete Verteilung. Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 4 Regression: Verallgemeinerungen 1.0 0.5 ● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ●● ● ● ● Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 5 Nichtlineare Regression: Üblicherweise Bezeichnung für parametrischen, nichtlinearen Zusammenhang zwischen Regressoren und Response, z.B.: 2.0 η = aebξ + ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Bei additiven normalverteiltem Fehler Parameterschätzung durch numerische Minimierung des Quadratfehlers gleichbedeutend mit Maximum Likelihood. ● ● ● 1.5 ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● Regression: Verallgemeinerungen Zufällige Effekte: Stichprobe kommt aus mehreren bekannten Klassen, (z.B. Individuen einer Population) mit verschiedenen Paramtern. Einschränkung um Freiheitsgrade unter Kontrolle zu haben: Parameter haben Normalverteilung. 1.0 ● ● ●● ● ● ● ● ● ● ●● ●● ● 0.0 (generalized linear model, GLM) Erweiterung von normalverteilten Fehlern auf die Familie der Exponentialverteilungen wie Poisson-, Gamma-, Exponential- oder Binomialverteilung. Lokationsparameter ist Funktion einer Linearkombination der Regressoren. ● Flexible Regression: Regressionsfunktion ist universeller Approximator und kann fast beliebige“ Funktionen beliebig gut annähern. ” ● ● ● ● ● ● ● ● ● ● ● ● 0.0 0.5 ● ●● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ●●● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ●● ● ● ●● ●● ●●● ●● ●● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ●● 1.5 Verallgemeinerte lineare Regression: ● Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 6 Friedrich Leisch, CiM 2010/2011: 6.1.1 Verallgemeinerungen des linearen Modells 7 Beispiel Gewichtsreduktion Beispiel Gewichtsreduktion (aus MASS4) Übergewichtige Patienten in einem Diätprogramm verlieren Gewicht typischerweise mit kleiner werdender Rate. Wir betrachten Daten von einem Patienten: 180 ● ● ● 170 ● ●● ● ● 160 > library(MASS) > data(wtloss) > summary(wtloss) Days Weight Min. : 0.0 Min. :112.6 1st Qu.: 68.5 1st Qu.:127.5 Median :127.5 Median :135.8 Mean :119.2 Mean :142.2 3rd Qu.:165.0 3rd Qu.:154.7 Max. :246.0 Max. :184.3 ● ● ● ● 150 ● ● ● ● ● ● ● ● ●● 140 Weight ● ● ● ● ● ●● ● ●● 120 130 ● ●● ● ●● ● ● ● ● ● ● ● 110 ●● ● > lm1 = lm(Weight ~ Days, data = wtloss) > lm2 = lm(Weight ~ Days + I(Days^2), data = wtloss) 0 50 100 150 200 ● ● ● 250 Days Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 8 Beispiel Gewichtsreduktion Beispiel Gewichtsreduktion 400 300 200 9 Regression mit Polynomen erlaubt beliebig genaue Approximation der Daten und beschreibt diese im Beobachtungsintervall oft sehr gut. Außerhalb des Beobachtungsintervalls versagen Polynome meist spektakulär. ● ● ● ●●● ● ●● ●● ●● ●● ●●● ● ●●● ● ● ● ● ● ● ● ●● ●●● ● Ein besseres Modell beschreibt den Vorgang der Gewichtsannahme realistischer (diese ist ja weder linear noch quadratisch): y = β0 + β12−t/θ + ●● ●●● ● ● ●● β0: asymptotisches Endgewicht β1: endgültiger Gewichtsverlust θ: Zeitspanne um verbleibendes Übergewicht zu halbieren 0 100 Weight Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 0 200 400 600 800 1000 Days Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 10 Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 11 Beispiel Gewichtsreduktion 400 Beispiel Gewichtsreduktion ● ● ● ●●● ● ●● ●● ●● ●● ●●● ● ●●● ● ● ● ● ● ● ● ●● ●●● ● 100 Weight > wtl.nls Nonlinear regression model model: Weight ~ b0 + b1 * 2^(-Days/theta) data: wtloss b0 b1 theta 81.37 102.68 141.91 residual sum-of-squares: 39.24 200 300 > wtl.start = c(b0 = 100, b1 = 85, theta = 100) > wtl.nls = nls(Weight ~ b0 + b1 * 2^(-Days/theta), data = wtloss, + start = wtl.start) 0 Number of iterations to convergence: 4 Achieved convergence tolerance: 1.167e-07 ●● ●●● ● ● ●● 0 200 400 600 800 1000 Days Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 12 Friedrich Leisch, CiM 2010/2011: 6.1.2 Beispiel Gewichtsreduktion 13 KQ- und ML-Schätzer Modell für Zufallsvariablen (ξ, µ) und Fehler : µ = f (ξ, θ) + 6.2 Schätzer für nichtlineare Regression Nonlinear Least Squares: Bei gegebenen Daten (x1, y1), . . . , (xN , yN ) Parameterschätzung durch Minimierung der Quadratsumme N X n=1 L(xn, yn, θ) = N X n=1 (yn − f (xn, θ))2 → min θ wobei L die quadratische Verlustfunktion bezeichnet. Insbesonders bei symmetrischen Fehlerverteilungen mit Mittel 0 oft äquivalent zum ML-Schätzer der Parameter, da LS-Schätzer Approximation der bedingten Erwartung liefert (siehe später): ŷ = f (x, θ) ≈ E(µ|ξ) mit Gleichheit für N → ∞ falls f () die Erwartung E(µ|ξ) darstellen kann (d.h. das Modell stimmt). Friedrich Leisch, CiM 2010/2011: 6.2 Schätzer für nichtlineare Regression 15 Nichtlineare Regression: nls() Profile Likelihood • Formel enthält sowohl Variablen wie auch Parameter. • Parameterschätzung durch iterative numerische Optimierung, Startwerte müssen vorgegeben werden. Alle Variablennamen der Formel, für die keine Startwerte vorgegeben werden, werden als Datenvariablen interpretiert. • Argumente control und algorithm von nls() erlauben feinere Kontrolle der numerischen Optimierung (aus historischen Gründen ist nls() kein Wrapper für optim()). Falls der LS-Schätzer auch ML-Schätzer der Parameter liefert, können HL-Intervalle für die Parameter ganz analog zur reinen Verteilungsanpassung durch Profiling der Likelihood berechnet werden (Likelihood-Ratio Statistik entspricht Devianz des Modells): > confint(wtl.nls) 2.5% 97.5% b0 76.48216 85.63207 b1 98.78366 107.18786 theta 131.98995 153.34165 • Schnellere Konvergenz kann wieder durch Spezifikation der ersten partiellen Ableitungen erreicht werden. Friedrich Leisch, CiM 2010/2011: 6.2 Schätzer für nichtlineare Regression 16 τ nls() 74 76 78 80 82 84 86 98 100 zu Fuß“ ” 102 104 106 > wtl.opt = optim(wtl.start, fun) > wtl.opt $par b0 b1 theta 81.37586 102.68225 141.90608 108 b1 $value [1] 39.2447 0.0 0.5 1.0 1.5 2.0 2.5 b0 τ 17 > fun = function(p) { + sum((wtloss$Weight - (p[1] + p[2] * 2^(-wtloss$Days/p[3])))^2) + } 0.0 0.5 1.0 1.5 2.0 2.5 τ 0.0 0.5 1.0 1.5 2.0 2.5 Profile Likelihood Friedrich Leisch, CiM 2010/2011: 6.2.1 Profile Likelihood $counts function gradient 130 NA $convergence [1] 0 130 135 140 145 150 155 $message NULL theta Friedrich Leisch, CiM 2010/2011: 6.2.1 Profile Likelihood 18 Friedrich Leisch, CiM 2010/2011: 6.2.2 Computationale Details 19 Vergleich nls() und optim() summary.nls() > summary(wtl.nls) Formula: Weight ~ b0 + b1 * 2^(-Days/theta) Werden nichtlineare Regressionsmodelle mit nls() geschätzt, so stehen die üblichen Methoden zur Verfügung: summary(), predict(), fitted(), ... Insbesonders führt die Summary-Methode die von linearen Modellen bekannten Tests auf Signifikanz von Parametern durch. Dagegen erlaubt optim() größere Freiheit bei der Spezifikation des Modells und stellt eine breitere Palette von Optimierungsalgorithmen zur Verfügung. Parameters: Estimate Std. Error t value Pr(>|t|) b0 81.374 2.269 35.86 <2e-16 *** b1 102.684 2.083 49.30 <2e-16 *** theta 141.910 5.295 26.80 <2e-16 *** --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.8949 on 49 degrees of freedom Number of iterations to convergence: 4 Achieved convergence tolerance: 1.167e-07 Achtung: Parameter sind nicht unabhängig voneinander, insbesonders kann ein Parameter eine Reihe anderer Parameter maskieren“ (hier: b1 ” maskiert θ). Friedrich Leisch, CiM 2010/2011: 6.2.2 Computationale Details 20 Friedrich Leisch, CiM 2010/2011: 6.2.2 Computationale Details 21 Konvergenzbegriffe Deterministische Konvergenz: xn → x 6.3 Inferenz bei nichtlinearer Regression ∀ > 0 : |xn − x| < , ∀n ≥ N () Konvergenz fast sicher: xn → x f.s. P(xn → x) = 1 Konvergenz im Maß: xn →p x ∀ > 0 : lim P(|xn − x| < ) = 1 n→∞ Konvergenz in Verteilung: xn ⇒ F xn ∼ Fn, |Fn(·) − F (·)| → 0 Friedrich Leisch, CiM 2010/2011: 6.3.1 Konvergenz und Konsistenz 23 Konsistenz von Schätzern Konsistenz von Schätzern Für einen Schätzer θ̂N basierend auf einer Stichprobe der Größe N sprechen wir von • Starker Konsistenz ⇔ θ̂N → θ? fast sicher • • • ξi: Folge von u.i.v. Zufallsvariablen im Rp Parameterraum Θ: Kompakte Teilmenge des Rd Verlustfunktion: L : Rp × Θ → R L(·) ist meßbar, L(x, ·) stetig und beschränkt durch eine integrierbare Funktion auf Θ Dann existiert für N = 1, 2, . . . eine Lösung θ̂n für das Problem • Schwacher Konsistenz ⇔ θ̂N →p θ? im Maß N 1 X L(xn, θ) θ∈Θ N n=1 min wobei θ? den unbekannten wahren Parameter darstellt. und θ̂N → Θ? f.s. wobei Θ? = {θ? ∈ Θ|EL(ξ, θ?) ≤ EL(ξ, θ), ∀θ ∈ Θ} Friedrich Leisch, CiM 2010/2011: 6.3.1 Konvergenz und Konsistenz 24 Grenzverteilung der Parameter L (zweimal Bei Maximum-Likelihood-Schätzung mit Log-Likelihood l und wahrem Parameter θ? gilt für die Fisher Information E∇l(ξ, θ?)∇l(ξ, θ?)0 = −E∇2l(ξ, θ?) stetig Wir haben im Wesentlichen“ L = −l ” E∇2L = −E∇2l = E∇l∇l0 = E(−∇L)(−∇L)0 = E(∇L)(∇L)0 Σθ = A−1BA−1 A = E∇2L(ξ, θ?) B = E∇L(ξ, θ?)∇L(ξ, θ?)0 und der übliche Schätzer Σ̂n = Â−1B̂ Â−1 konvergiert f.s. nach Σθ (ersetze Erwartungswerte durch Mittelwerte, θ? durch θ̂). Friedrich Leisch, CiM 2010/2011: 6.3.2 Grenzverteilung der Parameter 25 Grenzverteilung der Parameter Es gelte θ̂n → θ? ∈ Θ? f.s. und θ? sei ein isoliertes Element von Θ? im Inneren von Θ. Unter gewissen technischen Bedingungen an differenzierbar,. . . ) gilt √ N (θ̂N − θ?) ⇒ N (0, Σθ ) Friedrich Leisch, CiM 2010/2011: 6.3.1 Konvergenz und Konsistenz 26 und daher für ML-Schätzer √ N (θ̂N − θ?) ⇒ N (0, A−1) Die Varianz-Kovarianzmatrix des Schätzers θ̂ entspricht der Inversen der Hessematrix der Verlustfunktion (bzw. negativen inversen Hessematrix der log-Likelihood). Friedrich Leisch, CiM 2010/2011: 6.3.2 Grenzverteilung der Parameter 27 Grenzverteilung der Parameter Fortsetzung Beispiel Bei normalverteilten Zufallsgrößen ist die Log-Likelihood > wtl.nls Nonlinear regression model model: Weight ~ b0 + b1 * 2^(-Days/theta) data: wtloss b0 b1 theta 81.37 102.68 141.91 residual sum-of-squares: 39.24 − N N 1 X log(2πσ 2) − (xn − µ)2 2 2σ 2 n=1 wobei beim Ableiten nach µ nur der zweite Term über bleibt. Die negative Log-Likelihood entspricht also der RSS dividiert durch 2σ 2. Bei Kleinst-Quadratschätzung mit Verlustfunktion L = (y − f (x, θ))2 gilt daher −1 1 2L ∇ = 2σ 2(∇2L)−1 Σθ = 2σ 2 falls die Fehler normalverteilt sind. Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 28 Fortsetzung Beispiel Number of iterations to convergence: 4 Achieved convergence tolerance: 1.167e-07 > wtl.opt[1:2] $par b0 b1 theta 81.37586 102.68225 141.90608 $value [1] 39.2447 Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 29 Fortsetzung Beispiel Wie können wir nun aus dem Resultat von optim() die Varianz-KovarianzMatrix der Schätzer gewinnen? Wir erhalten einen Schätzer für σ 2 durch > summary(wtl.nls) Formula: Weight ~ b0 + b1 * 2^(-Days/theta) > rdf = nrow(wtloss) - 3 > sigma2 = wtl.opt$value/rdf > sigma2 [1] 0.8009122 > sqrt(sigma2) [1] 0.894937 Parameters: Estimate Std. Error t value Pr(>|t|) b0 81.374 2.269 35.86 <2e-16 *** b1 102.684 2.083 49.30 <2e-16 *** theta 141.910 5.295 26.80 <2e-16 *** --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.8949 on 49 degrees of freedom Number of iterations to convergence: 4 Achieved convergence tolerance: 1.167e-07 Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 30 Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 31 Fortsetzung Beispiel Fortsetzung Beispiel Nun müssen wir nur noch die Inverse der Hessematrix mit 2σ̂ 2 multiplizieren: > wtl.opt = optim(wtl.start, fun, hessian = TRUE) > wtl.opt$hessian b0 b1 theta b0 104.00000 61.65349 20.743579 b1 61.65349 40.85014 10.679776 theta 20.74358 10.67978 4.803146 > hessinv = solve(wtl.opt$hessian) > hessinv b0 b1 theta b0 3.203063 -2.908393 -7.366424 b1 -2.908393 2.699298 6.558739 theta -7.366424 6.558739 17.438599 > se = sqrt(2 * sigma2 * diag(hessinv)) > tval = wtl.opt$par/se > cbind(wtl.opt$par, se, tval, 2 * pt(-abs(tval), rdf)) se tval b0 81.37586 2.265115 35.92571 7.258686e-37 b1 102.68225 2.079375 49.38129 1.872110e-43 theta 141.90608 5.285222 26.84959 5.760787e-31 > summary(wtl.nls)$parameters Estimate Std. Error t value Pr(>|t|) b0 81.37382 2.269006 35.86320 7.881132e-37 b1 102.68411 2.082762 49.30191 2.022593e-43 theta 141.91036 5.294517 26.80327 6.236376e-31 Die kleinen numerischen Unterschiede sind auf unterschiedliche Optimierungsalgorithmen zurückzuführen (kann insbesonders Vergleich verschiedener Software-Pakete erschweren!). Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 32 Friedrich Leisch, CiM 2010/2011: 6.3.3 Beispiel Inferenz 33