Pourquoi utiliser la méthode de Newton pour l'optimisation de la régression logistique est-elle appelée moindres carrés itératifs repondérés?


19

Pourquoi utiliser la méthode de Newton pour l'optimisation de la régression logistique est-elle appelée moindres carrés itératifs repondérés?

Cela ne me semble pas clair, car la perte logistique et la perte des moindres carrés sont des choses complètement différentes.


3
Je ne pense pas que ce soit pareil. IRLS est Newton-Raphson avec la Hesse attendue plutôt que la Hesse observée.
Dimitriy V. Masterov

@ DimitriyV.Masterov merci, pourriez-vous m'en dire plus sur la Hesse attendue vs Observée? Aussi, que pensez-vous de cette explication
Haitao Du

Réponses:


25

Résumé: Les GLM sont ajustés via le score de Fisher qui, comme le note Dimitriy V. Masterov, est Newton-Raphson avec la Hesse attendue à la place (c'est-à-dire que nous utilisons une estimation des informations de Fisher au lieu des informations observées). Si nous utilisons la fonction de lien canonique, il s'avère que le Hessian observé est égal au Hessian attendu, donc les scores NR et Fisher sont les mêmes dans ce cas. Quoi qu'il en soit, nous verrons que le score de Fisher correspond en fait à un modèle linéaire des moindres carrés pondérés, et les estimations de coefficient à partir de cette convergence * sur un maximum de la probabilité de régression logistique. En plus de réduire l'ajustement d'une régression logistique à un problème déjà résolu, nous avons également l'avantage de pouvoir utiliser des diagnostics de régression linéaire sur l'ajustement WLS final pour en savoir plus sur notre régression logistique.

Je vais continuer de mettre l'accent sur la régression logistique, mais pour une perspective plus générale sur la probabilité maximale dans les GLM, je recommande la section 15.3 de ce chapitre qui passe par là et dérive l'IRL dans un cadre plus général (je pense que c'est de John Fox's Applied Analyse de régression et modèles linéaires généralisés ).

voir les commentaires à la fin


La fonction de probabilité et de score

Nous ajusterons notre GLM en itérant quelque chose de la forme

b(m+1)=b(m)J(m)1(b(m))
est la probabilité logarithmique et Jm sera soit la Hesse observée ou attendue de la vraisemblance logarithmique.

Notre fonction de lien est une fonction qui mappe la moyenne conditionnelle μ i = E ( y i | x i ) à notre prédicteur linéaire, donc notre modèle pour la moyenne est g ( μ i ) = x T i β . Soit h la fonction de lien inverse mappant le prédicteur linéaire à la moyenne.gμi=E(yi|xi)g(μi)=xiTβh

Pour une régression logistique, nous avons une vraisemblance de Bernoulli avec des observations indépendantes donc Prendre des dérivés,

(b;y)=je=1nyjeJournalh(XjeTb)+(1-yje)Journal(1-h(XjeTb)).
= n i=1xijh(x T i b)( y i
bj=je=1nyjeh(XjeTb)h(XjeTb)Xjej-1-yje1-h(XjeTb)h(XjeTb)Xjej
=ixijh(x T i b)
=i=1nxijh(xiTb)(yih(xiTb)1yi1h(xiTb))
=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb)).

Utilisation du lien canonique

Supposons maintenant que nous utilisons la fonction de lien canonique . Alors g - 1 c ( x ) : = h c ( x ) = 1gc=logit donchc =hc(1-hc)ce qui signifie que cela se simplifie en gc-1(X): =hc(X)=11+e-Xhc=hc(1-hc) si (b,y)=XT(y - y ). De plus, toujours en utilisanthc, 2

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

Soit Ensuite, nous avons H=- X T WX et notons comment cela n'a plus de y i , doncE(H)=H(nous considérons cela en fonction deb,donc la seule chose aléatoire estylui-même). Ainsi, nous avons montré que le score de Fisher est équivalent à Newton-Raphson lorsque nous utilisons le lien canonique dans la régression logistique. En outreen vertu de

W=diag(hc(x1Tb)(1hc(x1Tb)),,hc(xnTb)(1hc(xnTb)))=diag(y^1(1y^1),,y^n(1y^n)).
H=XTWX
yiE(H)=Hby-XTWXsera toujours strictement définie négative, bien que numériquement si y iest trop près de0ou1alors nous pouvons avoirpoids Arrondir à0qui peut rendreHsemidéfinie de négatif etconséquent informatiquement singulier.y^i(0,1) XTWXy^i010H

Maintenant créer la réponse de travail et notez que = X T ( y - y ) = X T W z .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

Enregistrement dans 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 

et ils sont d'accord.


Fonctions de liaison non canoniques

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)]

Via the linearity of expectation all we need to do to get E(H) is replace each occurrence of yi with its mean under our model which is μi=h(xiTβ). Each term in the summand will therefore contain a factor of the form

h(xiTb)(h(xiTβ)h(xiTb)1h(xiTβ)1h(xiTb))h(xiTb)2(h(xiTβ)h(xiTb)2+1h(xiTβ)(1h(xiTb))2).
But to actually do our optimization we'll need to estimate each β, and at step m b(m) is the best guess we have. This means that this will reduce to
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)).
This means we will use J with
Jjk=ixijxikh(xiTb)2h(xiTb)(1h(xiTb)).

Now let

W=diag(h(x1Tb)2h(x1Tb)(1h(x1Tb)),,h(xnTb)2h(xnTb)(1h(xnTb)))
and note how under the canonical link hc=hc(1hc) reduces W to W from the previous section. This lets us write
J=XTWX
except this is now E^(H) rather than necessarily being H itself, so this can differ from Newton-Raphson. For all i Wii>0 so aside from numerical issues J will be negative definite.

We have

bj=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb))
so letting our new working response be z=D1(yy^) with D=diag(h(x1Tb),,h(xnTb)), we have =XTWz.

All together we are iterating

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
so this is still a sequence of WLS regressions except now it's not necessarily Newton-Raphson.

I've written it out this way to emphasize the connection to Newton-Raphson, but frequently people will factor the updates so that each new point b(m+1) is itself the WLS solution, rather than a WLS solution added to the current point b(m). If we wanted to do this, we can do the following:

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))
so if we're going this way you'll see the working response take the form η(m)+D(m)1(yy^(m)), but it's the same thing.

Let's confirm that this works by using it to perform a probit regression on the same simulated data as before (and this is not the canonical link, so we need this more general form of 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 

and again the two agree.


Comments on convergence

Finally, a few quick comments on convergence (I'll keep this brief as this is getting really long and I'm no expert at optimization). Even though theoretically each J(m) is negative definite, bad initial conditions can still prevent this algorithm from converging. In the probit example above, changing the initial conditions to b.init=rep(1,p) results in this, and that doesn't even look like a suspicious initial condition. If you step through the IRLS procedure with that initialization and these simulated data, by the second time through the loop there are some y^i that round to exactly 1 and so the weights become undefined. If we're using the canonical link in the algorithm I gave we won't ever be dividing by y^i(1y^i) to get undefined weights, but if we've got a situation where some y^i are approaching 0 or 1, such as in the case of perfect separation, then we'll still get non-convergence as the gradient dies without us reaching anything.


5
+1. I love how detailed your answers often are.
amibe dit Réintégrer Monica

You stated "the coefficient estimates from this converge on a maximum of the logistic regression likelihood." Is that necessarily so, from any initial values?
Mark L. Stone

2
@MarkL.Stone ah I was being too casual there, didn't mean to offend the optimization people :) I'll add some more details (and would appreciate your thoughts on them when I do)
2018

any chance you watched the link I posted? Seems that video is talking from machine learning perspective, just optimize logistic loss, without talking about Hessain expectation?
Haitao Du

1
@ hxd1011 dans ce pdf auquel je suis lié (lien à nouveau: sagepub.com/sites/default/files/upm-binaries/… ) à la page 24 de celui-ci, l'auteur entre dans la théorie et explique ce qui rend exactement une fonction de lien canonique. J'ai trouvé ce fichier PDF extrêmement utile lorsque je l'ai rencontré pour la première fois (même si cela m'a pris du temps).
2018
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.