14 Chart: Parallel Coordinate Plots

Ce chapitre était initialement une contribution à la communauté de aashnakanuga

14.1 Vue d’ensemble

Cette secion couvre comment créer des graphiques à coordonnées parallèles statiques avec le package GGally.

Pour des graphiques à coordonnées parallèles interactifs, voir le package parcoords . Le package vignette donne des instructions pour l’utilisation de ce package.

14.3 Examples simples

Du calme! Trop compliqué! Beacoup plus facile, s’il-vous-plaît.

Utilisons le jeu de données “iris” pour cet exemple:

Pour plus d’informations sur ce jeu de données, tapez ?iris dans la console.

14.4 Theorie

Pour plus d’informations sur les graphiques à coordonnées parallèles et les données continues multivariées, regarder le Chapitre 6 du livre de cours.

14.5 Quand les utiliser

En général, les graphiques à coordonnées parallèles sont utilisés pour déduire des liens entre plusieurs variables continues - onles utilise en général pour detecter une tendance que nos données suivent, et les cas particuliers que sont les Generally, parallel coordinate plots are used to infer relationships between multiple continuous variables - we mostly use them to detect a general trend that our data follows, and also the specific cases that are valeurs aberrantes (outliers).

Veuillez garder à l’esprit que les graphiques à coordonnées parallèles ne sont pas idéaux quand il n’y a que des données catégoriques. Nous pouvons inclure quelques variables catégoriques de nos axes dans un souci de clustering, mais utiliser beaucoup de variables catégorique cause une saturation du graphique, ce qui le rend moins interprétable.

Nous utilisons aussi les graphiques à coordonnées parallèles pour identifier les tendances dans des clusters particuliers - pour illustrer chaque cluster dans une couleur différente, utiliser l’attribut groupColumn de ggparcoord(), specifiez votre colonne, et c’est parti!

Parfois, les graphiques à coordonnées parallèles sont utiles pour les séries temporelles - quand nous avons des informations enregistrées à des intervalles de temps réguliers. Chaque axe vertical sera desormais un point temporel et nous passerons cette colonne en attribut “column” pour ggparcoord.

14.6 Considerations

14.6.1 Quand utiliser le clustering?

En général, on utilise le clustering quand on veut observer un motif récurrent dans des données catégoriques avec des propriétés spécifiques. On divise les variables en clusters selon leur valeur spécifique pour une certaine variable catégorique. On peut également utiliser une variable continue; en la transformant en variable catégorique. Par exemple, en divisant les valeurs possibles selons deux cas: pour une variable continue taille: on divise en ceux dont la taille est supérieure à 150cm et ceux pour lesquels ça n’est pas le cas.

Regardons un exemple avec le dataset iris, en clusterisant la colonne “Species”:

14.6.2 Choix du paramètre alpha

En pratique, les graphiques à coordonnées parallèles ne sont pas utiles pour des petits jeux de données. Il est plus probable que vos données soient constituées de milliers de cas différents, et il est parfois difficile d’interpréter un graphique à coordonnées parallèles quand autant de cas se recoupent. Pour résoudre ce problème, on définit le paramètre alphalines avec une valeur entre 0 et 1. Ce paramètre réduit l’opacité des lignes pour qu’on puisse mieux comprendre ce qui se passe quand beaucoup de cas se recoupent.

On utilise à nouveau le jeu de données iris, mais en réduisant le paramètre alpha à 0.5. Regardez comme il est beaucoup plus facile de suivre le cours de chaque cas:

14.6.3 Scales

Quand on utilise ggparcoord(), on peut définir l’attribut scale, qui met à la même échelle toutes les variables pour qu’on puisse comparer leurs valeurs simplement.

Les différents types d’échelle sont:

  1. std: valeur par défaut, on soustrait la moyenne et on divise par l’écart-type
  2. robust: on soustrait la mediane et on devise par l’ecart absolu de la médiane (median absolute deviation)
  3. uniminmax: on met à l’échelle toutes les valeurs pour que le minimum soit à 0 et le maximum à 1
  4. globalminmax: pas de mise à l’échelle, on garde les valeurs d’origine
  5. center: On centre chaque variable selon sa valeur donnée par scaleSummary
  6. centerObs: on centre chaque variable selon sa valeur donnée par centerObsID

Créons un échantillon de données et observons comment les valeurs sur l’axe des y changent pour chaque échelle:

14.6.4 Ordre des variables

Le choix de l’ordre des variables sur l’axe des y dépend de l’application. Il peut être spécifié avec le paramètre order.

Les différents types d’ordre sont:

  1. default: l’ordre dans lequel nous ajoutons nos variables à l’attribut column
  2. given vector: on donne un vecteur contenant l’ordre dont on a besoin (cas le plus fréquent)
  3. anyClass: l’ordre basé sur la séparation d’une variable des autres (F-statistic - chaque variable v/s le reste)
  4. allClass: l’ordre basé sur la variation entre les classes (F-statistic - groupe column v/s le reste)
  5. skewness: l’ordre du plus au moins dévié (skewed)
  6. Outlying: l’orre basé sur la valeur de Outlying

14.7 Modifications

14.7.1 Permutation des coordonnées

C’est une bonne idée quand on a trop de variables et que leurs noms se chevauchent sur l’axe des x:

14.7.3 Utilisation de splines

En général, one utilise les splines quand on a une colonne dans laquelle beaucoup de valeurs se répètent, ce qui ajoute beaucoup de bruit. Les lignes de spline deviennent de plus en plus incurvées quand on choisit un facteur spline élevé, ce qui retire du bruit et rend l’observation de tendances plus facile. Il peut être défini en utilisant l’attribut splineFactor :

14.7.4 Ajout de boxplot au graphique

You can add boxplots to your graph, which can be useful for observing the trend of median values. Generally, they are added to data with a lot of variables - for example, if we plot time series data. Vous pouvez ajouter des boxplots à votre graphique. C’est utile pour observer la tendance de la médiane des valeurs. En général, on les ajoute aux données avec beaucoup de variables - par exemple, les séries temporelles.

14.8 Autres Packages

Il y a une multitude d’autres packages qui ont des fonctions pour créer des graphiques à coordonnées parallèles: [à faire: ajouter des liens]

  • parcoords::parcoords() – une bonne solution interactive
  • ggplot2::geom_line() – n’est pas propre aux graphiques à coordonnées parallèles, mais sont faciles à créer avec le paramètre group=.
  • lattice::parallelplot()
  • MASS::parcoord()

14.9 Ressources Externes







with