Quelle est la meilleure visualisation pour les tableaux de contingence?

22

Quel est le meilleur tracé, d'un point de vue statistique, pour montrer un tableau de contingence , qui est généralement analysé par un test du chi carré? S'agit-il d'un diagramme à barres esquivé, d'un diagramme à barres empilé, d'une carte thermique, d'un tracé de contour, d'un nuage de points tremblant, d'un tracé à plusieurs lignes ou autre chose? Doit-on afficher des valeurs absolues ou des pourcentages?

Edit: Ou comme @forecaster le suggère dans les commentaires, le tableau des nombres est lui-même un simple complot et devrait être suffisant.

rnso
la source
4
Parfois, le tableau de données est la meilleure méthode de visualisation par rapport aux graphiques. Les tables de contingence en sont un exemple classique.
prévisionniste
1
Point important, même si je ne suis pas d'accord pour dire que c'est toujours la meilleure option.
rnso
1
C'est pourquoi j'ai dit "parfois". Je recommanderais, Montrez-moi les chiffres de Stephen Few qui a toute une section dédiée aux tableaux.
prévisionniste
1
eh bien, la meilleure méthode dépend de ce que vous voulez montrer, de la taille de la table, sans quelques détails c'est large!
kjetil b halvorsen
3
La plupart des stats.stackexchange.com/questions/56322/… semblent pertinentes ici.
Nick Cox

Réponses:

9

Il n'y aura pas de solution unique ici. Si vous avez un tableau très simple (par exemple, ), il est probablement préférable de simplement présenter le tableau. Si vous voulez un chiffre réel, les parcelles en mosaïque (comme @xan le suggère) sont probablement un bon endroit pour commencer. Il existe d'autres options analogues aux tracés mosaïques, notamment les tracés de tamisage, les tracés d'association et les tracés de pression dynamique (voir ma question ici: Alternative aux tracés de tamisage / mosaïque pour les tableaux de contingence ); Le livre de Michael Friendly, Visualizing Categorical Data , serait une bonne ressource (basée sur SAS) pour ce sujet et le package vcd est une bonne ressource pour implémenter ces idées dans R. 2×2

Étant donné que les tableaux ont un plus grand nombre de lignes et de colonnes, cependant, ceux-ci deviennent plus difficiles à utiliser, à mon avis. Un autre type d'option de visualisation consiste à effectuer / tracer une analyse de correspondance . Une analyse de correspondance est analogue à l'exécution d'une analyse des composants principaux sur les lignes et les colonnes du tableau de contingence. Ensuite, les deux sont tracés avec un biplot. Voici un exemple basé sur R utilisant les données de la réponse de @ xan:

library(ca)
tab = as.table(rbind(c(28, 4,  0, 56),
                     c(38, 5,  9, 10),
                     c( 6, 6, 14, 13) ))
names(dimnames(tab)) = c("activity", "period")
rownames(tab)        = c("feed", "social", "travel")
colnames(tab)        = c("morning", "noon", "afternoon", "evening")
tab
#         period
# activity morning noon afternoon evening
#   feed        28    4         0      56
#   social      38    5         9      10
#   travel       6    6        14      13
plot(ca(tab))

entrez la description de l'image ici

Pour interpréter ce tracé, plus deux points du même type sont proches, plus ces deux profils de lignes / colonnes sont similaires. Et plus deux points de types différents sont proches, plus leur masse de probabilité est dans la cellule représentant leur intersection.

Dans R, il y a le paquet ca ; cette vignette ( pdf ) peut également être utile.

gung - Réintégrer Monica
la source
Très utile. Apparemment, il échoue avec de petites valeurs, par exemple: tt = with (mtcars, table (factor (gear), factor (vs))); parcelle (ca (tt)); Erreur dans x [, dim]: indice hors limites
rnso
C'est parce que l'un des facteurs (c.-à-d. factor(vs)) N'a que deux niveaux; vous en avez besoin d'au moins trois. Essayez ttt = with(mtcars, table(factor(gear), factor(cyl))); plot(ca(ttt)).
gung - Rétablir Monica
Très bon affichage des relations entre différents facteurs.
rnso
Ou vous pouvez afficher le tableau après avoir réorganisé les lignes et les colonnes dans l'ordre des scores d'analyse de correspondance.
kjetil b halvorsen
Idée intéressante, @kjetilbhalvorsen. Je ne sais pas comment obtenir cela de l' caobjet, alors je l'ai codé à partir de zéro. Sauf erreur, vous réorganisez les lignes c(1,3,2)et les colonnes c(4,1,3,2). Cela fait, je ne suis pas sûr de ce que je suis censé voir ici. À quoi penses-tu?
gung - Rétablir Monica
11

Différents visuels seront meilleurs pour mettre en évidence différentes fonctionnalités, mais les tracés Mosaic fonctionnent bien pour une vue générale (en vérifiant si quelque chose se démarque). C'est peut-être ce que vous vouliez dire par un tracé de barre esquivé. Comme la plupart des options, elles ne sont pas symétriques car elles représentent mieux les fréquences relatives dans une dimension que dans l'autre. Une caractéristique intéressante est que les fréquences marginales sont également représentées.

entrez la description de l'image ici

entrez la description de l'image ici

xan
la source
C'est bon. Les nombres et les proportions sont représentés. Les numéros peuvent également être mis sur la parcelle. Si l'ordre des éléments de l'axe des x est organisé, il sera encore meilleur. Par esquivé, je voulais dire barplot commun avec des catégories côte à côte, plutôt que empilés les uns sur les autres (voir position = 'dodge' sur cette page: r-bloggers.com/using-r-barplot-with-ggplot2 ).
rnso
1
+1 Cette conception fonctionne souvent très bien en effet pour des données relativement simples ; à l'inverse, j'ai constaté qu'il devient également difficile de penser rapidement à des données plus compliquées, malgré l'accent mis dans la littérature sur son extensibilité à des tableaux de contingence de dimension arbitraire. Pourtant, aucune conception ne fonctionne bien non plus dans de telles circonstances. Un petit point avec cet exemple est que vous semblez avoir accepté l'ordre alphabétique par défaut "après-midi" ... "midi" proposé par votre programme, alors que conserver l'ordre du temps semble un choix plus naturel.
Nick Cox
8

Je suis d'accord que le "meilleur" graphique n'existe pas indépendamment de l'ensemble de données, du lectorat et de l'objectif. Pour deux variables mesurées, les diagrammes de dispersion sont sans doute la conception qui laisse toutes les autres dans son sillage, sauf à des fins spécifiques, mais aucun leader du marché n'est évident pour les données catégoriques.

Mon objectif ici est simplement de mentionner une méthode simple, souvent redécouverte ou réinventée, mais néanmoins souvent négligée même dans les monographies ou les manuels couvrant les graphiques statistiques.

Exemple d'abord, couvrant les mêmes données que celles publiées par xan:

entrez la description de l'image ici

Si un nom est recherché, comme c'est souvent le cas, il s'agit d'un diagramme à barres à deux voies (dans ce cas). Je ne cataloguerai pas d'autres termes ici, sauf que le graphique à barres multiples est une alternative courante avec une saveur similaire. (Ma petite objection au "graphique à barres multiples" est que le "multiple" n'exclut pas les graphiques à barres empilées ou côte à côte très courants, alors que "à deux sens" pour moi implique plus clairement une disposition en lignes et en colonnes, bien qu'à son tour il peut prendre des exemples pour le clarifier.)

Les avantages et les inconvénients de ce type d'intrigue sont également simples, mais je vais en expliquer certains. Comme j'aime ce design (qui remonte au moins aux années 1930), d'autres voudront peut-être ajouter des critiques plus pointues.

+1. L'idée est facilement comprise , même par des groupes non techniques. Les hauteurs ou longueurs de barre codent les fréquences dans cet exemple. Dans d'autres exemples, ils pourraient encoder des pourcentages calculés comme vous le souhaitez, des résidus, etc.

+2. La structure en lignes et colonnes correspond à celle d'une table . Vous pouvez également ajouter des valeurs numériques. De très petites quantités et même des zéros implicites sont clairement évidents, ce qui n'est pas toujours le cas avec d'autres modèles (par exemple, les graphiques à barres empilées, les graphiques en mosaïque). L'étiquetage des lignes et des colonnes est généralement plus efficace que l'ajout d'une clé ou d'une légende, avec le "va-et-vient" mental que cela nécessite. Ainsi, cette conception hybride les idées de graphiques et de tableaux, ce qui semble troubler certains lecteurs; à l'inverse, je dirais que de fortes distinctions entre les figures et les tableaux ne sont que des vestiges historiques, obsolètes maintenant que les chercheurs peuvent préparer leurs propres documents et ne doivent pas compter sur des concepteurs, des compositeurs et des imprimeurs.

+3. Les extensions aux conceptions à trois voies et supérieures sont faciles en principe . Mettez deux ou plusieurs variables en tant que variables composites sur l'un ou les deux axes, ou donnez un tableau de ces graphiques. Naturellement, plus la conception est compliquée, plus l'interprétation est compliquée.

+4. La conception permet clairement des variables ordinales sur les deux axes. L'ordre peut être exprimé (par exemple) par un ombrage approprié ainsi que l'ordre des catégories sur cet axe. L'ordre des catégories sur les axes peut être déterminé par leur signification, ou mieux déterminé par les fréquences; l'ordre alphabétique en fonction des étiquettes de texte peut être une valeur par défaut, mais ne doit jamais être le seul choix envisagé.

-1. En étant de conception générale, l'intrigue peut être moins efficace pour montrer certains types de relations . En particulier, un tracé en mosaïque peut rendre très clair les écarts par rapport à l'indépendance. Inversement, lorsque les relations entre les variables catégorielles sont compliquées ou peu claires, aucun graphique ne montre généralement mieux que ce fait faible.

-2. À certains égards, la conception est inefficace dans l'utilisation de l'espace en laissant de la place pour chaque combinaison croisée, qu'elle se produise ou non. C'est le vice du même principe considéré comme une vertu. La conception particulière au-dessus des espaces classe les catégories de manière égale quelle que soit leur fréquence; sacrifier qui sacrifie souvent des étiquettes marginales lisibles, que j'apprécie beaucoup. Dans cet exemple, les étiquettes de texte sont toutes très courtes, mais c'est loin d'être typique.

Remarque: les données de xan semblent juste être inventées, donc je n'essaierai pas une interprétation plus que ce qui est tenté dans d'autres réponses. Mais une certaine sagesse à la maison mérite le dernier mot ici: la meilleure conception pour vous est celle qui transmet le mieux à vous et à vos lecteurs la structure de certaines données réelles dont vous vous souciez.

D'autres exemples incluent

Comment pouvez-vous visualiser la relation entre 3 variables catégorielles?

Graphique pour la relation entre deux variables ordinales

Nick Cox
la source
1
+1 pour une autre option viable et une excellente discussion. Permettez-moi de poser une question sur les diagrammes à double sens / indiquer un autre inconvénient possible: il existe une «boîte» non marquée, mais clairement perceptible, dans laquelle les barres peuvent être tracées. Lorsque la barre approche du haut de la boîte, elle atteint 100%. Comment cette valeur est-elle déterminée? (NB, les tableaux de contingence sont toujours multinomiaux dans un certain sens, avec un total connu.) Faire des sommes de ligne ou de colonne en haut de la case favorisera différentes inférences perceptuelles. (Il ne semble pas que la somme du tableau soit utilisée, car de nombreuses barres seraient trop petites pour être différenciées.)
gung - Reinstate Monica
1
@gung Merci. Je peux commenter mon propre programme Stata, utilisé ici et dans mes exemples ailleurs dans CV. Le programme est tabplotde SSC. La hauteur des barres est nécessairement une fraction de la hauteur de la barre la plus haute ou la plus longue; l'espace disponible pour cela est déterminé par le nombre de lignes affichées. L'utilisateur peut remplacer la taille d'écart par défaut, mais risque alors que les barres se touchent ou s'obstruent. Si les barres peuvent être négatives aussi bien que positives, les choses ne sont pas plus faciles. J'imagine que la même contrainte mord avec tout autre programme. Bref, les barres qui ne se touchent pas impliquent un espace blanc!
Nick Cox
8

Pour compléter les réponses de @ gung et @ xan, voici un exemple de mosaïques et d'associations utilisant vcddans R.

> tab
        period
activity morning noon afternoon evening
  feed        28    4         0      56
  social      38    5         9      10
  travel       6    6        14      13

Pour obtenir les parcelles:

require(vcd)
mosaic(tab, shade=T, legend=T)
assoc(tab, shade=T, legend=T)

entrez la description de l'image ici

entrez la description de l'image ici

Les deux présentent intuitivement des écarts par rapport aux fréquences attendues ... La valeur par défaut est le modèle d' indépendance mutuelle , mais il peut être modifié (par exemple en indépendance conjointe s'il existe une variable de réponse claire) via l' expectedargument.

Voir également:

landroni
la source