Warum wird Newtons Methode zur Optimierung der logistischen Regression als iterative, neu gewichtete Fehlerquadrate bezeichnet?


18

Warum wird Newtons Methode zur Optimierung der logistischen Regression als iterative, neu gewichtete Fehlerquadrate bezeichnet?

Es scheint mir nicht klar zu sein, weil logistischer Verlust und Verlust der kleinsten Quadrate völlig verschiedene Dinge sind.


3
Ich denke nicht, dass sie gleich sind. IRLS ist Newton-Raphson mit dem erwarteten Hessischen anstelle des beobachteten Hessischen.
Dimitriy V. Masterov

@ DimitriyV.Masterov danke, kannst du mir mehr über Expected Hessian vs Observed erzählen?
Haitao Du

Antworten:


24

Zusammenfassung: GLMs werden durch Fisher-Scoring angepasst, das, wie Dimitriy V. Masterov bemerkt, Newton-Raphson mit dem erwarteten Hessischen ist (dh wir verwenden eine Schätzung der Fisher-Informationen anstelle der beobachteten Informationen). Wenn wir die kanonische Verknüpfungsfunktion verwenden, stellt sich heraus, dass das beobachtete Hessische dem erwarteten Hessischen entspricht, so dass NR und Fisher-Wertung in diesem Fall gleich sind. Wie auch immer, wir werden sehen, dass das Fisher-Scoring tatsächlich ein lineares Modell mit gewichteten kleinsten Quadraten anpasst, und der Koeffizient, der daraus geschätzt wird, * konvergiert mit einem Maximum der logistischen Regressionswahrscheinlichkeit. Wir reduzieren nicht nur die Anpassung einer logistischen Regression an ein bereits gelöstes Problem, sondern können auch die lineare Regressionsdiagnose für die endgültige WLS-Anpassung verwenden, um mehr über unsere logistische Regression zu erfahren.

Ich werde mich weiterhin auf die logistische Regression konzentrieren, aber für eine allgemeinere Perspektive auf die maximale Wahrscheinlichkeit bei GLM empfehle ich Abschnitt 15.3 dieses Kapitels, der dies durchläuft und IRLS in einer allgemeineren Umgebung ableitet (ich denke, es ist von John Fox's Applied) Regressionsanalyse und verallgemeinerte lineare Modelle ).

siehe Kommentare am Ende


Die Wahrscheinlichkeits- und Punktzahlfunktion

Wir werden unsere GLM anpassen, indem wir etwas von der Form iterieren. wobei die Log-Wahrscheinlichkeit ist undl J m

b(m+1)=b(m)J(m)1(b(m))
Jm entweder das beobachtete oder das erwartete Hessische der logarithmischen Wahrscheinlichkeit ist.

Unsere Verknüpfungsfunktion ist eine Funktion , die den bedingten Mittelwert μ i = E ( y i | x i ) auf unseren linearen Prädiktor abbildet , sodass unser Modell für den Mittelwert g ( μ i ) = x T i β lautet . Sei h die Inverse-Link-Funktion, die den linearen Prädiktor auf den Mittelwert abbildet.gμi=E(yi|xi)g(μi)=xiTβh

Für eine logistische Regression haben wir eine Bernoulli - Wahrscheinlichkeit mit unabhängigen Beobachtungen so Unter Derivaten, & part; l

(b;y)=i=1nyilogh(xiTb)+(1yi)log(1h(xiTb)).
= n Σ i=1xijh'(x T i b)( y i
bj=i=1nyih(xiTb)h(xiTb)xij1yi1h(xiTb)h(xiTb)xij
=Σixijh'(x T i b)
=i=1nxijh(xiTb)(yih(xiTb)1yi1h(xiTb))
=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb)).

Verwendung des kanonischen Links

Nehmen wir nun an, wir verwenden die kanonische Linkfunktion . Dann ist g - 1 c ( x ) : = h c ( x ) = 1gc=logit soh ' c =hc(1-hc)der dies vereinfacht zu bedeutet lgc1(x):=hc(x)=11+exhc=hc(1hc) so l(b;y)=XT(y - y ). Darüber hinaus immer noch mithc, 2

bj=ixij(yihc(xiTb))
(b;y)=XT(yy^).
hc
2bkbj=ixijbkhc(xiTb)=ixijxik[hc(xiTb)(1hc(xiTb))].

W=diag(hc(x1Tb)(1hc(x1Tb)),,hc(xnTb)(1hc(xnTb)))=diag(y^1(1y^1),,y^n(1y^n)).
H=XTWX
yiE(H)=Hbyy^i(0,1) XTWXy^i010H

z=W1(yy^)

=XT(yy^)=XTWz.

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
(XTW(m)X)1XTW(m)z(m)β^z(m)X

Einchecken in R:

set.seed(123)
p <- 5
n <- 500
x <- matrix(rnorm(n * p), n, p)
betas <- runif(p, -2, 2)
hc <- function(x) 1 /(1 + exp(-x)) # inverse canonical link
p.true <- hc(x %*% betas)
y <- rbinom(n, 1, p.true)

# fitting with our procedure
my_IRLS_canonical <- function(x, y, b.init, hc, tol=1e-8) {
  change <- Inf
  b.old <- b.init
  while(change > tol) {
    eta <- x %*% b.old  # linear predictor
    y.hat <- hc(eta)
    h.prime_eta <- y.hat * (1 - y.hat)
    z <- (y - y.hat) / h.prime_eta

    b.new <- b.old + lm(z ~ x - 1, weights = h.prime_eta)$coef  # WLS regression
    change <- sqrt(sum((b.new - b.old)^2))
    b.old <- b.new
  }
  b.new
}

my_IRLS_canonical(x, y, rep(1,p), hc)
# x1         x2         x3         x4         x5 
# -1.1149687  2.1897992  1.0271298  0.8702975 -1.2074851

glm(y ~ x - 1, family=binomial())$coef
# x1         x2         x3         x4         x5 
# -1.1149687  2.1897992  1.0271298  0.8702975 -1.2074851 

und sie stimmen zu.


Nicht-kanonische Linkfunktionen

hh(1h)=1HE(H)

2bkbj=ixijbkh(xiTb)(yih(xiTb)1yi1h(xiTb))
=ixijxik[h(xiTb)(yih(xiTb)1yi1h(xiTb))h(xiTb)2(yih(xiTb)2+1yi(1h(xiTb))2)]

E(H)yiμi=h(xiTβ)

h(xiTb)(h(xiTβ)h(xiTb)1h(xiTβ)1h(xiTb))h(xiTb)2(h(xiTβ)h(xiTb)2+1h(xiTβ)(1h(xiTb))2).
βm b(m)
h(xiTb)(h(xiTb)h(xiTb)1h(xiTb)1h(xiTb))h(xiTb)2(h(xiTb)h(xiTb)2+1h(xiTb)(1h(xiTb))2)
=h(xiTb)2(1h(xiTb)+11h(xiTb))
=h(xiTb)2h(xiTb)(1h(xiTb)).
J
Jjk=ixijxikh(xiTb)2h(xiTb)(1h(xiTb)).

W=diag(h(x1Tb)2h(x1Tb)(1h(x1Tb)),,h(xnTb)2h(xnTb)(1h(xnTb)))
hc=hc(1hc)WW
J=XTWX
E^(H)Hi Wii>0J

bj=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb))
z=D1(yy^)D=diag(h(x1Tb),,h(xnTb))=XTWz

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)

b(m+1)b(m)

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
=(XTW(m)X)1(XTW(m)Xb(m)+XTW(m)z(m))
=(XTW(m)X)1XTW(m)(Xb(m)+z(m))
η(m)+D(m)1(yy^(m))

Lassen Sie uns bestätigen, dass dies funktioniert, indem wir eine Probit-Regression mit denselben simulierten Daten wie zuvor durchführen (und dies ist nicht die kanonische Verknüpfung, daher benötigen wir diese allgemeinere Form von IRLS).

my_IRLS_general <- function(x, y, b.init, h, h.prime, tol=1e-8) {
  change <- Inf
  b.old <- b.init
  while(change > tol) {
    eta <- x %*% b.old  # linear predictor
    y.hat <- h(eta)
    h.prime_eta <- h.prime(eta)
    w_star <- h.prime_eta^2 / (y.hat * (1 - y.hat))
    z_star <- (y - y.hat) / h.prime_eta

    b.new <- b.old + lm(z_star ~ x - 1, weights = w_star)$coef  # WLS

    change <- sqrt(sum((b.new - b.old)^2))
    b.old <- b.new
  }
  b.new
}

# probit inverse link and derivative
h_probit <- function(x) pnorm(x, 0, 1)
h.prime_probit <- function(x) dnorm(x, 0, 1)

my_IRLS_general(x, y, rep(0,p), h_probit, h.prime_probit)
# x1         x2         x3         x4         x5 
# -0.6456508  1.2520266  0.5820856  0.4982678 -0.6768585 

glm(y~x-1, family=binomial(link="probit"))$coef
# x1         x2         x3         x4         x5 
# -0.6456490  1.2520241  0.5820835  0.4982663 -0.6768581 

und wieder sind sich die beiden einig.


Anmerkungen zur Konvergenz

J(m)b.init=rep(1,p)y^i1y^i(1y^i)y^i01


5
+1. Ich finde es toll, wie detailliert Ihre Antworten oft sind.
Amöbe sagt Reinstate Monica

Sie gaben an, dass "die Koeffizientenschätzungen aus dieser Konvergenz mit einem Maximum der logistischen Regressionswahrscheinlichkeit" übereinstimmen. Geht das unbedingt von Anfangswerten aus?
Mark L. Stone

2
@ MarkL.Stone ah Ich war dort zu locker, wollte die Optimierungsleute nicht beleidigen :) Ich werde einige weitere Details hinzufügen (und würde mich über Ihre Gedanken
freuen

Hast du den Link gesehen, den ich gepostet habe? Scheint, dass Video aus der Perspektive des maschinellen Lernens spricht, nur um den logistischen Verlust zu optimieren, ohne über die Erwartungen von Hessain zu sprechen?
Haitao Du

1
@ hxd1011 in dem pdf, auf das ich verlinkt habe (link again: sagepub.com/sites/default/files/upm-binaries/… ) auf Seite 24 geht der Autor auf die Theorie ein und erklärt, was genau eine Linkfunktion kanonisch macht. Ich fand das PDF äußerst hilfreich, als ich zum ersten Mal darauf stieß (obwohl ich eine Weile gebraucht habe, um durchzukommen).
7.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.