Année Universitaire 2019-2020
Data Science
Zouaoui Slim
[email protected]
Introduction
Définition
Le Data science est un nouveau champ situé au croisement de
la statistique et des technologies de l’information (bases de
données, intelligence artificielle, apprentissage etc.) dont le
but est de découvrir des structures dans de vastes ensembles
de données. La métaphore du Data Mining signifie qu’il y a
des trésors ou pépites cachés sous des montagnes de données
que l’on peut découvrir avec des outils spécialisés.
Introduction
Définition
C’est l’ensemble des algorithmes, méthodes et technologies
inspirés de plusieurs autres disciplines, pouvant servir à
remplacer ou à aider l’expert humain ou le décideur dans un
domaine spécifique dans le cadre de prise de décision, et ce
en fouillant dans des bases de données décisionnelles des
corrélations, des associations, des comportements homogènes,
des formules de lien entre indicateurs, des spécification par
rapport à une thématique bien déterminée, etc.
L’organisation du flux d’informations de Data Science
Domaines d’application
Détection d'usage frauduleux de cartes bancaires.
Gestion du risque lié à l'attribution de prêts par le
scoring.
Découverte de relations cachées entre les indicateurs
financiers.
Détection de règles de comportement boursier par
l'analyses des données du marché.
Utilisation du score de risque pour proposer le
montant de crédit le plus adapté à chaque client.
Aide à la décision de paiement.
Identification des clients susceptibles de partir à la
concurrence.
Domaines d’application
Détection d’associations des comportements
d’achats.
Découverte des caractéristiques de clients.
Identification des clients susceptibles de partir à la
concurrence..
Classifications des clients .
Aide à la décision de paiement.
Domaines d’application
Détection d’associations des demandes de
remboursements
Identification de clients potentiels de nouvelles
polices d'assurances.
Détection d'association de comportements
pour la découverte de clients à risque.
Détection de comportement frauduleux.
Prendre un client à un concurrent.
Faire monter en gamme un client que l’on
détient déjà.
Domaines d’application
Diagnostique assisté par ordinateur (CAD) par
l'apprentissage de systèmes experts
Explication ou prédiction de la réponse d'un patient
à un traitement
Mettre en évidence des facteurs de risque ou de
rémission dans certaines maladies.
Choisir le traitement le plus approprié pronostic des
infarctus et des cancers (décès, survie)
Prédire le temps de rétablissement après une
opération, en fonction des données concernant le
patient (âge, poids, taille, fumeur, métier, antécédents
médicaux, etc.) et le praticien (nb d’opérations
pratiquées, nb d’années d’expérience, etc.)
Préparation des données
1- Données existantes ou à constituer :
• Fichiers : information contenue dans un ou plusieurs fichiers indépendants
• BD relationnelles : information contenue dans plusieurs fichiers unis par une
‘clé’ commune
• Base de données Transactionnelles
2- Nettoyage :
• doublons, erreurs de saisie, valeurs aberrantes
• données manquantes, informations manquantes (ignorer l’observation, valeur
moyenne (!!), valeur moyenne sur la classe, régression…)
3- Data Warehouses :
Entrepôt de données collectées de sources multiples souvent hétérogènes
• Les données sont enregistrées, nettoyées, transformées et intégrées
• Habituellement modélisé par une structure de donnée multidimensionnelles
(cube). les cubes sont bien adaptés aux requêtes rapides et à l’analyse des
données : On-Line Analytical Processing (OLAP).
Méthodologie de travail
1- KDD / ECD :
• Knowledge Discovery in Databases / Extraction de Connaissances à partir de Données
• Un processus pour la fouille de données qui a bien répondu aux besoins d’entreprises, et qui
est devenu rapidement très populaire.
• Des motifs valides, utiles et exploitables à partir des grandes quantités de données
2- SEMMA :
• Sample, Explore, Modify, Model, Assess
• L’Institut SAS définit le data mining comme le processus utilisé pour révéler des
informations précieuses et des relations complexes qui existent dans de grandes quantités de
données (BIG DATA, OPEN DATA).
• SAS divise la fouille de données en cinq étapes représentées par l’acronyme SEMMA
3- CRISP-DM :
• CRoss-Industry Standard Process for Data Mining
• Une méthode mise à l'épreuve sur le terrain permettant d'orienter les travaux de Data mining .
• Processus de data mining qui décrit une approche communément utilisée par les experts pour
résoudre les problèmes qui se posent à eux.
Méthodologie de travail
Méthodologie de travail
Méthodologie de travail
Méthodologie de travail : exemple
Deux familles de techniques
Deux familles de techniques
Types d’applications
Sommaire
Analyse en composantes principales
Analyse factorielle de correspondance
Méthodes de classification
modélisation linéaire simple et multiple cran.r-project.org
Analyse discriminante
Arbre de Décision
réseaux de neurones
anaconda.com
Introduction au Big Data
Analyse en composantes principales
L’Analyse en Composantes Principales (ACP) a pour objectif de
résumer un ensemble de données quantitatives. Ces données sont
relatives à un grand nombre d’individus et /ou de variables illustrés
dans un tableau à n lignes (chaque ligne représente un individu de
l’échantillon étudié composé de n observations) et p colonnes. p
étant le nombre de variables quantitatives mesurées sur les n
individus. Elle permet notamment de :
Décrire et représenter le réseau d’interaction entre les variables.
Décrire et représenter les ressemblances entre les individus % à
l’ensemble des variables.
Ainsi par le biais de l’ACP, on va synthétiser l’information fournie
par les p variables et ce en construisant un certain nombre de
variables nouvelles, les composantes principales, qui sont des
combinaisons linéaires des différentes variables initiales.
I - Présentation des données :
Soit X un tableau à n lignes et p colonnes.
X1 X2 ….. Xp-1 Xp
1 x11 x21 ….. x(p-1)1 xp1
2 x12 x22 ….. x(p-1)2 xp2
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
n-1 x1(n-1) x2(n-1) ….. x(p-1)(n-1) xp(n-1)
n x1n x2n ….. x(p-1)n xpn
Exemple : considérons deux variables X1 et X2 mesurées sur cinq
individus.
Individu X1 X2 5
1 1 5 2
2 2 10
3 3 8 3 4
4 4 8
5 9 12 1
X1 3,8 ; X2 8,6
X1 2,79 ; X2 2,33
Les deux variables étudiées ne sont pas homogènes et de plus, elles
n’ont pas d’importances égales. Afin de remédier à ce problème, on
procède à une transformation des données et ce en déterminant les
variables centrées et réduites et telles que
~ X X1 ~ X X2
X1 1 et X2 2
X
X 1
2
Ainsi, les deux variables ont la même moyenne (égale à 0) et la
même variance (égale à1)
On obtient le tableau suivant :
Individu ~ ~
X1 X2
1 -1,005 -1,543
2 -0.0646 -0,06
3 -0,0287 -0,257
4 0,072 -0,257
5 1,867 1,458
Les individus seront représentés dans un nouveau repère dont
l’origine est le centre de gravité du nuage de points. On a procédé
donc à une translation de l’origine du repère passant du point o
au centre de gravité du nuage dont les coordonnées dans l’ancien
repère étaient les moyennes respectives des variables X1 et X2 .
Centrage et réduction des données
II – La détermination des facteurs et des composantes
principales :
II . 1– Covariance et coefficient de corrélation
On définit la covariance entre deux variable X et Y par :
1 n
cov( X , Y ) ( xi x)( yi y )
n i 1
Si cov ( , ) = 0 : les deux variables ne sont pas corrélées,
Si cov ( , ) > 0 : dépendance linéaire positive.
Si cov ( , ) < 0 : dépendance linéaire négative.
L’appréciation de la liaison entre deux variables et la
comparaison des couples de variables n’est pas évidente avec
la covariance.
v11 cov12 ... cov1p
On définit la matrice de variance 1
cov 2 v22
covariance entre les variables V
1 p
cov p ... v p
On définit le coefficient de corrélation linaire entre deux variable X
et Y par :
n
cov( X , Y ) ( x x )( y
i i y)
cor ( X , Y ) xy i 1
var( X ) * var(Y ) n 2 n
( xi x)
i 1
i 1
( yi y ) 2
On a toujours (inégalité de Cauchy Schwarz) :
1 cor ( X , Y ) 1
1 12 1p
On définit la matrice de 1
1
corrélation entre les variables Cor 2
1
p 1
Cette matrice est symétrique définit et positive
Remarque
~ x ~
x 21 ~
x 31 ~
x p1
~ 11 ~ ~ ~
On pose la matrice des données x 12 x 22 x 32 x p2
~ x ~
x ~ x p3
x 33 ~
centrées et réduites ~ 13 23
~ x ij x j
X x ij
σX j
~
x 1n
~
x 2n ~ x pn
x 3n ~
1 ~ ~
Cor tr ( X ) * ( X )
n 1
L’examen de la forme de nuage de points peut présenter un grand
intérêt pour l’étude de la structure de données et pour les relations
qui existent entre les différents points.
Un tel examen n’est plus possible si la dimension de l’espace
considéré est élevé (>3). La solution est l’analyse factorielle qui
permet une visualisation de ce nuage de points en le projetant sur un
espace de dimension réduite.
II . 2– La détermination des composantes principales :
X Y
Si on vous demande de
représenter une bouteille
que dessinerez-vous ? Y Z
Cette partie consiste à synthétiser les données contenues dans le
tableau des données transformées (centrées et réduites). Pour cela,
on construit un nombre de facteurs nouvelles C1, C2, C3, …et Cp
appelées composantes principales, permettant de saisir l’essentiel du
tableau .
; II . 2– La détermination des composantes principales :
II.2.1– Analyse de l’espace des individus
;
Exemple : considérons deux variables vitesse d’un microprocesseur et capacité
d’une disque dur mesurées sur cinq ordinateurs. Dans ce cas, on peut représenter
les cinq ordinateurs dans le plan formé par les deux variables VIT et CAP..
Individu VIT CAP 140
(GHZ) (GB) 120
1 1.3 6 100
Capacité (GB)
2 2.6 40 80
60
3 3 120
40
4 0.6 4
20
5 2.8 60
0
0 0,5 1 1,5 2 2,5 3 3,5
On a : VIT 2.06 CAP 46 Vitesse (GHZ)
VIT 1.05 CAP 47.06
On constate que les deux variables n’ont pas le même ordre de grandeur. La
différence d’une unité de mesure sur la vitesse n’a pas la même importance que
celle d’une unité de mesure sur la capacité.
; II . 2– La détermination des composantes principales :
II.2.1– Analyse de l’espace des individus
;
on procède à une transformation des données et ce en déterminant les variables
~
centrées et réduites et on obtient le tableau X
~
X 3,0
2,5
Individu 2,0
1,5
Capacité (GB)
1 -0,724 6
1,0
2 0,514 40 0,5
3 0,895 120
0,0
4 -1,390 4 -2,0 -1,5 -1,0 -0,5 -0,5 0,0 0,5 1,0 1,5
5 0,705 60
-1,0
-1,5
Vitesse (GHZ)
La seconde étape consiste à synthétiser les données contenues dans le tableau
des données transformées (centrées et réduites). Pour cela, on construit un
nombre de variables nouvelles C1, C2, C3, …et Cp appelées composantes
~
principales, permettant de saisir l’essentiel du tableau X
II . 2– La détermination des composantes principales :
II.2.1– Analyse de l’espace des individus
Dans cet espace, les n individus forment un nuage de points. L’objet de l’Analyse
en Composantes Principales est de décrire de façon synthétique la dispersion du
nuage de points.
A la première étape, l’ACP détermine l’axe D1 passant par l’origine (le centre de
gravité du nuage) selon lequel la dispersion du nuage de points est maximale.
Cet axe D1 passe au plus près du nuage de points, c'est-à-dire est tel que la
moyenne des carrés des distances entre les n points et l’axe D1 est minimale.
Soit u1 le vecteur directeur normé de D1. u1 est alors le vecteur propre normé
associé à la valeur propre la plus élevée de la matrice de corrélation entre les
variables.
Démonstration
D1
Cet axe D1 passe au plus près du nuage de points,
c'est-à-dire est tel que l’inertie entre les n points et
l’axe D1 est minimale.
Soit U le vecteur directeur normé de D1
Inertie Minimale donc Inertie expliquée maximale
La recherche d’un maximum devient un problème d’optimisation :
Soit le lagrangien définit par :
Donc U est un vecteur propre de la matrice qui est égale à la matrice de
corrélation entre les variables associé à la valeur propre λ
II . 2– La détermination des composantes principales :
Ainsi à la première étape, l’ACP fournit la meilleure représentation
unidimensionnelle possible du nuage de point mais elle s’avère insuffisante pour
décrire complètement le nuage de n points. La dispersion du nuage dans les
directions de l’espace orthogonales à D1 n’est pas décrite par cette étape.
Durant la seconde étape, l’ACP détermine un axe D2 de vecteur directeur normé
u2 orthogonal à u1 passant au plus près du nuage de points. Le vecteur u2 est le
vecteur propre normé de la matrice de corrélation associé à sa deuxième valeur
propre.
On continue ainsi de suite la procédure, afin de compléter la description du nuage
de points donnée par les deux premières étapes.
A l’étape k, l’ACP détermine l’axe Dk passant par l’origine, de vecteur directeur
normé uk orthogonal aux différents vecteurs ul (l=1, 2, 3,…, k-1) selon lequel la
dispersion du nuage de points est maximale. Cet axe Dk passe au plus près du
nuage de points.
II.2.2– Contributions des composantes principales à
l’inertie totale :
En utilisant le théorème de Huygens, on peut décomposer l’inertie
totale du nuage des individus
I G I * I * ......... I * 1 1 ...... p
1 1 p
La contribution absolue de l’axe ∆k à l’inertie totale du nuage des
individus est égale à :
Contributions( k / I G ) k Valeur propre associé
Sa contribution relative est égale à :
k On emploie souvent
cr ( k / I G ) l’expression « le pourcentage
1 2 ..... p d’inertie ou d’information »
On peut étendre ces définitions à tous les sous-espaces engendrés
par les nouveaux axes. Ainsi, le pourcentage d’inertie expliqué par le
plan engendré par les deux premiers axes ∆1 et ∆2 est égal à :
1 2
cr (1 2 / I G )
1 2 ..... p
Ces pourcentages d’inertie sont des indicateurs qui rendent compte
de la part de variabilité du nuage des individus expliquée par ces
sous-espaces. Si les dernières valeurs propres ont des valeurs
faibles, on pourra négliger la variabilité qu’expliquent les axes
correspondants.
Reprenons l’exemple
Continuons l’exemple précédemment cité.
La matrice de corrélation entre les variables s’écrit :
1 ~ ~ 1 0,84
X' X
n 0,84 1
Les facteurs sont les vecteurs propres normés de cette matrice de
corrélation.
0 ,707
Le premier facteur associé à la valeur propre 1,84 est égal à
0 ,707
tandis que le second facteur associé à la deuxième valeur propre
0,16 est égal à
0 ,707
0 ,707
Par conséquent, les composantes principales s’écrivent :
~ ~ ~ ~
C 1 0 ,707 X 1 0 ,707 X 2 C 2 0 ,707 X 1 0 ,707 X 2
Et les pourcentages de variance expliquée sont (1,84 /2) soit
91,99% pour le premier axe et (0,16 /2) soit 8,01% pour le second
axe.
Les corrélations entre les variables de départ et les composantes
principales peuvent être déterminées comme suit :
~
C1 ; X~1
0,707 0,96 Cord C1 ( X 1 )
C ; X~ 1,84 0,707 0,96 Cord ( X~ )
1 2 C1 2
~
C2 ; X~1 0, 707 0, 28 Cord ( X 1)
0,16 C2
~
C ; X~
2 2 0,707 0,28 Cord C2 ( X 2 )
Cercle de corrélation
III– La représentation des individus :
L’information pertinente est donc celle donnée par les premières
étapes. Il s’agit maintenant d’analyser simultanément les résultats
de ces premières étapes. Cette analyse se fait en établissant des
cartes de proximités entre les individus et des cartes de corrélation
entre les variables.
Pour faire la représentation des individus dans les plans définis par les
nouveaux axes, il suffit de calculer les coordonnées des individus
dans les nouveaux axes.
La lecture des graphiques est facilitée par le calcul de deux aides à
l’interprétation : la qualité de représentation d’un individu et les
contributions des individus à la variance.
C 12
III–1 Coordonnées des individus :
~
Les coordonnées de X~ 1 sont donc 0,96 et 0,28 tandis que celles de X 2
sont 0,96 et -0,28.
~ ~
X 1 et X 2 sont positivement et fortement corrélées avec la première
composante principale. Au contraire, ces deux variables sont assez
faiblement corrélées avec la seconde composante principale.
~ ~ ~ ~
Comme C1 0 ,707 X 1 0 ,707 X 2 C 2 0 ,707 X 1 0 ,707 X 2
on obtient les coordonnées des individus.
Individu C1 C2
1 -1,802 0,381
2 -0 ,032 -0,881
3 -0,385 -0,021
4 0,131 -0,233
5 2,351 0,289
III–2 La qualité de représentation des individus :
Dans l’espace des individus, on dispose de deux bases : la base
d’origine : dans cette base les coordonnées de l’individu i sont ~xi1 ~xi2
~
,… x.ip .Et la base orthonormées constituée par les p facteurs : dans
cette base les coordonnées de l’individu i sont y i1 , y i2 , … y ip
Le carré de la distance de l’individu i au centre du nuage est égal à
p p
~
ij en effectuant les calculs avec la première base et
x
j1
2
ij
y 2
j 1
p p
~
en effectuant les calculs avec la seconde base et donc ij ij
2 2
x y
j1 j1
La qualité de représentation de l’individu i sur l’axe ∆k est
yik2 yik2 Cette qualité de représentation est égale au
donc mesurée par p
p carré du cosinus de l’angle entre le vecteur
~x
j 1
2
ij ij
y 2
j 1
représentatif du point i et le vecteur directeur
de l’axe ∆k.
III–3 Les contributions des individus à la variance :
La variance expliquée à l’étape r est égale à la valeur propre λ r
n
1
qui est égale à c ri2
n i 1
1 2
La part de cette variance due à l’individu i est : c ri
n
La contribution de l’individu i à la variance de l’axe r est donc
mesurée par :
1 2 1 2
c ri c ri
n n c ri2
n
λr nλr
1
c ri2
n i 1
Pour un axe donné la somme des contributions de tous les
individus est égale à 100%. Si la contribution d’un individu à un
axe donné est importante, ceci signifie que cet individu joue un
rôle important dans la construction de cet axe.
Reprenons l’exemple
Pour faciliter l’interprétation des résultats calculons maintenant,
la qualité de représentation de chaque individu pour chacun des
deux axes, à partir des coordonnées de chaque individu sur ces
deux axes.
Pour l’individu 4, par exemple, la qualité de représentation est :
( 0 ,131 ) 2
Axe1 : 0 ,24
( 0 ,072 ) ( 0 ,257 )
2 2
( 0 ,233 ) 2
Axe 2 : 0 ,76
( 0 ,072 ) ( 0 ,257 )
2 2
Pour ce même individu 4, la contribution à la variance est :
( 0 ,131 ) 2
Axe1 : 0 ,002
5( 1,788 )
( 0 ,233 )2
Axe 2 : 0 ,051
5( 0 ,212 )
Et on obtient pour l’ensemble des individus les tableaux suivants :
Qualité de représentation Contribution à la
Individu Axe1 Axe 2 Total variance
1 0,96 0,04 1 Individu Axe1 Axe 2
2 0,01 0,99 1 1 0,36 0,14
3 0,99 0,01 1 2 0,00 0,73
4 0,24 0,76 1
3 0,02 0,00
5 0,98 0,02 1
4 0,00 0,05
5 0,62 0,08
Total 1 1
Les individus 1 et 5 sont ceux qui contribuent le plus fortement à la variance sur
le premier axe. Sur cet axe, ils s’opposent, puisque l’individu 1 est à gauche de
l’axe et l’individu 5 à la droite de l’axe. L’interprétation est simple : le premier
~ ~
axe est lié fortement aux variables X 1 et X 2 et représente « la taille » des
individus : les individus 1 et 5 sont ceux qui connaissent des valeurs extrêmes à la
~ ~
X
fois pour 1 et X 2 , petites pour l’individu 1 et grandes pour l’individu 5.
Notons que l’individu 3 est presque parfaitement représenté sur
l’axe 1 : sa position correspond aux valeurs qu’il prend pour
~
variables 1 et X~ 2 c'est-à-dire légèrement en dessous de la moyenne
X
pour chacune des deux variables.
C’est l’individu 2 qui contribue à la variance de l’axe 2 ; en fait, cet
~
axe est lié positivement à X~ 1 et négativement à X 2 et la position de
~
X
l’individu 2 est due à la faible valeur qu’il prend pour 1 par
~
rapport à la forte valeur prise par X 2 . A l’opposé, l’individu 4, bien
~
représenté sur le second axe, doit sa position à une valeur de X 1
~
relativement forte par rapport à la valeur prise par X 2 .
TP 1 - Analyse en Composantes Principales
(ACP)
On dispose de 6 variables continues observées sur 20 voitures. On va présenter
dans la suite la liste des variables :nom du véhicule, longueur (m), largeur (m),
hauteur (m), puissance (chevaux), vitesse maxi (Km/h), 0 à 100 km (secondes)
A partir de ces données, il vous est demandé de faire une analyse en composantes
principales :
1- A partir de la matrice des corrélations, peut-on induire des liaisons entre les
variables continues.
2- En prenant en compte les corrélations variables-facteurs et le graphique du
cercle des corrélations, donnez une interprétation du premier et deuxième axe
factoriel.
3- Vous appuyant sur les contributions et cos2 des observations (véhicules) ainsi
que la carte des individus sur le premier plan factoriel interpréter la distribution
des véhicules dans ce plan factoriel.
> voit = read.table("voitures.txt", header=T,sep="\t")
> Fix(voit)
> voiture=voit[,-1]
> voiture_cr=scale(voiture)
> fix(voiture_cr)
> M=(1/19)*t(voiturecr)%*%(voiturecr)
> fix(M)
> C=cor(voit)
> fix(C)
M=C
> install.packages(c("FactoMineR", "factoextra"))
> library("FactoMineR")
> library("factoextra")
Plusieurs fonctions, de différents packages, sont disponibles dans le
logiciel R pour le calcul de l’ACP:
prcomp() et princomp() [fonction de base, package stats],
PCA() [package FactoMineR],
dudi.pca() [package ade4],
epPCA() [package ExPosition]
Peu importe la fonction que vous décidez d’utiliser, vous pouvez
facilement extraire et visualiser les résultats de l’ACP en utilisant les
fonctions R fournies dans le package factoextra.
Ici, nous utiliserons les deux packages FactoMineR (pour l’analyse)
et factoextra (pour la visualisation, des données, basée sur ggplot2).
> res=PCA(voiture_cr, scale.unit = TRUE, ncp = 6, graph = TRUE)
> summary(res)
> Print(res)
Cercle de corrélation : Variables factor map (PCA)
Projection des individus dans le premier plan factoriel :
Individuals factor map (PCA)