Chapitre 1 Introduction à l’analyse de données

Il n’y a pas de définition formelle et consensuelle de ce qu’est l’analyse de données alors voici la définition que l’on retiendra pour ce cours: il s’agit d’un ensemble de méthodes statistiques, mathématiques ou informatiques qui permettent de transformer la donnée en information. L’analyse de données sert essentiellement à prédire et à comprendre. Contrairement à plusieurs méthodes de statistiques traditionnelles, on ne cherche pas nécessairement à vérifier (tester une hypothèse) ou à prédire avec un intervalle de confiance précis. Les objectifs sont généralement un peu plus vagues que ce que vous verrez, par exemple, dans un cours de planification d’expérience; les données sont parfois de moins bonne qualité et surtout, elles ne sont pas issues d’expériences randomisées. Malgré ces écueils, il s’agit d’une branche des statistiques dont la croissance est fulgurante en raison de la croissance tout aussi fulgurante des données disponibles. Les chercheurs universitaires exploitent le potentiel des données depuis assez longtemps, mais les dernières années ont vu croitre leur exploitation par les entreprises privées (petites et grandes) et, dans une moindre mesure, les gouvernements. Les entreprises, comme les gouvernements, cherchent par exemple à:

  • comprendre leur clientèle;
  • trouver de nouveaux clients;
  • améliorer l’expérience client;
  • évaluer le risque d’un phénomène climatique;
  • détecter la fraude;
  • comprendre ou explorer un phénomène;
  • automatiser certaines tâches.

1.1 Les étapes d’un projet d’analyse de données

La majeure partie de ce cours est dédié aux modèles permettant l’analyse des données. Or, la réalisation concrète d’un projet d’analyse de données comporte plusieurs autres étapes. Dans l’ensemble du projet, la modélisation requiert généralement peu de temps, surtout si vous avez une formation théorique solide.

  1. Définition des objectifs
  2. Données
    • Inventaire des données
    • Constitution de la base de données
    • Exploration et préparation des données
  3. Élaboration et validation des modèles
  4. Documentation et présentation
  5. Mise en oeuvre
  6. Suivi de la performance et amélioration

Le tableau 1.1 est tiré du livre de Pyle (1999) (figure 1.1). L’auteur utilise une segmentation légèrement différente des étapes d’un projet, mais l’idée est similaire et son tableau fournit un exemple du temps requis pour chaque étape d’un projet.

Tableau 1.1: Temps requis pour chaque étape selon Pyle (1999)
Étape Temps requis
Identifier le problème 10%
Explorer la solution 9%
Spécification de l’implantation 1%
Préparation des données 60%
Analyse descriptive des données 15%
Modélisation 5%

La définition des objectifs est cruciale et c’est souvent l’étape la plus difficile. Il arrive que l’objectif soit clair. C’est le cas, par exemple, de la détection de la fraude dans le domaine de l’assurance: on veut identifier rapidement les réclamations potentiellement frauduleuses. Dans la majorité des situations, toutefois, le but est beaucoup plus flou. On pourrait, par exemple, vous fournir une base de données avec des informations sur la clientèle et vous demander de l’exploiter de façon à améliorer l’expérience client. Bien définir les objectifs est une compétence qui s’acquiert généralement avec de l’expérience. Elle nécessite une bonne compréhension des modèles, des données et du domaine d’application. À défaut de connaître le domaine d’application, il faut faire preuve de curiosité, savoir poser les bonnes questions et être enclin au travail d’équipe et à la collaboration.

L’étape suivante, la préparation des données, est souvent de l’étape la plus longue d’un projet et nous y sommes généralement peu préparés. Le chapitre 2 vous fournira quelques outils pour vous aider dans cette étape.

L’élaboration et la validation des modèles retenus constituent la majeure partie de ce cours. Nous couvrirons plusieurs méthodes permettant l’apprentissage supervisé et non supervisé.

Le déploiement, la mise en oeuvre, le suivi de la performance et l’enrichissement du modèle seront brièvement abordés à la toute fin du cours.

1.2 L’apprentissage supervisé, non supervisé et par renforcement

1.2.1 Apprentissage supervisé

Dans les techniques supervisées, la tâche est d’expliquer ou de prédire la valeur d’une certaine variable réponse \(Y\) en fonction de variables explicatives \(X\). On cherche à classifier, prédire, estimer. Mathématiquement, on s’intéresse à la distribution conditionnelle de \(Y|\boldsymbol{X}\).

1.2.2 Apprentissage non supervisé

Dans les techniques non supervisées, on s’intéresse à identifier des relations, associations ou groupements significatifs. On s’intéresse à la distribution conjointe des \(\boldsymbol{X}\). Autrement dit, il n’y a pas de variable réponse. On cherche à faire des groupements (clustering), à segmenter ou à décrire.

1.2.3 Apprentissage par renforcement

L’apprentissage par renforcement est une approche plus récente. Elle est davantage associée à l’intelligence artificielle. Dans cette approche, l’apprentissage se fait par essai et erreur. Lors de l’entraînement de ce type de modèle, une réussite obtient une récompense et, pour simplifier, le modèle cherche la solution qui maximise les chances d’obtenir une récompense. Nous ne couvrons pas ce type de modèle dans ce cours.

1.3 Les logiciels

Présentement, deux langages dominent le monde de la science des données: Python et R. Ils offrent les avantages suivants:

  • Ils sont ouverts, gratuits;
  • Ils sont très flexibles;
  • Ils offrent des méthodes très à jour, car c’est généralement dans ces deux langages que les développements universitaires sont implémentés;
  • Ils permettent de reproduire facilement le travail effectué et d’automatiser la manipulation des données;
  • Il est très facile d’obtenir de l’aide sur le web (Stack Overflow).

R est davantage utilisé par les gens avec un profil en statistique alors que Python est davantage utilisé par les gens avec un profil en informatique. Les méthodes proposées par les deux logiciels peuvent donc différer. Les méthodes statistiques très avancées ne sont pas offertes en Python. Ce dernier offre toutefois une plus grande performance au niveau de certains algorithmes très exigeants. Les deux langages.

Les inconvénients de ces langages sont:

  • La difficulté d’apprentissage;
  • La stabilité n’est pas garantie d’une version à l’autre (R)

Parmi les logiciels propriétaires, on considère généralement SAS (et SAS Enterprise Miner) et SPSS (et SPSS Modeler). Voici les avantages des deux logiciels:

  • L’apprentissage peut être plus facile (interface graphique);
  • Les versions sont stables;
  • Les algorithmes sont testés de façon rigoureuse.

Leurs inconvénients sont:

  • Leur coût;
  • Le choix des méthodes est plus limité;
  • La reproductibilité est difficile avec les interfaces graphiques.

Ce livre utilise R pour la vaste majorité des exemples.

Voici une liste des librairies nécessaires.

library(devtools)

# Lire, nettoyer et manipuler des données
library(dplyr)
library(readr)
library(tidyr)
library(tibble)

# Pour afficher des données dynamiques
library(DT)
library(leaflet)
library(knitr)

# Couleurs
library(RColorBrewer)
library(viridis)

library(mvtnorm)
library(ggplot2)
library(rgl)
library(plotly)
library(easyGgplot2)

# Trouver des données
library(CANSIM2R)
library(rclimateca)

#Les dates
library(zoo)

# Méthodes
library(FactoMineR)

Références

Pyle, Dorian. 1999. Data Preparation for Data Mining. morgan kaufmann.