Interprétation de la sortie de R pour la régression binomiale

38

Je suis assez nouveau sur ce point avec les tests de données binomiales, mais je devais en faire un et maintenant je ne sais pas comment interpréter le résultat. La variable y, la variable de réponse, est binomiale et les facteurs explicatifs sont continus. Voici ce que j'ai obtenu en résumant le résultat:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Il y a un certain nombre de choses que je ne comprends pas, qu'est-ce que cela dit vraiment:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

Et que signifient les itérations AIC et Nombre de scores de Fisher?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

Et voici ce que cela signifie:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 
utilisateur40116
la source
6
Puisque votre question est très large - "comment interpréter une régression binomiale?" - Je suggérerais de prendre un texte d'introduction sur le sujet. L' introduction à l'analyse catégorique des données d' Agresti est très abordable.
Sycorax dit: Réintégrer Monica le
2
Cela peut être trop large pour répondre ici; comme @ user777 a dit, consulter un bon texte pourrait être dans l'ordre. Agresti est bon, je suis d'accord. Hosmer & Lemeshow est également bon. Si vous voulez quelque chose de bref et gratuit (alerte de connexion automatique), reportez-vous à mon introduction à la régression logistique, mais celle-ci est peut-être trop fondamentale pour vos besoins.
Peter Flom - Rétablir Monica
Ok, merci pour vos réponses rapides, je vais essayer Agresti et voir si ça aide :)
user40116
4
Je ne pense pas que cette question est trop large pour pouvoir répondre. Il me semble que c’est essentiellement la version de régression logistique de l’ interprétation-de-rs-lm-output , qui a toujours été considérée comme telle.
gung - Réintégrer Monica
1
Je suis avec @gung sur celui-ci, si la question est d'interpréter ce que R a jeté à l'écran. Où est l'ambiguïté est ce que l'on entend par "dire"? Si le PO est content de savoir que les coefficients sont les valeurs estimées du modèle avec des valeurs à l'échelle de la cote du journal, alors ce Q est OK. Si le PO n’est pas satisfait de cela et demande une explication de sa signification en termes de données, modèle, etc., alors la question serait trop vaste étant donné qu’il ne s’agit que d’une question posée.
Réintégrer Monica - G. Simpson le

Réponses:

74

Ce que vous avez fait est une régression logistique . Cela peut être fait dans pratiquement n'importe quel logiciel statistique, et le résultat sera similaire (au moins dans le contenu, bien que la présentation puisse être différente). Il existe un guide pour la régression logistique avec R sur l'excellent site d'aide statistique de UCLA. Si cela ne vous est pas familier, ma réponse est la suivante: différence entre les modèles logit et probit peut vous aider à comprendre ce qu'est le RL (bien que ce soit écrit dans un contexte différent).

Vous semblez avoir deux modèles présentés, je vais me concentrer principalement sur le premier. En outre, il semble y avoir eu une erreur dans la copie et coller le modèle ou la sortie, donc je vais échanger leaves.presenceavec Areala sortie pour le rendre compatible avec le modèle. Voici le modèle (link="logit")auquel je me réfère (remarque que j'ai ajoutée , ce qui est impliqué par family=binomial; voir ? Glm et ? Family ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

Passons en revue cette sortie (remarquez que j'ai changé le nom de la variable dans la deuxième ligne sous Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Tout comme il existe des résidus dans la régression linéaire (MCO), il peut exister des résidus dans la régression logistique et d'autres modèles linéaires généralisés. Ils sont plus compliqués lorsque la variable de réponse n’est pas continue, cependant. Les GLiM peuvent avoir cinq types de résidus différents, mais ce qui vient de la liste est les résidus de déviance. ( Déviance et les résidus sont plus avancés deviance, donc je serai bref ici, si cette discussion est un peu difficile à suivre, je ne vous inquiétez pas trop, vous pouvez sauter):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Pour chaque point de données utilisé dans votre modèle, la déviance associée à ce point est calculée. Ceci fait pour chaque point, vous avez un ensemble de tels résidus et la sortie ci-dessus est simplement une description non paramétrique de leur distribution.


Ensuite, nous voyons les informations sur les covariables, ce qui intéresse principalement les gens:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Pour un modèle de régression logistique simple comme celui-ci, il n'y a qu'une seule covariable ( Areaici) et l'interception (également parfois appelée «constante»). Si vous aviez une régression logistique multiple, il y aurait des covariables supplémentaires énumérées ci-dessous, mais l'interprétation du résultat serait la même. Sous Estimatela deuxième ligne se trouve le coefficient associé à la variable répertoriée à gauche. C'est le montant estimé par lequel la probabilité de log leaves.presenceaugmenterait si Areal'unité était plus élevée. La cote du journal de leaves.presencequand Areaest0est juste au-dessus dans la première rangée. (Si vous n'êtes pas suffisamment familiarisé avec les cotes de log, cela peut vous aider à lire ma réponse ici: interprétation des prédictions simples aux odds ratios dans la régression logistique .) Dans la colonne suivante, nous voyons l' erreur type associée à ces estimations. C'est-à-dire qu'ils représentent une estimation de la moyenne, en moyenne, de ces estimations qui rebondiraient si l'étude était répétée à l'identique, mais avec de nouvelles données, encore et encore. (Si vous n’êtes pas très familier avec l’idée d’une erreur type, cela peut vous aider à lire ma réponse ici: comment interpréter les erreurs types des coefficients dans la régression linéaire .) Si nous devions diviser l'estimation par l'erreur type, nous obtiendrions un quotient supposé être normalement distribué avec des échantillons suffisamment grands. Cette valeur est répertoriée sous z value. Ci Pr(>|z|)- dessous sont énumérées les valeurs p bilatérales qui correspondent à ces valeurs z dans une distribution normale standard. Enfin, il y a les étoiles de signification traditionnelles (et notez la clé sous le tableau des coefficients).


La Dispersionligne est imprimée par défaut avec GLiMs, mais n'ajoute pas beaucoup d'informations ici (elle est plus importante avec les modèles de comptage, par exemple). Nous pouvons l'ignorer.


Enfin, nous obtenons des informations sur le modèle et sa qualité d'ajustement:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

La ligne à propos de missingnessest souvent manquante. Il montre ici parce que vous aviez 314 observations pour lesquelles soit leaves.presence, Areaou les deux avaient disparu. Ces observations partielles n'ont pas été utilisées pour adapter le modèle.

Le Residual devianceest une mesure du manque d'ajustement de votre modèle pris dans son ensemble, tandis que le Null devianceest une telle mesure pour un modèle réduit qui ne comprend que l'interception. Notez que les degrés de liberté associés à ces deux ne diffèrent que d’un seul. Étant donné que votre modèle ne comporte qu'une seule covariable, un seul paramètre supplémentaire a été estimé (le Estimatepour Area) et, par conséquent, un seul degré de liberté supplémentaire a été utilisé. Ces deux valeurs peuvent être utilisées pour tester le modèle dans son ensemble, ce qui serait analogue au modèle global.F-test qui vient avec un modèle de régression linéaire multiple. Comme vous n'avez qu'une seule covariable, un tel test serait sans intérêt dans ce cas.

L' AIC est une autre mesure de la qualité de l'ajustement qui prend en compte la capacité du modèle à ajuster les données. Ceci est très utile lorsque vous comparez deux modèles où l’un peut s’intégrer mieux, mais peut-être uniquement en raison de sa plus grande souplesse et de sa capacité à mieux adapter toutes les données. Comme vous n’avez qu’un modèle, cela n’est pas informatif.

La référence à Fisher scoring iterationsconcerne la manière dont le modèle a été estimé. Un modèle linéaire peut être ajusté en résolvant des équations sous forme fermée. Malheureusement, cela ne peut pas être fait avec la plupart des GLiM, y compris la régression logistique. Au lieu de cela, une approche itérative (l' algorithme de Newton-Raphson par défaut) est utilisée. En gros, le modèle est ajusté en fonction d'une estimation de ce que pourraient être les estimations. L'algorithme regarde ensuite autour de vous pour voir si l'ajustement serait amélioré en utilisant différentes estimations à la place. Si tel est le cas, il se déplace dans cette direction (par exemple, en utilisant une valeur plus élevée pour l'estimation), puis il réajuste le modèle. L'algorithme s'arrête quand il ne s'aperçoit pas que se déplacer à nouveau apporterait beaucoup d'amélioration supplémentaire. Cette ligne vous indique le nombre d'itérations avant l'arrêt du processus et l'affichage des résultats.



En ce qui concerne le deuxième modèle et la sortie que vous avez énumérés, il s’agit simplement d’une manière différente d’afficher les résultats. Plus précisément, ces

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

sont du même type d’estimations que celles évoquées ci-dessus (bien qu’à partir d’un modèle différent et présentées avec moins d’informations supplémentaires).

gung - Rétablir Monica
la source
1

Appel : Ceci est simplement l'appel que vous avez fait à la fonction. Ce sera exactement le même code que vous avez tapé dans R. Cela peut être utile pour voir si vous avez fait des fautes de frappe.

(Déviance) Résidus: Vous pouvez pratiquement les ignorer pour la régression logistique. Pour une régression de Poisson ou linéaire, vous voulez que celles-ci soient distribuées plus ou moins normalement (ce qui est la même chose que les deux diagrammes de diagnostic supérieurs vérifient). Vous pouvez vérifier cela en vérifiant si les valeurs absolues de 1Q et 3Q sont proches (ish) l'une de l'autre et si la médiane est proche de 0. La moyenne n'est pas affichée car elle est toujours égale à 0. Si l'une de ces valeurs est super off alors vous avez probablement des biais étranges dans vos données. (Cela apparaîtra également dans vos graphiques de diagnostic!)

Coefficients : Ceci est la viande de la sortie.

  • Intercept : Pour la régression de Poisson et linéaire, il s'agit de la sortie prévue lorsque toutes nos entrées sont égales à 0. Pour la régression logistique, plus cet écart est éloigné de 0, plus l'écart entre le nombre d'observations dans chaque classe est grand. L'erreur type représente à quel point nous sommes incertains à ce sujet (bas est meilleur). Dans ce cas, étant donné que notre intercept est loin de 0 et que notre erreur standard est beaucoup plus petite que l'intercept, nous pouvons être à peu près certains que l'une de nos classes (en échec ou en échec) contient beaucoup plus d'observations. (Heureusement, dans ce cas, "n'a pas échoué")

  • Diverses entrées (chaque entrée sera sur une ligne différente): Cette estimation représente combien, à notre avis, la sortie va changer chaque fois que nous augmentons cette entrée de 1. Plus l'estimation est grande, plus l'effet de cette variable d'entrée sur la sortie est important. L'erreur type est notre certitude. Habituellement, nous pouvons être quasiment certains qu'une entrée est informative si l'erreur type correspond à 1/10 de l'estimation. Donc, dans ce cas, nous sommes à peu près sûrs que l'interception est importante.

  • Signif. Codes : C’est une clé de l’importance de chacun: entrée et interception. Celles-ci ne sont correctes que si vous n'adaptez jamais qu'un seul modèle à vos données. (En d’autres termes, ils sont parfaits pour les données expérimentales si, dès le départ, les variables qui vous intéressent vous intéressent et non comme informatives pour l’analyse des données ou la sélection des variables.)

    Attendez, pourquoi ne pouvons-nous pas utiliser la signification statistique? Vous pouvez, je ne le recommanderais généralement pas. Dans la science des données, vous allez souvent ajuster plusieurs modèles en utilisant le même jeu de données pour essayer de choisir le meilleur modèle. Si vous exécutez plusieurs tests de signification statistique sur le même jeu de données, vous devez ajuster votre p-valeur pour la compenser. Vous pouvez y penser de la manière suivante: si vous décidez d'accepter des résultats inférieurs à p = 0,05, vous dites en gros que vous êtes d'accord pour ne pas vous tromper une fois sur vingt. Si vous faites ensuite cinq tests, cependant, et pour chacun d'entre eux, vous aurez une chance sur 20 de vous tromper, vous avez maintenant une chance sur quatre de vous tromper au moins un de ces tests ... mais vous Je ne sais pas lequel. Vous pouvez corriger pour cela (en multipliant la valeur p que vous accepterez comme significative par le nombre de tests que vous effectuerez ), mais en pratique, je trouve qu'il est généralement plus facile d'éviter complètement d'utiliser les valeurs p.

(Le paramètre de dispersion pour la famille binomiale est égal à 1): vous ne le verrez que pour la régression de Poisson et binomiale (logistique). Cela vous permet simplement de savoir qu'un paramètre de mise à l'échelle supplémentaire a été ajouté pour faciliter l'ajustement du modèle. Vous pouvez l'ignorer.

Déviance nulle: La déviance nulle nous indique à quel point nous pouvons prédire notre sortie uniquement à l'aide de l'interception. Plus c'est petit, mieux c'est.

Déviance résiduelle: La déviance résiduelle nous indique à quel point nous pouvons prédire notre sortie à l'aide de l'interception et de nos entrées. Plus c'est petit, mieux c'est. Plus la différence entre la déviance nulle et la déviance résiduelle est grande, plus nos variables d'entrée sont utiles pour prédire la variable de sortie.

AIC: L'AIC est le "critère d'information d'Akaike" et constitue une estimation de la qualité avec laquelle votre modèle décrit les modèles de vos données. Il est principalement utilisé pour comparer des modèles formés sur le même jeu de données. Si vous avez besoin de choisir entre plusieurs modèles, le modèle avec l'AIC inférieur fait un meilleur travail en décrivant la variance dans les données.

Nombre d'itérations Fisher Scoring: il ne s'agit que d'une mesure du temps nécessaire pour s'adapter à votre modèle. Vous pouvez l'ignorer en toute sécurité.

Je suggère cette toturial pour en savoir plus. https://www.kaggle.com/rtatman/regression-challenge-day-5

parvij
la source