Évaluation de la régression logistique et de l'interprétation de la qualité de l'ajustement Hosmer-Lemeshow

24

Comme nous le savons tous, il existe 2 méthodes pour évaluer le modèle de régression logistique et elles testent des choses très différentes

  1. Puissance prédictive:

    Obtenez une statistique qui mesure dans quelle mesure vous pouvez prédire la variable dépendante en fonction des variables indépendantes. Les Pseudo R ^ 2 bien connus sont McFadden (1974) et Cox et Snell (1989).

  2. Statistiques d'ajustement

    Le test indique si vous pourriez faire encore mieux en rendant le modèle plus compliqué, ce qui teste en fait s'il existe des non-linéarités ou des interactions.

    J'ai implémenté les deux tests sur mon modèle, ce qui a déjà ajouté quadratique et interaction
    :

    >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

et la puissance prévue est comme ci-dessous, le MaFadden est de 0,4004, et la valeur comprise entre 0,2 et 0,4 doit être prise pour présenter un très bon ajustement du modèle (Louviere et al (2000), Domenich et 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 

et les statistiques d'ajustement:

 > 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

Si je comprends bien, GOF teste actuellement l'hypothèse nulle et alternative suivante:

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

Étant donné que mes modèles ont ajouté de l'interaction, la non-linéarité déjà et la valeur de p montre que H0 devrait être rejetée, alors je suis arrivé à la conclusion que mon modèle a besoin d'interaction, de non-linéarité en effet. J'espère que mon interprétation est correcte et merci pour tout conseil à l'avance, merci.

Samoth
la source
2
Mieux vaut regarder la table sous-jacente que la valeur de p pour le test HL. Et également sur les graphiques des résidus de votre modèle. Cela montrera où est le problème.
probabilitéislogic

Réponses:

26

Il y a plusieurs problèmes à résoudre.

  • R2R2R2
  • Le test Hosmer-Lemeshow est pour l'erreur d'étalonnage globale, pas pour un manque d'ajustement particulier tel que des effets quadratiques. Il ne prend pas correctement en compte le sur-ajustement, est arbitraire dans le choix des bacs et de la méthode de calcul des quantiles, et a souvent une puissance trop faible.
  • Pour ces raisons, le test Hosmer-Lemeshow n'est plus recommandé. Hosmer et al ont un meilleur test d'ajustement omnibus df, implémenté dans la fonction de rmspackage R.residuals.lrm
  • Pour votre cas, la qualité de l'ajustement peut être évaluée en testant conjointement (dans un test "en bloc") la contribution de tous les termes carrés et d'interaction.
  • Mais je recommande de spécifier le modèle pour le rendre plus susceptible de s'adapter à l'avant (en particulier en ce qui concerne les hypothèses de linéarité relaxantes à l'aide de splines de régression) et d'utiliser le bootstrap pour estimer le sur-ajustement et obtenir une courbe d'étalonnage lisse haute résolution corrigée en sur-ajustement pour vérifier l'absolu. précision. Cela se fait à l'aide du rmspackage R.

Sur ce dernier point, je préfère la philosophie selon laquelle les modèles doivent être flexibles (limités par la taille de l'échantillon, de toute façon) et que nous nous concentrons davantage sur "l'ajustement" que sur le "manque d'ajustement".

Frank Harrell
la source
2
R2
1-R2
4

De Wikipédia :

Le test évalue si les taux d'événements observés correspondent ou non aux taux d'événements attendus dans des sous-groupes de la population du modèle. Le test de Hosmer – Lemeshow identifie spécifiquement les sous-groupes comme les déciles des valeurs de risque ajustées. Les modèles pour lesquels les taux d'événements attendus et observés dans les sous-groupes sont similaires sont appelés bien calibrés.

Sa signification: après avoir construit le modèle en notant le y de votre modèle, vous voulez vérifier s'il est distribué sur 10 déciles de manière similaire aux taux d'événements réels.

Donc, les hypothèses seront

  • H0
  • H1

Par conséquent, si la valeur p est inférieure à 0,05, elles ne sont pas bien réparties et vous devez affiner votre modèle.

J'espère que cela répond à certaines de vos questions.

Rajnish Kumar
la source
3

C'est plutôt théorique après la réponse de @ FrankHarrell, mais un fan du test H – L inférerait de ce résultat que malgré votre inclusion de termes quadratiques et certaines interactions de second ordre, le modèle montrait toujours un manque d'ajustement significatif, et que peut-être un modèle encore plus complexe serait approprié. Vous testez l'ajustement du modèle que vous avez spécifié, pas du modèle plus simple du premier ordre.

† Ce n'est pas un modèle complet de deuxième ordre - il y a trois interactions à faire.

Scortchi - Réintégrer Monica
la source