Régression des résidus de régression logistique sur d'autres régresseurs

9

Avec la régression OLS appliquée à la réponse continue, on peut construire l'équation de régression multiple en exécutant séquentiellement des régressions des résidus sur chaque covariable. Ma question est, existe-t-il un moyen de le faire avec la régression logistique via les résidus de régression logistique ?

Pr(Y=1|x,z)xR1R1z

Ben Ogorek
la source
Je suppose que cela ne fonctionnera pas pour la même raison que REML ne s'étend pas aux GLM; la magie des moindres carrés est perdue. Je me demande si cela fonctionnerait dans un contexte entièrement bayésien où vous avez échantillonné la variable latente dans le cadre de la simulation. La raison pour laquelle je voulais le faire était que je puisse exécuter glmnet sur différentes classes de variables et obtenir différentes quantités de régularisation pour les classes - bien sûr, il existe d'autres façons d'obtenir cet effet.
Ben Ogorek
Est-ce très similaire à l'utilisation d'un algorithme d'ajustement pour la régression logistique?
usεr11852
Je l'ai mentionné dans un commentaire ci-dessous, mais dans de nombreuses implémentations, vous pouvez passer une prédiction `` de base '' (paramètre de décalage dans glmnet), donc ce serait peut-être possible après avoir régressé les variables dépendantes. @BenOgorek voulez-vous ajouter le but dans le texte principal
seanv507
@ seanv507 Je crains que l'ajout de la partie régularisation n'augmente trop la portée, surtout maintenant qu'il y a quelques bonnes réponses ci-dessous. Après la fin de cette Q&R, je vais créer une question distincte où l'offset pourrait en effet être notre ami.
Ben Ogorek
Ce n'est pas une réponse mais je n'ai pas assez de réputation pour commenter. La question consiste à régresser le résidu sur l'autre régresseur (c.-à-d. Les prédicteurs ) plutôt qu'à régresser le résidu sur les résidus . Je suis confus par les réponses.
T Wu

Réponses:

3

Dans la régression linéaire multiple standard, la capacité d'ajuster les estimations des moindres carrés ordinaires (OLS) en deux étapes provient du théorème de Frisch – Waugh – Lovell . Ce théorème montre que l'estimation d'un coefficient pour un prédicteur particulier dans un modèle linéaire multiple est égale à l'estimation obtenue en régressant les résidus de réponse (résidus d'une régression de la variable de réponse par rapport aux autres variables explicatives) par rapport aux résidus de prédicteur (résidus à partir d'une régression de la variable prédictive par rapport aux autres variables explicatives). Évidemment, vous cherchez une analogie avec ce théorème qui peut être utilisée dans un modèle de régression logistique.

Pour cette question, il est utile de rappeler la caractérisation à variable latente de la régression logistique :

Yi=I(Yi>0)Yi=β0+βXxi+βZzi+εiεiIID Logistic(0,1).

Dans cette caractérisation du modèle, la variable de réponse latente n'est pas observable, et au lieu de cela nous observons l'indicateur qui nous dit si la réponse latente est positive ou non. Cette forme du modèle ressemble à une régression linéaire multiple, sauf que nous utilisons une distribution d'erreur légèrement différente (la distribution logistique au lieu de la distribution normale), et plus important encore, nous n'observons qu'un indicateur indiquant si la réponse latente est positive ou non. .YiYi

Cela crée un problème pour toute tentative de création d'un ajustement en deux étapes du modèle. Ce théorème de Frisch-Waugh-Lovell repose sur la capacité à obtenir des résidus intermédiaires pour la réponse et le prédicteur d'intérêt, pris par rapport aux autres variables explicatives. Dans le cas présent, nous ne pouvons obtenir des résidus qu'à partir d'une variable de réponse "catégorisée". La création d'un processus d'ajustement en deux étapes pour la régression logistique vous obligerait à utiliser les résidus de réponse de cette variable de réponse catégorisée, sans accès à la réponse latente sous-jacente. Cela me semble être un obstacle majeur, et même si cela ne prouve pas l'impossibilité, il semble peu probable qu'il soit possible d'adapter le modèle en deux étapes.

Ci-dessous, je vais vous expliquer ce qui serait nécessaire pour trouver un processus en deux étapes pour s'adapter à une régression logistique. Je ne sais pas s'il existe une solution à ce problème, ou s'il existe une preuve d'impossibilité, mais le matériel ici devrait vous aider à comprendre ce qui est requis.


À quoi ressemblerait une régression logistique en deux étapes? Supposons que nous voulons construire un ajustement en deux étapes pour un modèle de régression logistique où les paramètres sont estimés via une estimation du maximum de vraisemblance à chaque étape. Nous voulons que le processus implique une étape intermédiaire qui correspond aux deux modèles suivants:

Yi=I(Yi>0)Yi=α0+αXxi+τiτiIID Logistic(0,1),  Zi=γ0+γXxi+δiδiIID g.

Nous estimons les coefficients de ces modèles (via les MLE) et nous obtenons des valeurs ajustées intermédiaires . Ensuite, dans la deuxième étape, nous ajustons le modèle:α^0,α^X,γ^0,γ^X

Yi=logistic(α^0+α^1xi)+βZ(ziγ^0γ^Xxi)+ϵiϵiIID f.

Comme spécifié, la procédure a beaucoup d'éléments fixes, mais les fonctions de densité et dans ces étapes ne sont pas spécifiées (bien qu'elles devraient être des distributions à moyenne nulle qui ne dépendent pas des données). Pour obtenir une méthode d'ajustement en deux étapes sous ces contraintes, nous devons choisir et pour garantir que le MLE pour dans cet algorithme d'ajustement de modèle en deux étapes est le même que le MLE obtenu à partir du modèle de régression logistique en une étape au dessus de.gfgfβZ

Pour voir si cela est possible, nous écrivons d'abord tous les paramètres estimés de la première étape:

y|x(α^0,α^X)=maxα0,αXi=1nlnBern(yi|logistic(α0+αXxi)),z|x(γ^0,γ^X)=maxγ0,γXi=1nlng(ziγ0γXxi).

Soit pour que la fonction log-vraisemblance pour la deuxième étape soit:ϵi=yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)

y|z|x(βZ)=i=1nlnf(yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)).

Nous exigeons que la valeur maximisante de cette fonction soit le MLE du modèle de régression logistique multiple. En d'autres termes, nous avons besoin de:

arg max βXy|z|x(βZ)=arg max βXmaxβ0,βZi=1nlnBern(yi|logistic(β0+βXxi+βZzi)).

Je laisse à d'autres le soin de déterminer s'il existe une solution à ce problème ou une preuve d'absence de solution. Je soupçonne que la «catégorisation» de la variable de réponse latente dans une régression logistique rendra impossible de trouver un processus en deux étapes.

Ben - Réintègre Monica
la source
1
Salut @Ben, merci de m'avoir enseigné le théorème de Frisch – Waugh – Lovell. Je l'ai fait exploser sur la prime - je pensais que "expiré" signifiait qu'il avait juste cessé d'être annoncé. Désolé pour ça. J'aime votre idée basée sur la vraisemblance. Pourrait l'essayer ou quelque chose de similaire et poster ci-dessous.
Ben Ogorek
@Ben Ogorek: Pas de soucis pour la prime. Heureux que la réponse ait aidé.
Ben - Rétablir Monica
@Ben Ogorek: (Pour compenser les 25 points de prime perdus, qui disparaissent dans l'éther, il suffit de faire le tour du site et de voter pour 3 réponses. Ensuite, votre karma est restauré!)
Ben - Rétablissez Monica
1
Terminé! (Et je les ai lus en premier).
Ben Ogorek
3

Je peux mal interpréter la question. Je doute que vous puissiez construire l'équation de régression linéaire par régression sur les résidus de la manière spécifiée OP . La méthode OP ne fonctionnerait que si les prédicteurs sont indépendants les uns des autres.

Pour le faire fonctionner, supposez que est le vecteur de résultat, est la matrice du modèle pour les prédicteurs déjà dans le modèle et que vous souhaitez inclure . Vous devez régresser le résidu de la régression de sur contre le résidu de la régression de sur pour obtenir le coefficient OLS pour .yXx1yXx1Xx1

Voici un exemple simple:

set.seed(12345)
n <- 5000
x1 <- rnorm(n)
x2 <- .5 * x1 + rnorm(n) # Correlated predictors
y <- x1 + x2 + rnorm(n)

Ajuster le modèle avec OLS:

coef(lm(y ~ x1 + x2))
(Intercept)          x1          x2 
0.001653707 1.037426007 0.996259446 

Régression sur les résidus:

coef(lm(residuals(lm(y ~ x1)) ~ x2))
(Intercept)          x2 
0.001219232 0.818774874 

C'est faux, vous devez adapter:

coef(lm(residuals(lm(y ~ x1)) ~ residuals(lm(x2 ~ x1))))
           (Intercept) residuals(lm(x2 ~ x1)) 
         -6.707350e-17           9.962594e-01 

Ce qui renvoie le bon coefficient pour x2, cela s'aligne sur les différences attendues de y étant donné les différences de x2, en maintenant x1 constant (en le retirant de y et de x1).

Cela mis à part, dans la régression logistique, ce serait encore plus problématique car les coefficients de régression logistique souffrent d'un biais variable omis même en l'absence de relations confondues, voir ici et ici , donc à moins que tous les prédicteurs du résultat ne soient dans le modèle, on ne peut pas obtenir estimations impartiales des vrais paramètres de la population. De plus, je ne connais aucun résidu du modèle qui pourrait se prêter à une deuxième régression logistique avec toutes les valeurs comprises entre 0 et 1.

Quelques références sur la régression sur les résidus:

  • Maxwell, SE, Delaney, HD et Manheimer, JM (1985). Anova des résidus et Ancova: correction d'une illusion à l'aide de comparaisons de modèles et de graphiques. Journal of Educational Statistics, 10 (3), 197–209. Récupéré de http://journals.sagepub.com/doi/pdf/10.3102/10769986010003197
  • Freckleton, RP (2002), Sur l'utilisation abusive des résidus en écologie: régression des résidus vs régression multiple. Journal of Animal Ecology, 71 , 542-545. doi: 10.1046 / j.1365-2656.2002.00618.x
Heteroskedastic Jim
la source
Je pense que vos deux premiers paragraphes sont légèrement trompeurs / peu clairs ... il serait préférable que vous commenciez par la façon dont vous effectuez réellement la «régression linéaire avec les résidus» .. (+ 1) et que vous pouvez le trouver dans les éléments de l'apprentissage statistique ( régression multiple à partir de la sous-section des régressions simples?)
seanv507
Dans de nombreuses implémentations, vous pouvez passer une prédiction `` de base '' (paramètre de décalage dans glmnet), donc cela pourrait être possible après avoir
régressé les
@ seanv507 Je l'ai déjà inclus dans ma réponse. C'est la dernière démonstration de code que j'ai. Ce n'est tout simplement pas possible de la manière décrite par OP, régressant les résidus sur un prédicteur. Mais je pourrais le réécrire pour montrer la bonne façon dès le début si c'est ce que vous voulez dire.
Heteroskedastic Jim
Oui, je voulais le réécrire pour montrer la bonne façon depuis le début,
seanv507
@ seanv507 ne sais pas ce que vous entendez par vous pouvez passer une prédiction de base? Et régresser les variables dépendantes?
Heteroskedastic Jim
1

J'espère que je n'interprète pas mal votre question, car ma réponse va changer quelque peu le libellé de la façon dont vous avez formulé votre sujet.

Je pense que ce que vous essayez de faire est de construire votre modèle de régression en ajoutant une variable indépendante à la fois. Et, vous faites cela en observant quelle variable prospective a la plus forte corrélation avec le résidu de votre première régression entre Y et X1. Ainsi, la variable avec la corrélation la plus élevée avec ce premier résidu sera X2. Donc, maintenant vous avez un modèle avec deux variables indépendantes X1 et X2. Et, vous continuez ce processus exact pour sélectionner X3, X4, etc. Il s'agit d'un processus progressif.

Vous pouvez faire exactement la même chose avec la régression logistique pour la simple raison que la régression logistique est à peu près une régression OLS où la variable dépendante est le journal de l'impair (ou logit). Mais, que Y soit ou non un logit n'affecte pas le processus pas à pas mentionné ci-dessus.

OLS minimise la somme des erreurs carrées pour correspondre aux données réelles. La régression Logit utilise un processus de probabilité maximale qui génère un ajustement qui n'est pas si différent que OLS. De plus, cela (le mécanisme d'ajustement) ne devrait pas affecter le processus pas à pas qui vous permet de créer votre modèle de régression multiple, que ce dernier soit une régression OLS ou une régression Logit.

Sympa
la source