Tester le modèle GLM à l'aide des déviations nulles et du modèle


11

J'ai construit un modèle glm en R et l'ai testé à l'aide d'un groupe de test et de formation, donc je suis convaincu qu'il fonctionne bien. Les résultats de R sont:

Coefficients:
                            Estimate Std. Error  t value Pr(>|t|)    
(Intercept)               -2.781e+00  1.677e-02 -165.789  < 2e-16 ***
Coeff_A                    1.663e-05  5.438e-06    3.059  0.00222 ** 
log(Coeff_B)               8.925e-01  1.023e-02   87.245  < 2e-16 ***
log(Coeff_C)              -3.978e-01  7.695e-03  -51.689  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for quasibinomial family taken to be 0.9995149)

    Null deviance: 256600  on 671266  degrees of freedom
Residual deviance: 237230  on 671263  degrees of freedom
AIC: NA

Toutes les valeurs de p pour les coefficients sont faibles comme prévu.

En regardant cette question ( Interprétation de la déviance résiduelle et nulle dans GLM R ), je devrais être capable de calculer si l'hypothèse nulle tient en utilisant l'équation suivante:

p-value = 1 - pchisq(deviance, degrees of freedom)

Le fait de coller cela donne:

1 - pchisq(256600, 671266)
[1] 1

Ai-je donc raison de penser que l'hypothèse nulle ne peut pas être rejetée ici, même si les valeurs de p pour tous les coefficients sont si petites ou ai-je mal interprété comment calculer cela?

Réponses:


18

Il y a un malentendu ici. La différence entre la déviance nulle et la déviance du modèle est distribuée comme un chi carré avec des degrés de liberté égaux au df nul moins le df du modèle. Pour votre modèle, ce serait:

1-pchisq(256600 - 237230, df=(671266 - 671263))
# [1] 0

Par défaut, pchisq()donne la proportion de la distribution à gauche de la valeur. Pour obtenir une proportion plus extrême que votre différence, vous pouvez spécifier lower.tail = FALSEou soustraire le résultat de (comme vous et moi l'avons fait). 1


2
Quelle hypothèse testez-vous exactement avec l'énoncé 1-pchisq(256600 - 237230, df=(671266 - 671263))?
juillet 2015

5
@jesterII, vous vérifiez si la déviance a changé plus que ce à quoi vous pourriez vous attendre par hasard. C'est-à-dire que vous testez si le modèle dans son ensemble est meilleur que le modèle nul. Il est analogue au test F global dans un modèle linéaire.
gung - Rétablir Monica

L'hypothèse nulle est «le modèle dans son ensemble est meilleur que le modèle nul», et vous avez rejeté l'hypothèse nulle, ce qui signifie que le modèle est mauvais?
juillet 2015

3
@jesterII, non, l'hypothèse nulle est: «le modèle dans son ensemble n'est pas meilleur que le modèle nul». Puisque cela a été rejeté, nous concluons que les données ne sont pas cohérentes avec le modèle nul. NB, cela ne signifie pas nécessairement que notre modèle est «bon» ou «correct».
gung - Rétablir Monica
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.