Regression logistischer Regressionsreste auf anderen Regressoren

9

Wenn die OLS-Regression auf die kontinuierliche Antwort angewendet wird, kann die multiple Regressionsgleichung aufgebaut werden, indem nacheinander Regressionen der Residuen auf jeder Kovariate ausgeführt werden. Meine Frage ist, gibt es eine Möglichkeit, dies mit logistischer Regression über logistische Regressionsreste zu tun ?

Pr(Y=1|x,z)xR1R1z

Ben Ogorek
quelle
Ich vermute, dass dies aus dem gleichen Grund nicht funktionieren wird, aus dem REML nicht auf GLMs ausgedehnt wird. Die Magie der kleinsten Quadrate geht verloren. Ich frage mich, ob es in einem vollständig bayesianischen Kontext funktionieren würde, in dem Sie die latente Variable als Teil der Sim abgetastet haben. Der Grund, warum ich dies tun wollte, war, dass ich glmnet über verschiedene Klassen von Variablen ausführen und unterschiedliche Mengen an Regularisierung für die Klassen erhalten konnte - natürlich gibt es andere Möglichkeiten, um diesen Effekt zu erzielen.
Ben Ogorek
Ist dies der Verwendung eines Rückanpassungsalgorithmus für die logistische Regression sehr ähnlich?
usεr11852
Ich habe dies in einem Kommentar unten erwähnt, aber in vielen Implementierungen können Sie eine 'Basis'-Vorhersage (Offset-Parameter in glmnet) übergeben, sodass dies möglicherweise nach der Regression der abhängigen Vars möglich wäre. @ BenOgorek möchten Sie den Zweck im Haupttext
hinzufügen
@ seanv507 Ich mache mir Sorgen, dass das Hinzufügen des Regularisierungsteils den Umfang zu stark erhöhen würde, insbesondere jetzt, wo es unten einige gute Antworten gibt. Nach Abschluss dieser Fragen und Antworten werde ich eine separate Frage erstellen, bei der Offset tatsächlich unser Freund sein könnte.
Ben Ogorek
Dies ist keine Antwort, aber ich habe nicht genug Ruf, um einen Kommentar abzugeben. Die Frage besteht darin, das Residuum auf dem anderen Regressor (dh Prädiktoren ) zu regressieren , anstatt das Residuum auf Residuen zu regressieren . Die Antworten verwirren mich.
T Wu

Antworten:

3

Bei der standardmäßigen multiplen linearen Regression ergibt sich die Fähigkeit, Schätzungen der gewöhnlichen kleinsten Quadrate (OLS) in zwei Schritten anzupassen, aus dem Frisch-Waugh-Lovell-Theorem . Dieser Satz zeigt, dass die Schätzung eines Koeffizienten für einen bestimmten Prädiktor in einem multiplen linearen Modell gleich der Schätzung ist, die durch Regression der Antwortreste (Residuen aus einer Regression der Antwortvariablen gegen die anderen erklärenden Variablen) gegen die Prädiktorreste (Residuen) erhalten wird aus einer Regression der Prädiktorvariablen gegen die anderen erklärenden Variablen). Offensichtlich suchen Sie nach einer Analogie zu diesem Theorem, die in einem logistischen Regressionsmodell verwendet werden kann.

Bei dieser Frage ist es hilfreich, an die latent-variable Charakterisierung der logistischen Regression zu erinnern :

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

Bei dieser Charakterisierung des Modells ist die latente Antwortvariable nicht beobachtbar, und stattdessen beobachten wir den Indikator der uns sagt, ob die latente Antwort positiv ist oder nicht. Diese Form des Modells ähnelt der multiplen linearen Regression, außer dass wir eine geringfügig andere Fehlerverteilung verwenden (die logistische Verteilung anstelle der Normalverteilung), und was noch wichtiger ist, wir beobachten nur einen Indikator, der anzeigt, ob die latente Antwort positiv ist oder nicht .YiYi

Dies führt zu einem Problem bei jedem Versuch, eine zweistufige Anpassung des Modells zu erstellen. Dieses Frisch-Waugh-Lovell-Theorem hängt von der Fähigkeit ab, Zwischenreste für die Antwort und den Prädiktor von Interesse zu erhalten, die gegen die anderen erklärenden Variablen genommen werden. Im vorliegenden Fall können wir nur Residuen aus einer "kategorisierten" Antwortvariablen erhalten. Um einen zweistufigen Anpassungsprozess für die logistische Regression zu erstellen, müssen Sie Antwortreste aus dieser kategorisierten Antwortvariablen verwenden, ohne auf die zugrunde liegende latente Antwort zugreifen zu müssen. Dies scheint mir eine große Hürde zu sein, und obwohl dies keine Unmöglichkeit darstellt, ist es unwahrscheinlich, dass das Modell in zwei Schritten angepasst werden kann.

Im Folgenden werde ich Ihnen einen Bericht darüber geben, was erforderlich wäre, um einen zweistufigen Prozess für eine logistische Regression zu finden. Ich bin mir nicht sicher, ob es eine Lösung für dieses Problem gibt oder ob es einen Beweis für die Unmöglichkeit gibt, aber das Material hier sollte Ihnen helfen, zu verstehen, was erforderlich ist.


Wie würde eine zweistufige logistische Regressionsanpassung aussehen? Angenommen, wir möchten eine zweistufige Anpassung für ein logistisches Regressionsmodell erstellen, bei dem die Parameter bei jedem Schritt über die Maximum-Likelihood-Schätzung geschätzt werden. Wir möchten, dass der Prozess einen Zwischenschritt umfasst, der zu den folgenden zwei Modellen passt:

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

Wir schätzen die Koeffizienten dieser Modelle (über MLEs) und dies ergibt angepasste Zwischenwerte . Dann passen wir im zweiten Schritt das Modell an:α^0,α^X,γ^0,γ^X

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

Wie angegeben, hat die Prozedur viele feste Elemente, aber die Dichtefunktionen und in diesen Schritten bleiben nicht spezifiziert (obwohl es sich um Verteilungen mit dem Mittelwert Null handeln sollte, die nicht von den Daten abhängen). Um eine zweistufige Anpassungsmethode unter diesen Bedingungen zu erhalten, müssen wir und auswählen, um sicherzustellen, dass der MLE für in diesem zweistufigen Modellanpassungsalgorithmus der gleiche ist wie der MLE, der aus dem einstufigen logistischen Regressionsmodell erhalten wird über.gfgfβZ

Um zu sehen, ob dies möglich ist, schreiben wir zuerst alle geschätzten Parameter aus dem ersten Schritt:

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

Sei so dass die Log-Likelihood-Funktion für den zweiten Schritt lautet:ϵi=yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)

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

Wir fordern, dass der Maximierungswert dieser Funktion der MLE des multiplen logistischen Regressionsmodells ist. Mit anderen Worten, wir benötigen:

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

Ich überlasse es anderen, festzustellen, ob es eine Lösung für dieses Problem oder einen Beweis dafür gibt, dass es keine Lösung gibt. Ich vermute, dass die "Kategorisierung" der latenten Antwortvariablen in einer logistischen Regression es unmöglich macht, einen zweistufigen Prozess zu finden.

Ben - Monica wieder einsetzen
quelle
1
Hallo @Ben, danke, dass du mir das Frisch-Waugh-Lovell-Theorem beigebracht hast. Ich habe es auf das Kopfgeld geblasen - dachte "abgelaufen" bedeutete, dass es einfach nicht mehr beworben wurde. Das tut mir leid. Ich mag Ihre wahrscheinlichkeitsbasierte Idee. Könnte es ausprobieren oder ähnliches und unten posten.
Ben Ogorek
@ Ben Ogorek: Keine Sorge um das Kopfgeld. Ich bin froh, dass die Antwort geholfen hat.
Ben - Reinstate Monica
@ Ben Ogorek: (Um die verlorenen 25 Kopfgeldpunkte auszugleichen, die im Äther verschwinden, gehen Sie einfach auf der Website herum und stimmen Sie 3 Antworten ab. Dann ist Ihr Karma wiederhergestellt!)
Ben - Reinstate Monica
1
Getan! (Und ich habe sie zuerst gelesen).
Ben Ogorek
3

Ich kann die Frage falsch interpretieren. Ich bezweifle, dass Sie die lineare Regressionsgleichung durch Regression auf Residuen auf die von OP angegebene Weise aufbauen können . Die Methode von OP würde nur funktionieren, wenn die Prädiktoren unabhängig voneinander sind.

Angenommen, ist der Ergebnisvektor, ist die Modellmatrix für die bereits im Modell enthaltenen Prädiktoren und Sie möchten einschließen . Sie müssen den Rest der Regression von auf gegen den Rest der Regression von auf zurückführen, um den OLS-Koeffizienten für .yXx1yXx1Xx1

Hier ist ein einfaches Beispiel:

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

Modell mit OLS montieren:

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

Regression auf Residuen:

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

Das ist falsch, du musst passen:

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

Was den richtigen Koeffizienten für x2 zurückgibt, stimmt mit den erwarteten Unterschieden in y bei gegebenen Unterschieden in x2 überein, wobei x1 konstant gehalten wird (wobei sowohl y als auch x1 herausgenommen werden).

Abgesehen davon wäre es bei der logistischen Regression sogar noch problematischer, da die logistischen Regressionskoeffizienten selbst ohne verwirrende Beziehungen unter einer ausgelassenen variablen Verzerrung leiden, siehe hier und hier . Wenn also nicht alle Prädiktoren des Ergebnisses im Modell enthalten sind, kann man nicht erhalten unvoreingenommene Schätzungen der wahren Populationsparameter. Darüber hinaus sind mir keine Residuen aus dem Modell bekannt, die einer zweiten logistischen Regression mit allen Werten zwischen 0 und 1 zugänglich wären.

Einige Hinweise zur Regression von Residuen:

  • Maxwell, SE, Delaney, HD & Manheimer, JM (1985). Anova von Residuen und Ancova: Korrigieren einer Illusion mithilfe von Modellvergleichen und Grafiken. Journal of Educational Statistics, 10 (3), 197–209. Abgerufen von http://journals.sagepub.com/doi/pdf/10.3102/10769986010003197
  • Freckleton, RP (2002), Zum Missbrauch von Residuen in der Ökologie: Regression von Residuen vs. multiple Regression. Journal of Animal Ecology, 71 , 542 & ndash; 545. doi: 10.1046 / j.1365-2656.2002.00618.x
Heteroskedastischer Jim
quelle
Ich denke, Ihre ersten Absätze sind leicht irreführend / unklar ... es wäre besser, wenn Sie damit beginnen würden, wie Sie tatsächlich "lineare Regression mit Residuen" durchführen. (+ 1) und Sie finden sie in Elementen des statistischen Lernens ( multiple Regression aus einzelnen Regressionen Unterabschnitt?)
Seanv507
In vielen Implementierungen können Sie eine 'Basis'-Vorhersage übergeben (Offset-Parameter in glmnet). Dies wäre also möglicherweise möglich, nachdem Sie die abhängigen Variablen zurückgesetzt haben
seanv507
@ seanv507 Ich habe es bereits in meine Antwort aufgenommen. Es ist die letzte Code-Demonstration, die ich habe. In der beschriebenen OP ist es einfach nicht möglich, Residuen auf einem Prädiktor zu regressieren. Aber ich könnte es umschreiben, um von Anfang an den richtigen Weg zu zeigen, wenn Sie das meinen.
Heteroskedastic Jim
Ja, ich wollte es umschreiben, um von Anfang an den richtigen Weg zu zeigen
seanv507
@ seanv507 Sie wissen nicht, was Sie damit meinen, dass Sie eine Basisvorhersage bestehen können? Und die abhängigen Variablen zurückführen?
Heteroskedastic Jim
1

Ich hoffe, ich interpretiere Ihre Frage nicht falsch, da meine Antwort den Wortlaut Ihrer Formulierung etwas ändern wird.

Ich denke, Sie versuchen, Ihr Regressionsmodell zu erstellen, indem Sie jeweils eine unabhängige Variable hinzufügen. Und Sie tun dies, indem Sie beobachten, welche prospektive Variable die höchste Korrelation mit dem Rest Ihrer ersten Regression zwischen Y und X1 aufweist. Die Variable mit der höchsten Korrelation mit diesem ersten Residuum ist also X2. Jetzt haben Sie ein Modell mit zwei unabhängigen Variablen X1 und X2. Und Sie setzen diesen genauen Prozess fort, um X3, X4 usw. auszuwählen. Dies ist ein schrittweiser Vorwärtsprozess.

Sie können genau dasselbe mit der logistischen Regression tun, aus dem einfachen Grund, dass die logistische Regression so ziemlich eine OLS-Regression ist, bei der die abhängige Variable das Protokoll der ungeraden (oder logit) ist. Ob Y ein Logit ist oder nicht, hat jedoch keinen Einfluss auf den oben erwähnten schrittweisen Vorwärtsprozess.

OLS minimiert die Summe der quadratischen Fehler, um sie an die tatsächlichen Daten anzupassen. Die Logit-Regression verwendet einen Maximum-Likelihood-Prozess, der eine Anpassung generiert, die sich nicht wesentlich von OLS unterscheidet. Auch dies (der Anpassungsmechanismus) sollte sich nicht auf den schrittweisen Vorwärtsprozess auswirken, mit dem Sie Ihr Modell für multiple Regression erstellen können, unabhängig davon, ob es sich um eine OLS-Regression oder eine Logit-Regression handelt.

Sympa
quelle