Comment faire une analyse exploratoire des données (EDA) dans R (avec exemples)
Découvrez l'essentiel de l'analyse exploratoire des données, une démarche fondamentale pour identifier les schémas, les tendances et synthétiser les données à travers des outils statistiques et des représentations visuelles.
Tout projet de science des données est un processus complexe, nécessitant une planification rigoureuse et le respect de plusieurs étapes. L'analyse exploratoire des données (EDA) se révèle être une phase cruciale de ce parcours.
Dans cet article, nous allons explorer en détail ce qu'est l'analyse exploratoire des données et comment vous pouvez la réaliser en utilisant le langage R.
Comprendre l'analyse exploratoire des données
L'analyse exploratoire des données consiste à examiner et étudier les caractéristiques d'un ensemble de données. Cette étape intervient en amont de toute application, qu'elle soit orientée vers le commerce, la statistique ou l'apprentissage automatique.
La synthèse de la nature des informations et de leurs spécificités s'effectue généralement à l'aide de méthodes visuelles, comme les graphiques et les tableaux. Cette pratique préliminaire vise à évaluer le potentiel des données, qui seront par la suite traitées de manière plus sophistiquée.
L'EDA permet notamment de :
- Élaborer des hypothèses sur l'utilisation potentielle des données ;
- Mettre en lumière des détails cachés dans la structure des données ;
- Identifier les données manquantes, atypiques ou les comportements anormaux ;
- Découvrir les tendances et les variables pertinentes ;
- Éliminer les variables redondantes ou corrélées ;
- Déterminer le type de modélisation approprié.
Distinction entre analyse descriptive et exploratoire des données
Bien qu'elles soient complémentaires, l'analyse descriptive et l'analyse exploratoire des données ont des objectifs distincts.
L'analyse descriptive se concentre sur la description du comportement des variables à l'aide de mesures telles que la moyenne, la médiane et le mode.
L'analyse exploratoire, quant à elle, vise à identifier les liens entre les variables, à extraire des informations préliminaires et à orienter la modélisation vers des approches d'apprentissage automatique comme la classification, la régression et le clustering.
Bien que les deux types d'analyse puissent utiliser des représentations graphiques, seule l'analyse exploratoire cherche à produire des informations exploitables qui inciteront à l'action.
En résumé, l'analyse exploratoire des données cherche à résoudre des problèmes et à orienter la modélisation, tandis que l'analyse descriptive se limite à une description détaillée du jeu de données.
| Analyse Descriptive | Analyse Exploratoire des Données | |
| Objectif | Analyser le comportement des variables | Analyser le comportement et les relations entre variables |
| Résultat | Fournit un résumé | Mène à des actions et spécifications |
| Méthode | Organise les données en tableaux et graphiques | Organise les données en tableaux et graphiques |
| Pouvoir explicatif | N'a pas de pouvoir explicatif important | Possède un pouvoir explicatif important |
Exemples pratiques d'utilisation de l'EDA
#1. Le marketing digital
Le marketing numérique est devenu un processus basé sur les données. Les entreprises utilisent l'analyse exploratoire des données pour évaluer les performances des campagnes et orienter les investissements et le ciblage des clients.
Grâce aux données démographiques, à la segmentation client et autres techniques, les professionnels du marketing exploitent des volumes importants de données d'achat, d'enquêtes et de panels de consommateurs pour affiner leurs stratégies.
L'analyse exploratoire web permet de suivre les interactions sur un site web. Google Analytics est un exemple d'outil gratuit utilisé à cette fin.
Les techniques exploratoires courantes en marketing incluent la modélisation du mix marketing, l'analyse de prix et des promotions, l'optimisation des ventes et la segmentation des clients.
#2. Analyse exploratoire de portefeuille
L'analyse exploratoire de portefeuille est une autre application courante. Une banque ou un organisme de prêt possède un ensemble de comptes avec des niveaux de valeur et de risque variés.
Les comptes peuvent différer selon le statut social du titulaire, la situation géographique, la valeur nette et d'autres facteurs. L'établissement doit équilibrer le rendement des prêts avec le risque de défaut. La question est alors de savoir comment évaluer le portefeuille dans son ensemble.
Les prêts les moins risqués sont peut-être ceux accordés aux personnes fortunées, mais leur nombre est limité. Les prêts aux personnes moins aisées présentent un risque plus élevé, mais peuvent être plus nombreux.
L'analyse exploratoire des données peut combiner l'analyse de séries temporelles avec d'autres méthodes pour déterminer quand prêter de l'argent à différents segments d'emprunteurs ou le taux d'intérêt à appliquer. Les intérêts perçus auprès d'un segment couvrent les pertes au sein de ce même segment.
#3. Analyse exploratoire des risques
Des modèles prédictifs sont développés dans le secteur bancaire pour évaluer le risque associé à chaque client. Les scores de crédit sont utilisés pour prédire le comportement d'un individu et évaluer sa solvabilité.
L'analyse des risques est également pratiquée dans le monde scientifique et l'industrie de l'assurance. Elle est largement utilisée par les institutions financières, notamment les plateformes de paiement en ligne, pour déterminer si une transaction est authentique ou frauduleuse.
Ces institutions s'appuient sur l'historique des transactions des clients, notamment dans le cas des achats par carte bancaire. Lorsqu'une augmentation soudaine du volume des transactions est détectée, le client est contacté pour confirmer l'opération, réduisant ainsi les pertes liées à la fraude.
Réaliser l'analyse exploratoire des données avec R
Pour réaliser une EDA avec R, vous devez d'abord installer R et R Studio (IDE), puis installer et charger les packages suivants :
#Installation des packages
install.packages("dplyr")
install.packages("ggplot2")
install.packages("magrittr")
install.packages("tsibble")
install.packages("forecast")
install.packages("skimr")
#Chargement des packages
library(dplyr)
library(ggplot2)
library(magrittr)
library(tsibble)
library(forecast)
library(skimr)
Nous utiliserons un jeu de données économiques intégré à R, fournissant des indicateurs économiques annuels de l'économie américaine. Nous le renommerons "econ" par souci de simplicité :
econ <- ggplot2::economics
Pour effectuer l'analyse descriptive, nous utiliserons le package "skimr", qui calcule ces statistiques de manière claire et concise :
#Analyse descriptive
skimr::skim(econ)

Vous pouvez également utiliser la fonction "summary" pour une analyse descriptive :

Ici, l'analyse descriptive révèle que le jeu de données comporte 547 lignes et 6 colonnes. La date minimale est le 1967-07-01 et la date maximale le 2015-04-01. De plus, elle indique la valeur moyenne et l'écart type.
Vous avez maintenant une idée de base du contenu du jeu de données "econ". Traçons un histogramme de la variable "uempmed" pour mieux l'examiner :
#Histogramme du chômage
econ %>%
ggplot2::ggplot() +
ggplot2::aes(x = uempmed) +
ggplot2::geom_histogram() +
labs(x = "Chômage", title = "Taux de chômage mensuel aux États-Unis entre 1967 et 2015")

L'histogramme montre une queue étirée vers la droite, ce qui signifie qu'il existe peut-être des observations de cette variable avec des valeurs plus extrêmes. Il est intéressant de déterminer à quelles périodes ces valeurs se sont produites et quelle est la tendance de la variable.
Le moyen le plus simple d'identifier la tendance d'une variable est d'utiliser un graphique linéaire. Ci-dessous, nous générons un graphique linéaire et ajoutons une ligne de lissage :
#Graphique linéaire du chômage
econ %>%
ggplot2::autoplot(uempmed) +
ggplot2::geom_smooth()

Ce graphique montre qu'au cours de la période la plus récente, vers 2010, le taux de chômage a eu tendance à augmenter, dépassant les niveaux observés au cours des décennies précédentes.
Un autre point important, surtout dans les modèles économétriques, est la stationnarité des séries. Autrement dit, la moyenne et la variance sont-elles constantes dans le temps ?
Lorsque ces hypothèses ne sont pas vérifiées, on considère que la série a une racine unitaire (non stationnaire), ce qui signifie que les chocs subis par la variable génèrent un effet permanent.
Cela semble être le cas pour la variable "durée du chômage". Nous avons vu que les fluctuations de la variable ont considérablement changé, ce qui a des implications importantes pour les théories économiques qui traitent des cycles. Comment vérifier concrètement si la variable est stationnaire ?
Le package "forecast" propose une fonction pour appliquer des tests, tels que ADF et KPSS, qui indiquent le nombre de différences nécessaires pour que la série soit stationnaire :
#Test ADF pour vérifier la stationnarité
forecast::ndiffs(
x = econ$uempmed,
test = "adf")

La valeur de p supérieure à 0,05 indique que les données ne sont pas stationnaires.
Un autre problème important dans les séries chronologiques est l'identification des corrélations possibles (relation linéaire) entre les valeurs décalées de la série. Les corrélogrammes ACF et PACF permettent de l'identifier.
Étant donné que la série n'a pas de saisonnalité mais une tendance, les autocorrélations initiales tendent à être importantes et positives, car les observations proches dans le temps sont également proches en valeur.
La fonction d'autocorrélation (ACF) d'une série temporelle avec tendance a tendance à avoir des valeurs positives qui diminuent lentement à mesure que les décalages augmentent.
#Résidus du chômage
checkresiduals(econ$uempmed)
pacf(econ$uempmed)


Conclusion
Lorsque l'on reçoit des données plus ou moins propres, il est tentant de se plonger immédiatement dans la construction du modèle. Il est essentiel de résister à cette tentation et de commencer par effectuer une analyse exploratoire des données. Bien que simple, cette étape permet d'obtenir des informations précieuses sur les données.
N'hésitez pas à explorer également d'autres ressources pour approfondir vos connaissances en statistiques pour la science des données.