Computerintensive Methoden 6.1 Einleitung ML mit Kovariaten

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