Premier coup d'œil rapide sur un ensemble de données


10

Veuillez excuser mon ignorance, mais ...

Je continue de me retrouver dans une situation où je suis confronté à un tas de nouvelles données que j'ai réussi à trouver. Ces données ressemblent généralement à ceci:

Date     Number1  Number2  Category1  Category2
20120125      11      101        Dog      Brown
20120126      21       90        Cat      Black
20120126      31      134        Cat      Brown
(...)

Habituellement, à première vue, je ne peux pas vraiment dire s'il y a des tendances ici. Les corrélations entre les différentes colonnes peuvent ne pas être très importantes, mais je serais ravi si je n'avais pas à créer manuellement un tracé pour chaque combinaison possible de colonnes / catégories.

Existe-t-il un outil qui accepterait un tableau de données ainsi que des informations sur les colonnes qui devraient être traitées comme des nombres, des dates et des catégories, puis procéder au tracé:

  • corrélations entre chacune des deux colonnes numériques
  • corrélations entre chacune des deux colonnes numériques, avec des lignes de tendance distinctes pour chaque catégorie
  • chaque colonne numérique sous forme de série chronologique,
  • chaque colonne numérique sous forme de série chronologique, séparée par catégorie,
  • etc.

Au final, cela générerait un grand nombre de parcelles, dont la plupart ne montreraient que du bruit. Idéalement, l'outil pourrait marquer les tracés par corrélation et, à la fin, afficher un diaporama commençant par les tracés ayant le score le plus élevé. Ce serait un premier aperçu très imparfait, mais utile de l'ensemble de données.

Alors? Y a-t-il un outil que tout le monde utilise pour cela et je n'en sais rien, ou est-ce quelque chose que nous devons faire?


Merci beaucoup à tous pour vos réponses. Je prends mon temps pour tester chacun des outils que vous mentionnez sur mes données. Je choisirai une réponse après mes tests. Je suppose que c'est dommage, je ne peux pas en choisir plus d'un :)
postrational

Réponses:


15

@Ondrej et @Michelle ont fourni de bonnes informations ici. Je me demande si je peux contribuer en abordant certains points non mentionnés ailleurs. Je ne vous en voudrais pas de ne pas pouvoir tirer grand-chose des données sous forme de tableau, les tableaux ne sont généralement pas un très bon moyen de présenter des informations (cf., Gelman et al., Transformer les tableaux en graphiques ). D'un autre côté, demander un outil qui générera automatiquement tous les bons graphiques pour vous aider à explorer un nouvel ensemble de données, c'est presque comme demander un outil qui réfléchira à votre place. (Ne prenez pas cela dans le mauvais sens, je reconnais que votre question indique clairement que vous n'allez pas aussi loin; je veux simplement dire qu'il n'y aura jamais vraiment un tel outil.) Une belle discussion liée à cela peut être trouvée ici .

Ces choses étant dites, je voulais parler un peu des types de tracés que vous pourriez utiliser pour explorer vos données. Les tracés énumérés dans la question seraient un bon début, mais nous pourrions peut-être l'optimiser un peu. Pour commencer, faire "un grand nombre de graphiques" corrélant des paires de variables pourrait ne pas être idéal. Un nuage de points affiche uniquement la relation marginale entre deux variables. Les relations importantes peuvent souvent être cachées dans une combinaison de plusieurs variables. Donc, la première façon de renforcer cette approche est de faire une matrice de nuage de pointsqui affiche simultanément tous les diagrammes de dispersion par paire. Les matrices de nuage de points peuvent être améliorées de diverses manières: par exemple, elles peuvent être combinées avec des tracés de densité de noyau univariés de la distribution de chaque variable, différents marqueurs / couleurs peuvent être utilisés pour tracer différents groupes, et les relations non linéaires possibles peuvent être évaluées en superposant un ajustement de Loess. La scatterplot.matrixfonction dans le package de voiture dans R peut faire toutes ces choses bien (un exemple peut être vu à mi-chemin de la page liée ci-dessus).

Cependant, bien que les matrices de nuage de points soient un bon début, elles n'affichent toujours que les projections marginales. Il y a plusieurs façons d'essayer d'aller au-delà de cela. L'une consiste à explorer des tracés tridimensionnels en utilisant le package rgl dans R. Une autre approche consiste à utiliser des tracés conditionnels; les coplots peuvent aider à établir des relations entre 3 ou 4 variables simultanément. Une approche particulièrement utile consiste à utiliser une matrice de nuage de points de manière interactive(bien que cela exigera plus d'efforts pour apprendre), par exemple en «brossant». Le brossage vous permet de mettre en surbrillance un ou plusieurs points dans une image d'une matrice et ces points seront simultanément mis en évidence dans toutes les autres images. En déplaçant le pinceau, vous pouvez voir comment toutes les variables changent ensemble. MISE À JOUR: Une autre possibilité que j'avais oublié de mentionner est d'utiliser un tracé de coordonnées parallèles . Cela présente l'inconvénient de ne pas rendre votre variable de réponse distincte, mais pourrait être utile, par exemple, pour examiner les corrélations entre vos variables X.

Je tiens également à vous féliciter d'avoir examiné vos données triées par date de collecte. Bien que les données soient toujours collectées au fil du temps, les gens ne le font pas toujours. Tracer un graphique linéaire est agréable, mais je vous suggère de le compléter avec des graphiques d' autocorrélations et d'autocorrélations partielles . Dans R, les fonctions pour ceux-ci sont acfet pacfrespectivement.

Je reconnais que tout cela ne répond pas tout à fait à votre question dans le sens de vous donner un outil qui fera automatiquement toutes les parcelles pour vous, mais une implication est que vous n'auriez pas réellement à faire autant de parcelles que vous le craignez , par exemple, une matrice de nuage de points n'est qu'une ligne de code. De plus, dans R, il devrait être possible d'écrire une fonction / un code réutilisable pour vous-même qui automatiserait en partie une partie de cela (par exemple, je peux imaginer une fonction qui prend une liste de variables et un ordre de date, les trie , ouvre une nouvelle fenêtre pour chacun avec des tracés ligne, acf et pacf).


Comme toujours, d'excellents points. :)
Michelle

2
(+1) Ne manquez pas ggobi et marginal.plotdu package latticeExtra .
chl

7

Les corrélations entre chaque paire de colonnes numériques peuvent être affichées dans une matrice de corrélation. Il n'a pas besoin d'être purement numérique, il peut être codé par couleur, pour permettre une évaluation rapide. Découvrez le paquet corrplot pour R.

Pour une analyse plus approfondie, Rattle est un outil graphique assez utile.

Si vous recherchez Stack Exchange en utilisant les mots-clés "corrplot" ou plutôt "Rattle", vous trouverez plusieurs rubriques où ces outils et leurs alternatives sont couverts. Comme celui-ci .

Bonne chance!


4

@Ondrej a donné de bons conseils, je vais donc me concentrer sur votre question concernant la façon dont le logiciel traite les données importées. Avec les données de caractères, "Catégorie 1" et "Catégorie 2", le logiciel les traite automatiquement comme des groupes ou des facteurs car les opérations mathématiques ne peuvent pas être effectuées sur ces éléments de données. Cela signifie que vous ne pourrez pas entrer quoi que ce soit de ces catégories (sinon, vous obtiendrez une erreur si vous essayez si vous utilisez la syntaxe ou une ligne de commande au lieu d'un système piloté par menu) dans une analyse qui nécessite des chiffres.

Pour des données comme votre "Numéro 1" et "Numéro 2", le logiciel les lit sous forme numérique. Si vous avez des groupes / facteurs qui contiennent des données purement numériques, vous devrez informer votre logiciel qu'il s'agit de groupes / facteurs.

Parfois, les dates peuvent être mal importées dans un logiciel statistique. Une fois que vous avez importé vos données, vous devriez voir que le type de données dans votre logiciel statistique affiche une forme de type "date" pour "Date". Si vous voyez le type de données comme autre chose que la date, vous avez un problème. Même si elle s'affiche comme date, vérifiez l'importation de certaines lignes où vous avez des dates comme des jours comme le 13 ou le 25 du mois - selon la configuration du logiciel, parfois le formatage de la date américain / britannique provoque des données délicates de l'importation , en raison de l'inversion du jour / mois.

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.