Wann unterscheiden sich die durch logistische und logitlineare Regression geschätzten Koeffizienten?

11

Bei der Modellierung kontinuierlicher Proportionen (z. B. proportionale Vegetationsbedeckung bei Erhebungsquadraten oder Anteil der Zeit, die an einer Aktivität beteiligt ist) wird die logistische Regression als unangemessen angesehen (z. B. Warton & Hui (2011). Der Arkussinus ist asinin: die Analyse der Proportionen in der Ökologie ). Vielmehr ist eine OLS-Regression nach logit-transformierender Proportionen oder möglicherweise eine Beta-Regression besser geeignet.

Unter welchen Bedingungen unterscheiden sich die Koeffizientenschätzungen der logitlinearen Regression und der logistischen Regression bei Verwendung von R lmund glm?

Nehmen Sie die folgenden simulierten Daten - Set, wo wir davon ausgehen können , dass punsere Rohdaten (dh kontinuierliche Proportionen, anstatt darstellt ):nsuccessesntricheinls

set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)

plot(p ~ x, ylim=c(0, 1))

Geben Sie hier die Bildbeschreibung ein

Wenn wir ein logit-lineares Modell anpassen, erhalten wir:

summary(lm(logit.p ~ x))
## 
## Call:
## lm(formula = logit.p ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.64702 -0.13747 -0.00345  0.15077  0.73148 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.868148   0.006579   131.9   <2e-16 ***
## x           0.967129   0.006360   152.1   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared:  0.9586, Adjusted R-squared:  0.9586 
## F-statistic: 2.312e+04 on 1 and 998 DF,  p-value: < 2.2e-16

Logistische Regression ergibt:

summary(glm(p ~ x, family=binomial))
## 
## Call:
## glm(formula = p ~ x, family = binomial)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.32099  -0.05475   0.00066   0.05948   0.36307  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  0.86242    0.07684   11.22   <2e-16 ***
## x            0.96128    0.08395   11.45   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 176.1082  on 999  degrees of freedom
## Residual deviance:   7.9899  on 998  degrees of freedom
## AIC: 701.71
## 
## Number of Fisher Scoring iterations: 5
## 
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!

Werden die Schätzungen des logistischen Regressionskoeffizienten in Bezug auf die Schätzungen des logit-linearen Modells immer unvoreingenommen sein?

jbaums
quelle
1
Beachten Sie eine theoretische Unterscheidung: Bei einem Binomialmodell, das auf Proportionen angewendet wird, nehmen Sie an, dass Versuche hinter jedem Anteil unabhängig sind 0.1, dh hinter dem Anteil "gab" beispielsweise 10 unabhängige Versuche, die einen Erfolg erbrachten. Für ein lineares Modell 0.1ist es einfach ein Wert, ein beliebiges Maß.
ttnphns
1
Ich bin etwas zweifelhaft, inwieweit es überhaupt Sinn macht, ein Binomialmodell auf Proportionen anzuwenden, wie es das OP tut. Dies family=binomialimpliziert schließlich, dass die abhängige Variable Binomialzahlen darstellt - keine Proportionen. Und wie würde man glmwissen, dass 0.1das wie "eins von zehn" und nicht "zehn von hundert" ist? Der Anteil selbst unterscheidet sich zwar nicht, hat jedoch erhebliche Auswirkungen auf die Berechnung des Standardfehlers.
Wolfgang
1
@ Wolfgang - Mir ist klar (und ich erwähne in meinem Beitrag), dass es unangemessen ist, kontinuierliche Proportionen dieser Art mit logistischer Regression zu modellieren. Ich war mehr daran interessiert, ob / wann / wie sich die Punktschätzungen der Koeffizienten unterscheiden.
Jbaums
2
@ Wolfgang, du hast recht, aber es kommt auf die Implementierung an. Einige Programme ermöglichen die Eingabe von Proportionen als DV und 1s anstelle der Basen, während der Datensatz mit den realen Basen gewichtet wird. Sieht also so aus, als würden Sie Proportionen analysieren, nicht zählen.
ttnphns
1
@ttnphns In ähnlicher Weise kann man in R Proportionen als DV eingeben und einen Vektor mit einer Anzahl von Versuchen an das Argument liefern weights(obwohl dies nicht das ist, was ich in meinem Beitrag versucht habe, in dem ich die Daten absichtlich falsch analysiert habe).
Jbaums

Antworten:

5

Vielleicht kann dies auf die "umgekehrte" Weise beantwortet werden - dh wann sind sie gleich?

Der in der logistischen Regression verwendete IRLS-Algorithmus bietet hier einige Einblicke. Bei der Konvergenz können Sie die Modellkoeffizienten wie folgt ausdrücken:

β^lÖGichstichc=(X.T.W.X.)- -1X.T.W.z

W.W.ichich=nichpich(1- -pich)zzich=xichT.β^lÖGichstichc+yich- -nichpichnichpich(1- -pich)veinr(zich- -xichT.β^)=W.ichich- -1zβz

Log(y)- -Log(n- -y)y(1- -y/.n)ynlm ()

Wahrscheinlichkeitslogik
quelle
Beeindruckend. Könnten Sie bitte Ihren letzten Satz anhand des R-Codes anhand der angegebenen simulierten Daten anzeigen? Vielen Dank!
JellicleCat
2

Bitte zögern Sie nicht, darauf hinzuweisen, wenn ich falsch liege.

Erstens habe ich so gesagt, in der zweiten Passform rufen Sie glmfalsch an! Um eine logistische Regression durch anzupassen glm, sollte die Antwort eine (binäre) kategoriale Variable sein, aber Sie verwenden peine numerische Variable! Ich muss sagen, es warningist einfach zu sanft, um Benutzer über ihre Fehler zu informieren ...

Und wie zu erwarten, erhalten Sie ähnliche Schätzungen der Koeffizienten durch die beiden Anpassungen nur durch Zufall. Wenn Sie ersetzen logit.p <- a + b*x + rnorm(1000, 0, 0.2)mit logit.p <- a + b*x + rnorm(1000, 0, 0.7), dh die Varianz der Fehlerterm von Wechsel werden, dann werden die Ergebnisse der beiden Anfälle stark unterschiedlich, obwohl der zweite Sitz ( ) überhaupt sinnlos ist ...0.20.7glm

Die logistische Regression wird für die (binäre) Klassifizierung verwendet, daher sollten Sie wie oben angegeben eine kategoriale Antwort erhalten. Zum Beispiel sollten die Beobachtungen der Antwort eine Reihe von "Erfolg" oder "Misserfolg" sein und nicht eine Reihe von "Wahrscheinlichkeit (Häufigkeit)" wie in Ihren Daten. Für einen bestimmten kategorialen Datensatz können Sie nur eine Gesamthäufigkeit für "Antwort = Erfolg" oder "Antwort = Fehler" anstelle einer Reihe berechnen. In den von Ihnen generierten Daten gibt es überhaupt keine kategoriale Variable, sodass keine logistische Regression angewendet werden kann. Jetzt können Sie sehen, dass die logit-lineare Regression (wie Sie sie nennen), obwohl sie ein ähnliches Erscheinungsbild hat, nur ein gewöhnliches lineares REGRESSION-Problem ist (dh die Antwort ist eine numerische Variable), das die transformierte Antwort verwendet (genau wie die sqr- oder sqrt-Transformation).

Typischerweise wird die lineare Regression durch gewöhnliche kleinste Quadrate (OLS) angepasst, wodurch der Quadratverlust für das Regressionsproblem minimiert wird. Die logistische Regression wird durch die Maximum Likelihood Estimation (MLE) angepasst, wodurch der Log-Verlust für Klassifizierungsprobleme minimiert wird. Hier ist eine Referenz zu Verlustfunktionen Verlustfunktion, Deva Ramanan. Im ersten Beispiel betrachten Sie pals Antwort und passen ein gewöhnliches lineares Regressionsmodell über OLS an. Im zweiten Beispiel geben Sie an, Rdass Sie ein logistisches Regressionsmodell von anpassen. Passen Sie family=binomialalso Rdas Modell von MLE an. Wie Sie sehen können, erhalten Sie im ersten Modell den T-Test und den F-Test, die klassische Ausgaben von OLS sind, die für die lineare Regression geeignet sind. Im zweiten Modell basiert der Signifikanztest des Koeffizienten auf zstatttDies ist die klassische Ausgabe der MLE-Anpassung der logistischen Regression.

JellicleCat
quelle
Schöne Frage (+1) und nette Antwort (+1). Ich habe etwas Neues gelernt.
Aleksandr Blekh
1
Ich würde zustimmen. Dies logistic regression is a CLASSIFICATION problemkann jedoch in dem Sinne falsch interpretiert werden, dass es nur so lange wert ist, wie es gut klassifiziert werden kann. Was falsch zu denken wäre, weil ein Modell theoretisch "optimal" ist und anhand dessen, wie es Wahrscheinlichkeiten modelliert, manchmal schlechter klassifiziert werden kann als ein nicht so gutes Modell.
ttnphns
@ttnphns Danke für deinen Kommentar! Ich denke, es ist eine Konvention, es als Klassifizierungsproblem zu bezeichnen, wenn die Antwort kategorisch ist. Ob das Modell eine gute Leistung erbringt oder nicht, ist wichtig, hat jedoch möglicherweise keinen Einfluss auf die Benennung.
JellicleCat
Danke @JellicleCat - Ich bin mir bewusst, dass Proportionsdaten dieses Typs nicht für die logistische Regression geeignet sind, war aber neugierig auf die Umstände, unter denen sich Koeffizientenschätzungen von denen von OLS mit logit-transformierten Proportionen unterscheiden würden. Vielen Dank für Ihr Beispiel - es ist klar, dass die Koeffizientenschätzungen mit zunehmender Varianz voneinander abweichen.
Jbaums