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?
la source
Réponses:
@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.matrix
fonction 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
acf
etpacf
respectivement.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).
la source
marginal.plot
du package latticeExtra .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!
la source
@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.
la source