Wie berechnet man die Anpassungsgüte in glm (R)?

21

Ich habe das folgende Ergebnis aus der Ausführung der glm-Funktion.

Wie kann ich die folgenden Werte interpretieren:

  • Nullabweichung
  • Restabweichung
  • AIC

Haben sie etwas mit der guten Passform zu tun? Kann ich aus diesen Ergebnissen ein Maß für die Anpassungsgüte berechnen, z. B. R-Quadrat oder ein anderes Maß?

Call:
glm(formula = tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
    as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.52628  -0.24781  -0.02916   0.25581   0.48509  

Coefficients:
                     Estimate Std. Error  t value Pr(>|t|)    
(Intercept         -1.305e-01  1.391e-01   -0.938   0.3482    
tmpData$X1         -9.999e-01  1.059e-03 -944.580   <2e-16 ***
tmpData$X2         -1.001e+00  1.104e-03 -906.787   <2e-16 ***
tmpData$X3         -5.500e-03  3.220e-03   -1.708   0.0877 .  
tmpData$X4         -1.825e-05  2.716e-05   -0.672   0.5017    
tmpData$X5          1.000e+00  5.904e-03  169.423   <2e-16 ***
tmpData$X6          1.002e+00  1.452e-03  690.211   <2e-16 ***
tmpData$X7          6.128e-04  3.035e-04    2.019   0.0436 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for gaussian family taken to be 0.08496843)

    Null deviance: 109217.71  on 3006  degrees of freedom
Residual deviance:    254.82  on 2999  degrees of freedom
  (4970 observations deleted due to missingness)
AIC: 1129.8

Number of Fisher Scoring iterations: 2
Lerner
quelle
Mir ist klar, dass dies von SO migriert wurde, wo man normalerweise nicht nach Informationen zu diesen statistischen Begriffen sucht. Sie haben hier eine großartige Ressource! Sehen Sie sich beispielsweise an, was Sie aus einer Suche nach bestimmten Begriffen wie AIC lernen können . Ein wenig Zeit, die Sie damit verbringen, sollte entweder Ihre Frage vollständig beantworten oder Sie zumindest dazu führen, eine spezifischere Frage zu stellen.
whuber
Keine Beziehung zu Gaußschen glms, aber wenn Sie einen Bernoulli-glm für binäre Daten haben, können Sie die verbleibende Abweichung nicht zur Beurteilung der Modellanpassung verwenden, da sich herausstellt, dass die Daten in der Abweichungsformel storniert werden. Jetzt können Sie die Differenz der Restabweichungen in diesem Fall verwenden, um zwei Modelle zu vergleichen, jedoch nicht die Restabweichung selbst.
FisherDisinformation

Antworten:

15

glmR2glmR2R2

RGLM2=1-(ichdich,mOdel2)2/N(ichdich,null2)2/N        .=.        1-SSE/n[mOdel]SST/n[tOteinl]=ROLS2

Es wird diskutiert, wie ein solches Maß auf der LHS interpretiert wird, aber nur, wenn die Modelle von der einfacheren Gaußschen / OLS-Situation abweichen. In GLMs, in denen die Verknüpfungsfunktion möglicherweise nicht wie hier "Identität" ist und der "quadratische Fehler" möglicherweise nicht dieselbe klare Interpretation aufweist, wird das Akaike-Informationskriterium ebenfalls gemeldet, da es allgemeiner zu sein scheint. Es gibt mehrere andere Konkurrenten im GLM GOF-Gewinnspiel ohne klaren Sieger.

R2

DWin
quelle
7
Wo genau steht das "Nagelkerke-Pseudo-" R2 "in der obigen Ausgabe?
Tom
1
Ich spreche von Toms Frage. Wo steht das Nagelkerke-Pseudo "R2" in der Ausgabe, oder wie finde ich es? Ich suche nicht nach mehr Informationen über den Wert, sondern wo ich ihn in der Ausgabe von R finden kann. In der Beispielausgabe der Frage gibt es nichts, was für mich wie ein Anpassungswert im Bereich [0-1] aussieht, also bin ich verwirrt.
Kevin - Reinstate Monica
Siehe stats.stackexchange.com/questions/8511/… und stackoverflow.com/questions/6242818/… ... Ich sehe weder im glm-Objekt noch in der Zusammenfassungsausgabe R ^ 2. Möglicherweise habe ich an die übliche Ausgabe von RMS-Zusammenfassungsfunktionen gedacht, da dies meine bevorzugte Modellierungsumgebung ist.
DWin
9

Verwenden Sie die Nullabweichung und die Restabweichung, insbesondere:

1 - (Residual Deviance/Null Deviance)

Wenn Sie darüber nachdenken, versuchen Sie, das Verhältnis der Abweichung in Ihrem Modell zur Null zu messen. Wie viel besser ist Ihr Modell (Restabweichung) als nur der Achsenabschnitt (Nullabweichung)? Wenn dieses Verhältnis winzig ist, "erklären" Sie den größten Teil der Abweichung in der Null; 1 minus das bringt dir dein R-Quadrat.

In Ihrer Instanz würden Sie .998 erhalten.

Wenn Sie nur das lineare Modell (lm) anstelle von glm aufrufen, erhalten Sie in der Zusammenfassung explizit ein R-Quadrat, und Sie können sehen, dass es dieselbe Zahl ist.

noLongerRandom
quelle
5

Wenn Sie ein binäres Logistikmodell ausführen, können Sie auch den Hosmer Lemeshow Goodness of Fit-Test für Ihr glm () -Modell ausführen. Verwenden der ResourceSelection-Bibliothek.

library(ResourceSelection)

model <- glm(tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
           as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7, family = binomial)

summary(model)
hoslem.test(model$y, model$fitted)
dylanjm
quelle
Beachten Sie jedoch, dass dies nur für binär abhängige Variablenmodelle funktioniert (z. B. wenn OP festgelegt wurde family = "binomial. Das Beispiel für OP ist die lineare Regression.
Matthew,
@Matthew Das ist wahr, es tut mir leid, dass ich das verpasst habe. Ich habe in letzter Zeit so oft binäre logistische Regressionen verwendet, dass mein Gehirn gerade um hoslem.test()
17:42 Uhr
Verständlich :) Ich habe eine Änderung für Ihren Beitrag vorgeschlagen, aber vergessen, den R-Code ebenfalls zu aktualisieren. Vielleicht möchten Sie dies aus Gründen der Klarheit ändern.
Matthew