Comment interpréter les coefficients dans une régression de Poisson?

64

Comment interpréter les principaux effets (coefficients du facteur factice) dans une régression de Poisson?

Supposons l'exemple suivant:

treatment     <- factor(rep(c(1, 2), c(43, 41)), 
                        levels = c(1, 2),
                        labels = c("placebo", "treated"))
improved      <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                        levels = c(1, 2, 3),
                        labels = c("none", "some", "marked"))    
numberofdrugs <- rpois(84, 10) + 1    
healthvalue   <- rpois(84, 5)   
y             <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test          <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
summary(test)

La sortie est:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       1.88955    0.19243   9.819   <2e-16 ***
numberofdrugs    -0.02303    0.01624  -1.418    0.156    
treatmenttreated -0.01271    0.10861  -0.117    0.907   MAIN EFFECT  
improvedsome     -0.13541    0.14674  -0.923    0.356   MAIN EFFECT 
improvedmarke    -0.10839    0.12212  -0.888    0.375   MAIN EFFECT 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Je sais que le taux d'incident pour numberofdrugsest exp(-0.023)=0.977. Mais comment interpréter les principaux effets pour les variables nominales?

gung - Rétablir Monica
la source
Une réponse similaire (mais plus mathématiquement) peut être trouvée ici: Comment interpréter les estimations de paramètres dans les résultats de Poisson GLM .
gung - Rétablir Monica
Il est intéressant de noter que la question mentionnée a été fermée en tant que sujet hors sujet. (Je n'aurais pas convenu que c'était hors sujet, car toute réponse s'appliquerait également à la sortie de tout programme de statistiques renvoyant une table de coefficients à l'utilisateur, et je suis d'accord avec vous pour dire que cela vaut la peine Il me semble que la communauté SO est trop "serrée" sur les questions qui demandent une interprétation du résultat de R. Elles ne sont pas vraiment sur le sujet pour StackOverflow car rien n’indique qu’une aide au codage est nécessaire.
DWin
@DWin, je ne pense pas que l'interprétation de la sortie statistique soit hors sujet dans la validation croisée . J'ai voté pour clore cette question en double. Si j'ai bien compris, d'autres semblent avoir voté OT, car il leur a semblé que le PO "a vidé [leur] sortie informatique ici et [espérait que quelqu'un exécuterait l'analyse statistique pour [eux]".
Gay - Rétablir Monica
1
@gung: J'avais bien compris que ce n'était pas vous qui l'appeliez OT. Vos commentaires étaient clairs sur ce point. (Je pensais être d'accord avec vous.) La "raison" indiquée lors d'un vote serré est souvent une décision à la majorité ou à la pluralité.
DWin
Pertinent: stats.stackexchange.com/questions/142338/…
kjetil b halvorsen

Réponses:

56

Le numberofdrugscoefficient exponentiaire est le terme multiplicatif à utiliser pour calculer l'estimation de healthvaluequand numberofdrugsaugmente de 1 unité. Dans le cas de variables qualitatives (de facteur), le coefficient exponentiel est le terme multiplicatif relatif au niveau de base (premier facteur) de cette variable (puisque R utilise les contrastes de traitement par défaut). Le exp(Intercept)est le taux de base, et toutes les autres estimations seraient relatives à celui-ci.

Dans votre exemple, l’estimation healthvaluepour une personne avec des 2drogues, "placebo"et improvement=="none"serait (en utilisant addition dans exp comme équivalent à la multiplication):

 exp( 1.88955 + 2*-0.02303 + 0 + 0 )
 [1] 6.318552

Alors que quelqu'un sur la 4drogue, "treated"et l' "some"amélioration aurait une estimation healthvaluede

exp( 1.88955 + 4*-0.02303 + -0.01271 + -0.13541)
[1] 5.203388

ADDENDA: C'est ce que cela signifie d'être "additif à l'échelle logarithmique". "Additive sur l'échelle log-cotes" était la phrase que mon enseignante, Barbara McKnight, utilisait pour souligner la nécessité d'utiliser tous les coefficients de terme appliqués dans la régression logistique pour toute prédiction. Vous ajoutez d’abord tous les coefficients fois les valeurs de la covariable, puis vous l’exposez. La façon de retourner les coefficients des objets de régression dans R consiste généralement à utiliser la coef()fonction d'extraction (réalisée avec une réalisation aléatoire différente ci-dessous):

 coef(test)
  #   (Intercept)    numberofdrugs treatmenttreated     improvedsome   improvedmarked 
  #   1.18561313       0.03272109       0.05544510      -0.09295549       0.06248684 

Donc, le calcul de l'estimation pour un sujet avec des 4médicaments "treated", avec une "some"amélioration serait:

 exp( sum( coef(test)[ c(1,2,3,4) ]* c(1,4,1,1) ) ) 
 [1] 3.592999

Et le prédicteur linéaire pour ce cas devrait être la somme de:

 coef(test)[c(1,2,3,4)]*c(1,4,1,1) 
 #    (Intercept)    numberofdrugs treatmenttreated     improvedsome 
 #     1.18561313       0.13088438       0.05544510      -0.09295549

Ces principes devraient s'appliquer à tout package de statistiques qui renvoie une table de coefficients à l'utilisateur. La méthode et les principes sont plus généraux que cela pourrait paraître de mon utilisation de R.


Je copie les commentaires de clarification sélectionnés car ils "disparaissent" dans l'affichage par défaut:

Q: Vous interprétez donc les coefficients comme des ratios! Je vous remercie! - MarkDollar

R: Les coefficients sont les logarithmes naturels des ratios. - DWin

Q2: Dans ce cas, dans une régression de Poisson, les coefficients exponentiés sont-ils également appelés "rapports de cotes"? - Oort

A2: Non. S'il s'agissait d'une régression logistique, ils ne le seraient que dans la régression de Poisson, où LHS est le nombre d'événements et le dénominateur implicite est le nombre en risque, alors les coefficients exponentiés sont des "rapports de taux" ou des "risques relatifs".

DWin
la source
Alors ça vous a permis de voter deux fois? Comme c'est gentil. Je pensais qu'offrir une implémentation de l'interprétation en code R pourrait la sauver des forces de la rectitude de la classification. Le PO a composé un bel exemple autonome. J'aurais peut-être dû démontrer une fonction d'extraction, alors je pense que je le ferai.
Débute
Oui, j'ai voté votre réponse sur SO, puis il a déménagé ici et j'ai voté à nouveau :)
Brandon Bertelsen
Merci jusqu'ici! Je connais la réalité entre les nuls et les cavariables, mais je voudrais seulement savoir comment interpréter les effets principaux (je les ai marqués). Est-il possible de prendre le taux incidient d'un Effets principaux, par exemple pour le pseudo traité 'exp (-0,012) = 0,99' et de l'interpréter comme le taux à partir duquel la valeur de santé diminue, lorsque vous passez de la catégorie de référence au traitement? Ça doit être, non?
MarkDollar
Les coefficients exponentiés sont toujours interprétés comme des ratios. Les ratios «quoi» à «quoi» dépendent des unités d'analyse. Les 'taux' sont différents, ils ont un nombre implicite et une valeur de temps. Donc, si vous êtes prêt à changer de terminologie, alors peut-être «oui». Les meilleures réponses sont données par une description complète de la situation de l'analyse.
Din
Ah ok c'est ce que je voulais savoir. Donc, vous interprétez les coefficients comme des ratios! Je vous remercie!
MarkDollar