J'analyse un ensemble de données avec de nombreux paramètres (disons, 50-200) et je suis intéressé à regarder les relations entre les variables (par exemple en termes de diagrammes de dispersion à 2 variables ou d'histogrammes 2d). Cependant, pour ce nombre de paramètres, il semble impossible de dessiner un tableau 200x200 de tracés (à moins que je ne l'imprime et le suspende au mur).
En revanche, faire uniquement une matrice de corrélation ne donne pas toutes les informations sur les relations à 2 variables.
Existe-t-il un moyen (bibliothèque ou workflow) d'explorer les relations à 2 variables pour de nombreuses variables?
Je suis particulièrement intéressé à montrer les résultats aux autres (peut-être après un prétraitement des données). Par exemple, quelque chose d'interactif en JavaScript, si je peux voir une matrice de nuage de points pour des champs sélectionnés à partir d'une matrice de corrélation.
Par matrice de nuage de points, je veux dire quelque chose comme ça:
(extrait du blog pandasplotting ; disponible en Python / Pandas , R , D3.js , etc.).
Réponses:
Explorer les relations entre les variables est assez vague, mais je suppose que deux des objectifs plus généraux de l'examen des nuages de points sont les suivants;
Les deux réduisent les données en résumés plus faciles à gérer, mais ont des objectifs différents. Identifiez les groupes latents, on réduit généralement les dimensions des données (par exemple via PCA), puis explorez si les variables ou les cas se regroupent dans cet espace réduit. Voir par exemple Friendly (2002) ou Cook et al. (1995).
L'identification des valeurs aberrantes peut signifier soit ajuster un modèle et tracer les écarts par rapport au modèle (par exemple, tracer les résidus d'un modèle de régression), soit réduire les données dans ses principales composantes et ne mettre en évidence que les points qui s'écartent du modèle ou du corps principal de données. Par exemple, les boîtes à moustaches en une ou deux dimensions ne montrent généralement que des points individuels qui sont en dehors des charnières (Wickham et Stryjewski, 2013). Le traçage des résidus a la belle propriété d'aplatir les tracés (Tukey, 1977), donc toute évidence de relations dans le nuage de points restant est "intéressante". Cette question sur le CV contient d'excellentes suggestions pour identifier les valeurs aberrantes multivariées.
Une façon courante d'explorer de tels SPLOMS est de ne pas tracer tous les points individuels, mais un type de résumé simplifié, puis peut-être des points qui s'écartent largement de ce résumé, par exemple les ellipses de confiance, les résumés scagnostiques (Wilkinson et Wills, 2008), bivariés boîtes à moustaches, courbes de niveau. Vous trouverez ci-dessous un exemple de tracé d'ellipses qui définissent la covariance et de superposition d'un lœss plus lisse pour décrire l'association linéaire.
(source: statmethods.net )
Quoi qu'il en soit, une intrigue réussie et interactive avec autant de variables nécessiterait probablement un tri intelligent (Wilkinson, 2005) et un moyen simple de filtrer les variables (en plus des capacités de brossage / liaison). De même, tout ensemble de données réaliste devrait avoir la capacité de transformer l'axe (par exemple, tracer les données à l'échelle logarithmique, transformer les données en prenant des racines, etc.). Bonne chance et ne vous en tenez pas à une seule intrigue!
Citations
la source
Vous pourriez envisager d'utiliser l'interface brillante du package pairsD3 R, qui fournit un moyen d'interagir avec les matrices de nuage de points.
Un exemple avec l'ensemble de données iris:
Source: https://github.com/garthtarr/pairsD3
la source