Comment faire une analyse exploratoire des données (EDA) dans R (avec exemples)

Apprenez tout ce que vous devez savoir sur l’analyse exploratoire des données, un processus critique utilisé pour découvrir les tendances et les modèles et résumer les ensembles de données à l’aide de résumés statistiques et de représentations graphiques.

Comme tout projet, un projet de data science est un long processus qui demande du temps, une bonne organisation, et un respect scrupuleux de plusieurs étapes. L’analyse exploratoire des données (EDA) est l’une des étapes les plus importantes de ce processus.

Par conséquent, dans cet article, nous examinerons brièvement ce qu’est l’analyse exploratoire des données et comment vous pouvez l’effectuer avec R !

Qu’est-ce que l’analyse exploratoire des données ?

L’analyse exploratoire des données examine et étudie les caractéristiques d’un ensemble de données avant qu’il ne soit soumis à une application, qu’elle soit exclusivement commerciale, statistique ou d’apprentissage automatique.

Ce résumé de la nature de l’information et de ses principales particularités se fait généralement par des méthodes visuelles, telles que des représentations graphiques et des tableaux. La pratique est menée en amont justement pour évaluer le potentiel de ces données, qui recevront un traitement plus complexe dans le futur.

L’EDA permet donc :

  • Formuler des hypothèses pour l’utilisation de ces informations ;
  • Explorez les détails cachés dans la structure des données ;
  • Identifier les valeurs manquantes, les valeurs aberrantes ou les comportements anormaux ;
  • Découvrez les tendances et les variables pertinentes dans leur ensemble ;
  • Éliminer les variables non pertinentes ou les variables corrélées avec d’autres ;
  • Déterminer la modélisation formelle à utiliser.

Quelle est la différence entre l’analyse descriptive et exploratoire des données ?

Il existe deux types d’analyse de données, l’analyse descriptive et l’analyse exploratoire de données, qui vont de pair, malgré des objectifs différents.

Alors que le premier se concentre sur la description du comportement des variables, par exemple, la moyenne, la médiane, le mode, etc.

L’analyse exploratoire vise à identifier les relations entre les variables, à extraire des informations préliminaires et à orienter la modélisation vers les paradigmes d’apprentissage automatique les plus courants : classification, régression et clustering.

En commun, les deux peuvent traiter de la représentation graphique ; cependant, seule l’analyse exploratoire cherche à apporter des informations exploitables, c’est-à-dire des informations qui provoquent l’action du décideur.

Enfin, alors que l’analyse exploratoire de données vise à résoudre des problèmes et à apporter des solutions qui guideront les étapes de modélisation, l’analyse descriptive, comme son nom l’indique, ne vise qu’à produire une description détaillée du jeu de données en question.

Analyse descriptiveAnalyse exploratoire des donnéesAnalyse le comportementAnalyse le comportement et la relationFournit un résumé Mène à des spécifications et à des actionsOrganise les données dans des tableaux et des graphiquesOrganise les données dans des tableaux et des graphiquesN’a pas de pouvoir explicatif significatifA un pouvoir explicatif significatif

Quelques cas pratiques d’utilisation de l’EDA

#1. Le marketing numérique

Le marketing numérique est passé d’un processus créatif à un processus axé sur les données. Les organisations de marketing utilisent l’analyse exploratoire des données pour déterminer les résultats des campagnes ou des efforts et pour guider les investissements des consommateurs et les décisions de ciblage.

Les études démographiques, la segmentation de la clientèle et d’autres techniques permettent aux spécialistes du marketing d’utiliser de grandes quantités de données d’achat, d’enquête et de panel de consommateurs pour comprendre et communiquer le marketing stratégique.

L’analyse exploratoire Web permet aux spécialistes du marketing de collecter des informations au niveau de la session sur les interactions sur un site Web. Google Analytics est un exemple d’outil d’analyse gratuit et populaire que les spécialistes du marketing utilisent à cette fin.

Les techniques exploratoires fréquemment utilisées en marketing comprennent la modélisation du marketing mix, les analyses de tarification et de promotion, l’optimisation des ventes et l’analyse exploratoire des clients, par exemple la segmentation.

#2. Analyse exploratoire du portefeuille

Une application courante de l’analyse exploratoire des données est l’analyse exploratoire du portefeuille. Une banque ou une agence de prêt a une collection de comptes de valeur et de risque variables.

Les comptes peuvent différer selon le statut social du titulaire (riche, classe moyenne, pauvre, etc.), l’emplacement géographique, la valeur nette et de nombreux autres facteurs. Le prêteur doit équilibrer le rendement du prêt avec le risque de défaut pour chaque prêt. La question devient alors de savoir comment valoriser le portefeuille dans son ensemble.

Le prêt le moins risqué est peut-être pour les personnes très riches, mais il y a un nombre très limité de personnes fortunées. D’autre part, de nombreuses personnes pauvres peuvent prêter, mais à un plus grand risque.

La solution d’analyse exploratoire des données peut combiner l’analyse des séries chronologiques avec de nombreux autres problèmes pour décider quand prêter de l’argent à ces différents segments d’emprunteurs ou le taux de prêt. Les intérêts sont imputés aux membres d’un segment de portefeuille pour couvrir les pertes entre les membres de ce segment.

#3. Analyse exploratoire des risques

Des modèles prédictifs dans le secteur bancaire sont en cours de développement pour fournir une certitude sur les scores de risque pour les clients individuels. Les cotes de crédit sont conçues pour prédire le comportement délinquant d’un individu et sont largement utilisées pour évaluer la solvabilité de chaque demandeur.

En outre, l’analyse des risques est effectuée dans le monde scientifique et l’industrie de l’assurance. Il est également largement utilisé dans les institutions financières telles que les sociétés de passerelles de paiement en ligne pour analyser si une transaction est authentique ou frauduleuse.

À cette fin, ils utilisent l’historique des transactions du client. Il est plus couramment utilisé dans les achats par carte de crédit ; lorsqu’il y a un pic soudain du volume de transactions client, le client reçoit un appel de confirmation s’il a initié la transaction. Cela aide également à réduire les pertes dues à de telles circonstances.

Analyse exploratoire des données avec R

La première chose dont vous avez besoin pour effectuer EDA avec R est de télécharger R base et R Studio (IDE), puis d’installer et de charger les packages suivants :

#Installing Packages
install.packages("dplyr")
install.packages("ggplot2")
install.packages("magrittr") 
install.packages("tsibble")
install.packages("forecast")
install.packages("skimr")

#Loading Packages
library(dplyr)
library(ggplot2)
library(magrittr)
library(tsibble)
library(forecast)
library(skimr)

Pour ce didacticiel, nous utiliserons un ensemble de données économiques intégré à R et fournissant des données d’indicateurs économiques annuels de l’économie américaine, et changerons son nom en econ pour plus de simplicité :

econ <- ggplot2::economics

Pour effectuer l’analyse descriptive, nous utiliserons le package skimr, qui calcule ces statistiques de manière simple et bien présentée :

#Descriptive Analysis
skimr::skim(econ)

Vous pouvez également utiliser la fonction de synthèse pour une analyse descriptive :

Ici, l’analyse descriptive montre 547 lignes et 6 colonnes dans l’ensemble de données. La valeur minimale correspond au 1967-07-01 et la valeur maximale correspond au 2015-04-01. De même, il montre également la valeur moyenne et l’écart type.

Vous avez maintenant une idée de base de ce qui se trouve à l’intérieur de l’ensemble de données econ. Traçons un histogramme de la variable uempmed pour mieux regarder les données :

#Histogram of Unemployment
econ %>%
  ggplot2::ggplot() +
  ggplot2::aes(x = uempmed) +
  ggplot2::geom_histogram() +
  labs(x = "Unemployment", title = "Monthly Unemployment Rate in US between 1967 to 2015")

La distribution de l’histogramme montre qu’il a une queue allongée à droite ; c’est-à-dire qu’il existe peut-être quelques observations de cette variable avec des valeurs plus « extrêmes ». La question se pose : à quelle période ces valeurs ont-elles eu lieu, et quelle est la tendance de la variable ?

Le moyen le plus direct d’identifier la tendance d’une variable consiste à utiliser un graphique linéaire. Ci-dessous, nous générons un graphique linéaire et ajoutons une ligne de lissage :

#Line Graph of Unemployment
econ %>%
  ggplot2::autoplot(uempmed) +
  ggplot2::geom_smooth()

À l’aide de ce graphique, nous pouvons identifier que dans la période la plus récente, dans les dernières observations de 2010, il y a une tendance à une augmentation du chômage, dépassant l’historique observé au cours des décennies précédentes.

Un autre point important, notamment dans les contextes de modélisation économétrique, est la stationnarité de la série ; autrement dit, la moyenne et la variance sont-elles constantes dans le temps ?

Lorsque ces hypothèses ne sont pas vraies dans une variable, on dit que la série a une racine unitaire (non stationnaire) de sorte que les chocs que subit la variable génèrent un effet permanent.

Cela semble avoir été le cas pour la variable en question, la durée du chômage. Nous avons vu que les fluctuations de la variable ont considérablement changé, ce qui a de fortes implications liées aux théories économiques qui traitent des cycles. Mais, partant de la théorie, comment vérifie-t-on pratiquement si la variable est stationnaire ?

Le package de prévision a une excellente fonction permettant d’appliquer des tests, tels que ADF, KPSS, et autres, qui renvoient déjà le nombre de différences nécessaires pour que la série soit stationnaire :

 #Using ADF test for checking stationarity
forecast::ndiffs( 
  x    = econ$uempmed,
  test = "adf")

Ici, la valeur de p supérieure à 0,05 montre 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 (la relation linéaire) entre les valeurs décalées de la série. Les corrélogrammes ACF et PACF permettent de l’identifier.

Comme la série n’a pas de saisonnalité mais a une certaine tendance, les autocorrélations initiales ont tendance à être importantes et positives car les observations proches dans le temps sont également proches en valeur.

Ainsi, la fonction d’autocorrélation (ACF) d’une série chronologique tendancielle a tendance à avoir des valeurs positives qui diminuent lentement à mesure que les retards augmentent.

#Residuals of Unemployment 
checkresiduals(econ$uempmed) 
pacf(econ$uempmed)

Conclusion

Lorsque l’on met la main sur des données plus ou moins propres, c’est-à-dire déjà nettoyées, on est immédiatement tenté de plonger dans l’étape de construction du modèle pour en tirer les premiers résultats. Vous devez résister à cette tentation et commencer à faire une analyse exploratoire des données, ce qui est simple mais nous aide à tirer des informations puissantes sur les données.

Vous pouvez également explorer certaines des meilleures ressources pour apprendre les statistiques de la science des données.