Notation matricielle pour la régression logistique

15

En régression linéaire (perte au carré), en utilisant la matrice, nous avons une notation très concise pour l'objectif

minimize  Axb2

A est la matrice de données, x est les coefficients et b est la réponse.

Existe-t-il une notation matricielle similaire pour l'objectif de régression logistique? Toutes les notations que j'ai vues ne peuvent pas se débarrasser de la somme sur tous les points de données (quelque chose comme dataLlogistic(y,βTx) ).


EDIT: merci pour joceratops et la grande réponse d'AdamO. Leur réponse m'a aidé à réaliser qu'une autre raison pour laquelle la régression linéaire a une notation plus concise est la définition de la norme, qui encapsule le carré et la somme ou ee . Mais en cas de perte logistique, il n'y a pas une telle définition, ce qui complique un peu la notation.

Haitao Du
la source

Réponses:

18

En régression linéaire, la solution d'estimation de vraisemblance maximale (MLE) pour estimer x a la solution de forme fermée suivante (en supposant que A est une matrice avec un rang de colonne complet):

x^lin=argminxAxb22=(ATA)1ATb

Cela se lit comme "trouver le x qui minimise la fonction objectif, Axb22 ". La chose agréable de représenter la fonction objective de régression linéaire de cette façon est que nous pouvons garder tout en notation matricielle et à résoudre pour x lin à la main. Comme le mentionne Alex R., dans la pratique, nous ne considérons souvent pas ( A T A ) - 1 directement car il est inefficace sur le plan des calculs et A ne remplit pas souvent les critères de classement complet. Au lieu de cela, nous nous tournons vers le pseudoinverse de Moore-Penrosex^lin(ATA)1A. Les détails de la résolution par calcul pour le pseudo-inverse peuvent impliquer la décomposition de Cholesky ou la décomposition en valeurs singulières.

Alternativement, la solution MLE pour estimer les coefficients de régression logistique est:

x^log=argminxi=1Ny(i)log(1+exTa(i))+(1y(i))log(1+exTa(i))

où (en supposant que chaque échantillon de données est stocké en ligne):

x est un vecteur représente les coefficients de régression

a(i) est un vecteur représentant leith échantillon / ligne dans la matrice de donnéesA

y(i) est un scalaire dans{0,1} , et l'étiquetteith correspondant à laithéchantillon i t h

N est le nombre d'échantillons de données / nombre de lignes dansmatrice de donnéesA .

Encore une fois, cela se lit comme "trouver le x qui minimise la fonction objectif".

Si vous vouliez, vous pourriez prendre un peu plus loin et représenter xx^log en notation matricielle comme suit:

x^log=argminx[1(1y(1))1(1y(N))][log(1+exTa(1))...log(1+exTa(N))log(1+exTa(1))...log(1+exTa(N))]

mais vous ne gagnez rien à faire cela. La régression logistique n'a pas de solution sous forme fermée et n'obtient pas les mêmes avantages que la régression linéaire en la représentant en notation matricielle. Pour résoudre pour x log des techniques d'estimation telles que la descente de gradient et la méthode de Newton-Raphson sont utilisés. Grâce à l' utilisation de certaines de ces techniques (c. -à- Newton-Raphson), x log est approchée et est représentée en notation matricielle ( voir le lien fourni par Alex R. ).x^logx^log

joceratops
la source
Génial. Merci. Je pense que la raison pour laquelle nous n'avons pas quelque chose comme résoudre est la raison pour laquelle nous ne prenons pas cette étape davantage pour faire la notation matricielle et éviter le symbole de somme. AAx=Ab
Haitao Du
Nous avons un certain avantage à aller plus loin, le transformer en multiplication matricielle rendrait le code plus simple, et dans de nombreuses plates-formes telles que matlab, pour une boucle avec somme sur toutes les données, est beaucoup plus lent que les opérations matricielles.
Haitao Du
5
ATAx=ATbATA
1
@AlexR. Merci beaucoup. J'ai appris que l'utilisation d'une équation normale rendra le nombre conditionnel de la matrice au carré. Et QR ou Cholesky serait bien mieux. Votre lien est génial, une telle revue avec des méthodes numériques est toujours ce que je voulais.
Haitao Du
15

La réponse de @joceratops se concentre sur le problème d'optimisation de la probabilité maximale d'estimation. Il s'agit en effet d'une approche flexible qui se prête à de nombreux types de problèmes. Pour estimer la plupart des modèles, y compris les modèles de régression linéaire et logistique, il existe une autre approche générale basée sur la méthode d'estimation des moments.

L'estimateur de régression linéaire peut également être formulé comme la racine de l'équation d'estimation:

0=XT(Oui-Xβ)

À cet égard β is seen as the value which retrieves an average residual of 0. It needn't rely on any underlying probability model to have this interpretation. It is, however, interesting to go about deriving the score equations for a normal likelihood, you will see indeed that they take exactly the form displayed above. Maximizing the likelihood of regular exponential family for a linear model (e.g. linear or logistic regression) is equivalent to obtaining solutions to their score equations.

0=i=1nSi(α,β)=βlogL(β,α,X,Y)=XT(Yg(Xβ))

Where Yi has expected value g(Xiβ). In GLM estimation, g is said to be the inverse of a link function. In normal likelihood equations, g1 is the identity function, and in logistic regression g1 is the logit function. A more general approach would be to require 0=i=1nYg(Xiβ) which allows for model misspecification.

Additionally, it is interesting to note that for regular exponential families, g(Xβ)β=V(g(Xβ)) which is called a mean-variance relationship. Indeed for logistic regression, the mean variance relationship is such that the mean p=g(Xβ) is related to the variance by var(Yi)=pi(1pi). This suggests an interpretation of a model misspecified GLM as being one which gives a 0 average Pearson residual. This further suggests a generalization to allow non-proportional functional mean derivatives and mean-variance relationships.

A generalized estimating equation approach would specify linear models in the following way:

0=g(Xβ)βV1(Yg(Xβ))

With V a matrix of variances based on the fitted value (mean) given by g(Xβ). This approach to estimation allows one to pick a link function and mean variance relationship as with GLMs.

In logistic regression g would be the inverse logit, and Vii would be given by g(Xiβ)(1g(Xβ)). The solutions to this estimating equation, obtained by Newton-Raphson, will yield the β obtained from logistic regression. However a somewhat broader class of models is estimable under a similar framework. For instance, the link function can be taken to be the log of the linear predictor so that the regression coefficients are relative risks and not odds ratios. Which--given the well documented pitfalls of interpreting ORs as RRs--behooves me to ask why anyone fits logistic regression models at all anymore.

AdamO
la source
1
+1 great answer. formulate it as a root finding on derivative is really new for me. and the second equation is really concise.
Haitao Du