Je lance glms en R (modèles linéaires généralisés). Je pensais que je connaissais les valeurs p - jusqu'à ce que je voie que l'appel à un résumé pour un GLM ne vous donne pas une valeur p primordiale représentative du modèle dans son ensemble - du moins pas à l'endroit où les modèles linéaires le font.
Je me demande si cela est donné comme valeur de p pour l'Intercept, en haut du tableau des coefficients. Ainsi, dans l'exemple suivant, alors que Wind.speed..knots et canopy_density peuvent être significatifs pour le modèle, comment savoir si le modèle lui-même est significatif? Comment savoir si je dois faire confiance à ces valeurs? Ai-je raison de me demander si le Pr (> | z |) pour (Intercept) représente la signification du modèle? Ce modèle est-il important? ??? Merci!
Je dois noter que l'exécution d'un test F ne donnera pas de valeur p car je reçois un message d'erreur indiquant que l'exécution de tests F sur la famille binomiale est inappropriée.
Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density,
family = binomial, data = CAIRNGORM)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.2327 -0.7167 -0.4302 -0.1855 2.3194
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.8226 1.2030 1.515 0.1298
Wind.speed..knots. -0.5791 0.2628 -2.203 0.0276 *
canopy_density -2.5733 1.1346 -2.268 0.0233 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 59.598 on 58 degrees of freedom
Residual deviance: 50.611 on 56 degrees of freedom
(1 observation deleted due to missingness)
AIC: 56.611
Réponses:
Vous pouvez soit faire un test chi carré asymptotique de (59.598-50.611) vs un chi carré avec (58-56) df, soit utiliser
anova()
sur votre objet glm (qui ne fait pas le test directement, mais au moins calcule ( 59.598-50.611) et (58-56) pour vous).Il s'agit en fait d'une analyse de la déviance .
Voici le genre de calculs que vous pourriez faire (sur un autre ensemble de données, fourni avec R):
Ce qui donne la valeur de p pour une statistique chi carré asymptotique basée sur la déviance .
Ou vous pouvez utiliser les fonctions
deviance
etdf.residual
pour ce faire:-
Beaucoup de gens utiliseraient la comparaison entre l'AIC complet et le modèle nul (ou dans certains cas, peut-être une comparaison entre un modèle d'intérêt et le modèle saturé) pour déterminer si le modèle était meilleur que le zéro dans ce sens.
-
Ce n'est pas le cas. En effet, la valeur p d'interception n'a généralement pas d'intérêt direct.
Si vous envisagez un modèle avec un paramètre de dispersion, j'ai vu certaines personnes plaider pour faire un test F au lieu d'un chi carré asymptotique; il correspond aux personnes utilisant un test t au lieu de az sur les coefficients individuels. Il est peu probable que ce soit une approximation raisonnable dans de petits échantillons. Je n'ai pas vu de dérivation ou de simulation qui suggérerait que le F est nécessairement une approximation appropriée (c'est-à-dire meilleure que le résultat asymptotique) dans le cas des GLM en général. Un pourrait bien exister, mais je ne l'ai pas vu.
la source
Anova(fit, type = 2)
partir de lacar
bibliothèqueEn supposant que votre modèle est dans l'objet 'fit', vous pouvez utiliser ce code pour effectuer un test de ressemblance de log sur votre modèle binomial. Comme vous l'avez noté, un test F n'est pas approprié, mais ce test testera si votre modèle est mieux prédit que aléatoire.
Il s'agit de la formule du test du rapport de vraisemblance logarithmique.
Et cela vous donnera la valeur p. Bien que je ne sois pas sûr à 100% que c'est le bon df. Je suis sûr que c'est la différence dans le nombre de paramètres, dont vous avez 2 dans votre modèle saturé et aucun dans le modèle Null, ergo df = 3 - 1 = 2. Mais cela pourrait être quelque chose à suivre.
la source
Alternativement, vous pouvez regarder AIC, ou des mesures connexes comme BIC.
la source