Valutazione della regressione logistica e interpretazione di Hosmer-Lemeshow Goodness of Fit


24

Come tutti sappiamo, ci sono 2 metodi per valutare il modello di regressione logistica e stanno testando cose molto diverse

  1. Potenza predittiva:

    Ottieni una statistica che misura la capacità di prevedere la variabile dipendente in base alle variabili indipendenti. I noti Pseudo R ^ 2 sono McFadden (1974) e Cox e Snell (1989).

  2. Statistiche di bontà di adattamento

    Il test sta dicendo se potresti fare ancora meglio rendendo il modello più complicato, che sta effettivamente testando se ci sono non linearità o interazioni.

    Ho implementato entrambi i test sul mio modello, che ha già aggiunto quadratica e interazione
    :

    >summary(spec_q2)
    
    Call:
    glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + 
     I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, 
     family = binomial())
    
     Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
    (Intercept)  0.955431   8.838584   0.108   0.9139    
    Top          0.311891   0.189793   1.643   0.1003    
    Right       -1.015460   0.502736  -2.020   0.0434 *  
    Left        -0.962143   0.431534  -2.230   0.0258 *  
    Bottom       0.198631   0.157242   1.263   0.2065    
    I(Top^2)    -0.003213   0.002114  -1.520   0.1285    
    I(Left^2)   -0.054258   0.008768  -6.188 6.09e-10 ***
    I(Bottom^2)  0.003725   0.001782   2.091   0.0366 *  
    Top:Right    0.012290   0.007540   1.630   0.1031    
    Top:Bottom   0.004536   0.002880   1.575   0.1153    
    Right:Left  -0.044283   0.015983  -2.771   0.0056 ** 
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
    (Dispersion parameter for binomial family taken to be 1)
    Null deviance: 3350.3  on 2799  degrees of freedom
    Residual deviance: 1984.6  on 2789  degrees of freedom
    AIC: 2006.6
    

e la potenza prevista è la seguente, il MaFadden è 0,4004 e il valore tra 0,2 ~ 0,4 dovrebbe essere preso per presentare un ottimo adattamento del modello (Louviere et al (2000), Domenich e McFadden (1975)):

 > PseudoR2(spec_q2)
    McFadden     Adj.McFadden        Cox.Snell       Nagelkerke McKelvey.Zavoina           Effron            Count        Adj.Count 
   0.4076315        0.4004680        0.3859918        0.5531859        0.6144487        0.4616466        0.8489286        0.4712500 
         AIC    Corrected.AIC 
2006.6179010     2006.7125925 

e le statistiche sulla bontà di adattamento:

 > hoslem.test(result,phat,g=8)

     Hosmer and Lemeshow goodness of fit (GOF) test

  data:  result, phat
  X-squared = 2800, df = 6, p-value < 2.2e-16

A quanto ho capito, GOF sta effettivamente testando le seguenti ipotesi null e alternative:

  H0: The models does not need interaction and non-linearity
  H1: The models needs interaction and non-linearity

Dato che i miei modelli hanno aggiunto interazione, la non linearità già e il valore p mostra che H0 dovrebbe essere respinto, quindi sono giunto alla conclusione che il mio modello ha bisogno di interazione, anzi la non linearità. Spero che la mia interpretazione sia corretta e grazie per qualsiasi consiglio in anticipo, grazie.



2
Meglio guardare la tabella sottostante che il valore p per il test HL. E anche a trame dei residui del tuo modello. Questo mostrerà dove si trova il problema.
probabilityislogic

Risposte:


26

Ci sono diversi problemi da affrontare.

  • R2 da solo non misura mai la bontà di adattamento; misurano principalmente la discriminazione predittiva. La bontà di adattamento viene solo dal confronto di con da un modello più riccoR2R2
  • Il test di Hosmer-Lemeshow è per l'errore di calibrazione generale, non per una particolare mancanza di adattamento come gli effetti quadratici. Non tiene adeguatamente conto del sovradimensionamento, è arbitrario nella scelta dei bin e del metodo di calcolo dei quantili e spesso ha un potere troppo basso.
  • Per questi motivi il test di Hosmer-Lemeshow non è più raccomandato. Hosmer et al hanno un test dn omnibus di adattamento migliore, implementato nella funzione rmspacchetto R.residuals.lrm
  • Nel tuo caso, la bontà dell'adattamento può essere valutata testando congiuntamente (in un test "a blocchi") il contributo di tutti i termini quadrati e di interazione.
  • Ma raccomando di specificare il modello per aumentare la probabilità di adattarsi in anticipo (soprattutto per quanto riguarda le assunzioni di linearità rilassanti utilizzando le spline di regressione) e di utilizzare il bootstrap per stimare il sovradimensionamento e ottenere una curva di calibrazione regolare ad alta risoluzione corretta da adattamento eccessivo per verificare l'assoluto precisione. Questi sono fatti usando il rmspacchetto R.

Per quanto riguarda l'ultimo punto, preferisco la filosofia secondo cui i modelli sono flessibili (in quanto limitati dalle dimensioni del campione, comunque) e che ci concentriamo più sull'adattamento che sulla "mancanza di adattamento".


2
Solo una cosa: la maggior parte delle misure di sta confrontando il modello montato con un "modello perfetto" che ottiene la previsione giusta per ogni record, senza effettuare una regolazione df / overfitting. +1 da me. R2
probabilityislogic

Sì, è solo che non speriamo mai di essere perfetti, quindi non definirei mancanza di adattamento. 1R2
Frank Harrell,

4

Da Wikipedia :

Il test valuta se i tassi di eventi osservati corrispondono o meno ai tassi di eventi previsti nei sottogruppi della popolazione modello. Il test di Hosmer – Lemeshow identifica in modo specifico i sottogruppi come i decili dei valori di rischio adattati. I modelli per i quali i tassi di eventi previsti e osservati nei sottogruppi sono simili sono chiamati ben calibrati.

Il suo significato: dopo aver creato il punteggio del modello del modello y, si desidera verificare se è distribuito su 10 decili in modo simile ai tassi di eventi reali.

Quindi saranno le ipotesi

  • H0 : i tassi di eventi effettivi e previsti sono simili tra 10 decili
  • H1 : sono tutti uguali

Quindi se p -value è inferiore a .05, non sono ben distribuiti ed è necessario perfezionare il modello.

Spero che questo risponda ad alcune delle tue domande.


3

Questo è piuttosto discutibile seguendo la risposta di @ FrankHarrell, ma un fan del test H – L dedurrebbe da quel risultato che nonostante l'inclusione di termini quadratici e alcune interazioni del 2 ° ordine, il modello ha ancora mostrato una significativa mancanza di adattamento, e che forse un modello ancora più complesso sarebbe appropriato. Stai testando l'adattamento esattamente del modello specificato, non del modello più semplice del 1 ° ordine.

† Non è un modello completo del 2 ° ordine: sono necessarie tre interazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.