Pseudo-R-Quadrat-Formel für GLMs


Antworten:


22

Es gibt eine große Anzahl von Pseudo- für GLiMs. Die ausgezeichnete UCLA Statistiken Hilfe - Website hat einen umfassenden Überblick über sie hier . Die, die Sie auflisten, heißt McFaddens Pseudo- . In Bezug auf die Typologie der UCLA ist es wie in dem Sinne, dass es die Verbesserung des angepassten Modells gegenüber dem Nullmodell indiziert. Einige statistische Programme, insbesondere SPSS, drucken, wenn ich mich recht entsinne, standardmäßig McFaddens Pseudo- mit den Ergebnissen einiger Analysen wie der logistischen Regression aus. Ich vermute, dass dies durchaus üblich ist, obwohl Cox & Snell und Nagelkerke Pseudo- s kann noch mehr sein. McFaddens Pseudo- jedoch nicht alle Eigenschaften vonR 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2 R 2R2R2R2R2R2R2R2 (kein Pseudo- ). Wenn jemand daran interessiert ist , ein Modell mit einem Pseudo- zu verstehen, empfehle ich nachdrücklich, diesen hervorragenden CV-Thread zu lesen: Welche Pseudo- Kennzahl ist für die logistische Regression zu melden (Cox & Snell oder Nagelkerke)? (Für das, was es wert ist, ist selbst schlüpfriger als die Leute glauben, eine großartige Demonstration davon kann in @ whubers Antwort hier gesehen werden: Ist nützlich oder gefährlich? ) R2R2R2R2R2


Ich frage mich, ob all diese Pseudo-R2s speziell für die logistische Regression entwickelt wurden. Oder verallgemeinern sie auch auf Poisson und Gamma-Glm? Ich fand unterschiedliche R2-Formeln für jede mögliche GLM inColin Cameron, A., & Windmeijer, F. A. (1997). An R-squared measure of goodness of fit for some common nonlinear regression models. Journal of Econometrics, 77(2), 329-342.
Jens

@Jens, einige von ihnen scheinen LR-spezifisch zu sein, andere verwenden die Abweichung, die Sie von jedem GLiM erhalten können.
gung - Wiedereinsetzung von Monica

1
Beachten Sie, dass McFaddens oft als log-Wahrscheinlichkeit definiert wird, die nur bis zu einer additiven Konstante definiert wird, und nicht als Abweichung wie in der Frage des OP. Ohne Angabe der Additivkonstante ist McFaddens nicht genau definiert. Die Abweichung ist eine eindeutige Wahl der additiven Konstante, die meines Erachtens die geeignetste Wahl ist, wenn die Verallgemeinerung mit aus linearen Modellen vergleichbar sein soll . R 2 R 2R2R2R2
NRH

Angesichts der Tatsache, dass GLMs unter Verwendung iterativ neu gewichteter kleinster Quadrate, wie in bwlewis.github.io/GLM , geeignet sind , wäre der eigentliche Einwand, ein gewichtetes R2 auf der GLM-Verbindungsskala unter Verwendung von 1 / Varianzgewichten als Gewichten (die glm zurückgibt) zu berechnen in den Schlitz Gewichte in einem glm fit)?
Tom Wenseleers

@TomWenseleers, Sie können tun, was Sie möchten, aber die grundlegenden Argumente sind in dem von mir verlinkten Thread "Welches Pseudo- ... zu melden ...", insbesondere die Antwort von Wahrscheinlichkeitslogik . R2
gung - Wiedereinsetzung von Monica

9

R gibt Null und Restabweichung in der Ausgabe an, glmdamit Sie genau diese Art von Vergleich durchführen können (siehe die letzten beiden Zeilen unten).

> x = log(1:10)

> y = 1:10

> glm(y ~ x, family = poisson)

>Call:  glm(formula = y ~ x, family = poisson)

Coefficients:
(Intercept)            x  
  5.564e-13    1.000e+00  

Degrees of Freedom: 9 Total (i.e. Null);  8 Residual
Null Deviance:      16.64 
Residual Deviance: 2.887e-15    AIC: 37.97

Sie können diese Werte auch mit model$null.devianceund aus dem Objekt ziehenmodel$deviance


Ah, okay. Ich beantwortete nur die Frage wie geschrieben. Ich hätte mehr hinzugefügt, bin mir aber nicht 100% sicher, wie die Nullabweichung selbst berechnet wird (dies hat etwas mit der Log-Wahrscheinlichkeit eines gesättigten Modells zu tun, aber ich erinnere mich nicht genug an die Details zur Sättigung, um zuversichtlich zu sein dass ich gute Intuitionen geben könnte)
David J. Harris

Ich habe es nicht in der GLM-Ausgabe (Familienbesitz oder Quasipoisson).
Neugierig

@ Tomas sehen meine Änderungen. Ich weiß nicht, ob ich mich vor 2 Jahren geirrt habe oder ob sich die Standardausgabe seitdem geändert hat.
David J. Harris

Tomas die Informationen werden von produziert summary.glm. Ob diese Definition eines gebräuchlich ist, würde eine Umfrage erfordern. Ich würde sagen, es ist nicht besonders selten, da ich es schon einmal gesehen habe, aber nicht etwas, das notwendigerweise weit verbreitet ist. R2
Glen_b

1
Lies die Frage. Glaubst du, du antwortest? Die Frage lautete nicht "Woher bekomme ich die Komponenten der Formel?".
Neugierig

6

Die Formel, die Sie vorgeschlagen haben, wurde von Maddala (1983) und Magee (1990) vorgeschlagen, um das Quadrat R auf dem logistischen Modell zu schätzen. Daher denke ich nicht, dass es für alle GLM-Modelle anwendbar ist (siehe das Buch Modern Regression Methods von Thomas P. Ryan auf Seite 266).

Wenn Sie einen gefälschten Datensatz erstellen, werden Sie feststellen, dass es das Quadrat R unterschätzt ... für Gaußschen Glanz pro Beispiel.

Ich denke, für ein Gaußsches Glm kann man die grundlegende (lm) R-Quadrat-Formel verwenden ...

R2gauss<- function(y,model){
    moy<-mean(y)
    N<- length(y)
    p<-length(model$coefficients)-1
    SSres<- sum((y-predict(model))^2)
    SStot<-sum((y-moy)^2)
    R2<-1-(SSres/SStot)
    Rajust<-1-(((1-R2)*(N-1))/(N-p-1))
    return(data.frame(R2,Rajust,SSres,SStot))
}

Und für die logistische (oder binomische Familie in r) würde ich die von Ihnen vorgeschlagene Formel verwenden ...

    R2logit<- function(y,model){
    R2<- 1-(model$deviance/model$null.deviance)
    return(R2)
    }

Bisher habe ich für poisson glm die Gleichung aus diesem Beitrag verwendet.

https://stackoverflow.com/questions/23067475/how-do-i-obtain-pseudo-r2-measures-instata-when-using-glm-regression

Es gibt auch einen großartigen Artikel über Pseudo R2, der über Researchs Gates verfügbar ist ... hier ist der Link:

https://www.researchgate.net/publication/222802021_Pseudo_R-quared_measures_for_Poisson_regression_models_with_over-_or_underdispersion

Ich hoffe diese Hilfe.


Passen Sie einfach ein GLM-Modell mit family = gaussian (link = identity) an und überprüfen Sie den Wert von 1-summary(GLM)$deviance/summary(GLM)$null.devianceund Sie werden sehen, dass das R2 mit dem R2-Wert einer regulären OLS-Regression übereinstimmt, sodass die obige Antwort korrekt ist! Siehe auch meinen Beitrag hier - stats.stackexchange.com/questions/412580/…
Tom Wenseleers

3

Das R-Paket modEvAberechnet das D-Quadrat wie 1 - (mod$deviance/mod$null.deviance)von David J. Harris erwähnt

set.seed(1)
data <- data.frame(y=rpois(n=10, lambda=exp(1 + 0.2 * x)), x=runif(n=10, min=0, max=1.5))

mod <- glm(y~x,data,family = poisson)

1- (mod$deviance/mod$null.deviance)
[1] 0.01133757
library(modEvA);modEvA::Dsquared(mod)
[1] 0.01133757

Das D-Quadrat oder die erklärte Abweichung des Modells wird in (Guisan & Zimmermann 2000) https://doi.org/10.1016/S0304-3800(00)00354-9 vorgestellt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.