Encodage des données qui évoluent au fil du temps

9.2 Encodage des données qui évoluent au fil du temps

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • 9.2.1 Créer et interpréter des graphiques étiquetés pour identifier visuellement les tendances des données au fil du temps.
  • 9.2.2 Utiliser Python pour générer diverses visualisations de données pour des données de séries temporelles.

Les chercheurs s'intéressent fréquemment à l'analyse et à l'interprétation des données au fil du temps. Rappelez-vous, d'après Séries temporelles et prévisions, que tout ensemble de données constitué de mesures numériques d'une même variable collectées et organisées selon des intervalles de temps réguliers peut être considéré comme des données de séries temporelles. Un graphique de séries temporelles permet aux scientifiques des données d'identifier visuellement les tendances des données au fil du temps. Par exemple, un administrateur d'université s'intéresse de près au suivi des inscriptions d'un semestre à l'autre. Un directeur marketing s'intéresse au suivi des revenus trimestriels d'une entreprise. Un investisseur peut s'intéresser au suivi mensuel du cours des actions.

Dans de nombreux cas, un graphique de séries temporelles peut révéler des motifs saisonniers ou des cycles, ce qui constitue une information importante pour orienter de nombreuses décisions commerciales, telles que la planification de campagnes marketing ou la définition de niveaux de stocks optimaux. Les graphiques de séries temporelles fournissent également des données importantes pour les méthodes de prévision, qui tentent de prédire les tendances futures à partir de données passées.

Reportez-vous à Exemples de données de séries temporelles pour les bases de la visualisation de données de séries temporelles dans Excel et Python. La courbe de tendance et la composante tendance-cycle explorent la visualisation d'une courbe de tendance. Nous explorerons ici plus en détail les graphiques linéaires, les courbes de tendance et l'utilisation de Python pour la visualisation des données de séries temporelles.

Graphiques linéaires et courbes de tendance

Un graphique de séries temporelles est utilisé dans de nombreux domaines tels que la finance, la santé, l'économie, etc., pour visualiser les mesures de données au fil du temps. Pour construire un graphique de séries temporelles, l'axe horizontal sert à représenter les incréments de temps, et l'axe vertical sert à représenter les valeurs de la variable mesurée, comme les revenus, les inscriptions, le niveau des stocks, etc. De cette façon, chaque point du graphique correspond à un instant précis et à une quantité mesurée. Les points sur le graphique sont généralement reliés par des lignes droites dans l'ordre de leur apparition. Une fois le graphique créé, un chercheur peut identifier des tendances ou des motifs dans les données afin d'orienter la prise de décision.

Exemple 9.5

Problème

Les données suivantes représentent les effectifs inscrits dans un collège communautaire sur une période de huit ans. Créez un graphique de séries temporelles de ces données et commentez les éventuelles tendances (Tableau 9.3).

Année Inscriptions
1 8641
2 9105
3 9361
4 9895
5 9230
6 8734
7 8104
8 7743
Tableau 9.3 Inscriptions dans un collège communautaire

Solution

Pour créer un graphique de séries temporelles pour ce jeu de données, commencez par créer l'axe horizontal en traçant les incréments de temps, des années 1 à 8. Pour l'axe vertical, utilisez une échelle numérique allant de 4 000 à 12 000, car cela couvre l'étendue des données numériques relatives aux inscriptions.

Ensuite, pour chaque ligne du tableau, placez le point (x,y)(x,y) correspondant sur le graphique. De cette façon, chaque point du graphique correspond à un instant précis et à une quantité mesurée. Par exemple, la première ligne du tableau montre le point de données (x,y)(x,y) valant (1, 8641). Pour placer ce point, repérez l'emplacement correspondant à l'année 1 sur l'axe horizontal et à une valeur d'inscription de 8641 sur l'axe vertical. À l'intersection de la position horizontale et de la position verticale, tracez un point unique pour représenter cette valeur de données (x,y)(x,y). Répétez ce processus pour chaque ligne du tableau. Comme le tableau comporte huit lignes, on s'attend à observer huit points sur le graphique de séries temporelles. Enfin, les points du graphique sont généralement reliés par des lignes droites dans l'ordre chronologique de leur apparition (voir la sortie Python de l'Exemple 9.6).

Utiliser Python pour la visualisation des données de séries temporelles

La visualisation de données est un élément fondamental de la science des données, et Python propose de nombreuses fonctionnalités graphiques intégrées grâce à un paquet nommé matplotlib. Pour importer ce paquet dans un programme Python, utilisez la commande :

import matplotlib.pyplot as plt

Matplotlib contient des fonctions telles que plot qui peuvent être utilisées pour générer des graphiques de séries temporelles.

Après avoir défini les données (x,y)(x,y) à représenter graphiquement, la fonction Python plt.plot(x, y) peut être utilisée pour générer le graphique de séries temporelles.

Exemple 9.6

Problème

Utilisez la fonction plot en Python pour créer un graphique de séries temporelles pour le jeu de données présenté dans l'Exemple 9.5.

Solution

Dans le code Python suivant, notez que plt.plot avec l'argument marker indique que des points doivent être tracés aux différents emplacements (x,y)(x,y). De plus, plt.ylim définit l'intervalle pour l'axe des y.

Code Python

    # import the matplotlib library
    import matplotlib.pyplot as plt
    import matplotlib.ticker as ticker
    
    # Define the x-data
    x = [1, 2, 3, 4, 5, 6, 7, 8]
    
    # Define the y-data
    y = [8641, 9105, 9361, 9895, 9230, 8734, 8104, 7743]
    
    # Use the plot function to generate a time series graph
    plt.plot(x, y, marker='o', linestyle='-')
    
    # Set the scale for the y-axis
    plt.ylim(6000, 11000)  # This sets the y-axis range from 6000 to 11000
    
    # Define a function to format the ticks with commas as thousands separators
    def format_ticks(value, tick_number):
        return f'{value:,.0f}'
    
    # Apply the custom formatter to the y-axis
    plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(format_ticks))
    
    # Add labels to the x and y axes by using xlabel and ylabel functions
    plt.xlabel("Year")
    plt.ylabel("Enrollment")
    
    # Add a title using the title function
    plt.title("Enrollment at a Community College")
    
    # Show the plot
    plt.show()
    

La sortie obtenue ressemble à ceci :

Un graphique linéaire intitulé « Inscriptions dans un collège communautaire ». L'axe des X représentant les années s'étend de 1 à 8 et l'axe des Y pour les inscriptions s'étend de 6 000 à 12 000. La ligne créée par les 8 points de données indique que les inscriptions ont commencé à environ 8 600, ont augmenté progressivement des années 1 à 4 jusqu'à un pic de 9 800, puis ont commencé à diminuer des années 4 à 8 jusqu'à un minimum d'environ 7 700.

Le graphique indique que les inscriptions ont augmenté progressivement des années 1 à 4, mais ont ensuite commencé à diminuer des années 4 à 8.

Directives pour créer des visualisations efficaces

Vous avez probablement déjà rencontré des graphiques mal conçus, difficiles à interpréter ou potentiellement trompeurs d'une manière ou d'une autre. Cependant, si vous suivez certaines directives lors de la création de vos visualisations, vous vous assurerez qu'elles sont efficaces et représentent fidèlement les données.

La première règle consiste à s'assurer que votre graphique est clair et facile à comprendre. Vous connaissez peut-être le type de données collectées, mais ce n'est pas forcément le cas de votre public. Donnez un titre et étiquetez chaque axe, en incluant les unités le cas échéant. Mentionnez la source des données lorsque cela est approprié. Utilisez des échelles adaptées pour les axes et évitez les distorsions (c'est-à-dire n'ajustez pas intentionnellement l'échelle pour produire un effet souhaité dans le graphique).

L'utilisation de couleurs pour différencier les données peut constituer un élément important des graphiques et des affichages. Dans l'ensemble, la couleur peut rendre la visualisation plus attrayante et stimulante pour le lecteur. Cependant, il convient de garder certains points essentiels à l'esprit lors de l'utilisation de la couleur. Veillez à appliquer la couleur de manière cohérente pour représenter les mêmes catégories. Assurez-vous qu'il existe un contraste suffisant entre les différentes couleurs pour les distinguer facilement. Par exemple, si vous utilisiez différentes nuances de bleu pour les secteurs d'un diagramme circulaire, il pourrait être difficile pour le lecteur de les distinguer.

Gardez à l'esprit que certains lecteurs peuvent être daltoniens ; il est donc recommandé d'utiliser des palettes de couleurs accessibles aux personnes daltoniennes. La règle la plus fondamentale pour une palette adaptée aux daltoniens consiste à éviter d'associer le vert et le rouge.

Pour aller plus loin

Ressources pour créer des palettes adaptées aux daltoniens

Il faut également savoir que les couleurs peuvent avoir des significations différentes selon les cultures. Réduisez au minimum le nombre de couleurs utilisées dans votre visualisation. Une règle empirique consiste à limiter le nombre de couleurs à trois ou cinq pour éviter une palette trop confuse.

Créez le graphique en pensant à votre public. Si le graphique s'adresse à un public général, il doit être aussi simple que possible et facile à interpréter, par exemple à l'aide de diagrammes circulaires ou de diagrammes à barres. N'incluez pas trop de catégories dans votre diagramme circulaire ; si vous avez plus de cinq ou six catégories, vous devriez envisager un autre type de graphique. Pensez à regrouper les catégories lorsque cela est pertinent par souci de simplicité. (Une catégorie « autre » peut parfois être utilisée pour regrouper les catégories aux effectifs très faibles.) Si le graphique est destiné à un public plus technique ou à des analyses plus complexes, un affichage plus détaillé, comme un nuage de points avec une droite de régression et des limites de confiance, peut être approprié. (La visualisation des données à l'aide de nuages de points est traitée dans Visualisation de données multivariées et de réseaux avec Python.)

Sélectionner le meilleur type de visualisation

Lors de la création de graphiques et d'affichages pour visualiser des données, le scientifique des données doit déterminer quel type de graphique conviendra le mieux aux données collectées et transmettra le plus fidèlement le message qu'elles révèlent. Cette section offre quelques conseils sur le type de graphique optimal pour différents scénarios.

Avant d'aborder la manière de choisir la meilleure visualisation, il est important de prendre en compte le type de données présentées. Rappelez-vous que les données peuvent être divisées en deux grandes catégories : les données qualitatives (qualitative data) (qui décrivent des catégories ou des groupes) et les données quantitatives (quantitative data) (données numériques), et que les données quantitatives sont en outre classifiées comme discrètes (discrete) (généralement des dénombrements) et continues (continuous) (généralement des mesures pouvant prendre n'importe quelle valeur dans un intervalle donné). Vous devez d'abord déterminer clairement le type de données à illustrer.

Ensuite, examinez attentivement l'objectif de la visualisation — c'est-à-dire, que cherchez-vous à accomplir avec ce graphique ou cette représentation ? Que vous révèlent vos données ? Comment sont-elles distribuées et quels motifs ou relations souhaitez-vous mettre en évidence ? Vous pouvez chercher à comparer différents groupes ou catégories, ou souhaiter montrer comment les données sont distribuées sur un certain intervalle. Rappelez-vous, d'après la discussion précédente sur la corrélation et la régression, que l'on cherche souvent à mettre en évidence des corrélations ou des relations entre des variables quantitatives. Le Tableau 9.4 propose quelques suggestions pour choisir la méthode graphique la plus appropriée en fonction de vos objectifs et de votre type de données.

Objectif de la visualisation Type de données Méthodes de visualisation à envisager
Montrer une comparaison de différents groupes ou catégories Qualitatives ou quantitatives
  • Les diagrammes à barres sont utiles pour comparer différents groupes ou catégories
  • Graphique à colonnes
Montrer des corrélations ou des relations entre des variables quantitatives Quantitatives
  • Nuage de points
  • Graphique de séries temporelles
  • Carte thermique
Montrer comment un tout est divisé en parties Quantitatives
  • Diagramme circulaire
Montrer comment les données sont distribuées sur un intervalle Quantitatives
  • Histogramme
  • Boîte à moustaches
Tableau 9.4 Résumé des méthodes de visualisation selon les objectifs et les données