Détectez des faux-billets

Table des matières

Paramètres config

Partie 1 - Analyse des données

Haut de page    

1. Analyses univariées

Haut de page    

Type des variables

Types des variables :

Haut de page    

Représentation schématique des variables

On peut schématiser les 6 longueurs de la façon suivante :

Haut de page    

Présence de doublons et/ou de valeurs nulles

Absence de doublons et de valeurs nulles

Haut de page    

Représentation graphique

Haut de page    

2. Analyses bivariées

On cherche à différencier les vrais billets des faux billets
--> on peut donc créer 2 groupes (is_genuine = True et is_genuine = False) et étudier leur comportement
----> on recherche les variables pour lesquelles il existe des différences entre les 2 groupes car elles nous permettront de caractériser le groupe constitué de faux billets

Représentation graphique

On va vérifier cette analyse graphique grâce à des tests de comparaison dans le cas gaussien (comparaison des variances puis des moyennes)

Haut de page    

Tests de comparaison dans le cas gaussien

Ces tests supposent que les variables suivent une distribution normale :
--> on commence donc par analyser la normalité de nos variables avec un test de Shapiro

Test de normalité des variables actives

Hypothèse nulle H0 :               "La variable dont provient notre échantillon suit une loi normale"
Hypothèse alternative H1 :     "La variable dont provient notre échantillon ne suit pas une loi normale"

si $p$ <= $\alpha$ :  on rejette H0 au profit de l'alternative H1     =>     on rejette l'hypothèse de normalité
si $p$ > $\alpha$ :    on ne peut pas rejeter H0                            =>     on accepte l'hypothèse de normalité

Pour les variables diagonal, height_left, height_right et margin_up -----> p_value > 0.05 : on accepte l'hypothèse de normalité

Pour les 2 autres variables : margin_low et length -----> p_value < 0.05 : on rejette l'hypothèse de normalité
Ces 2 variables ne suivent pas une loi normale mais il semble, graphiquement, que chacun des 2 goupes qui les composent (groupe 'vrais billets' et groupe 'faux_billets') suivent quant à eux une loi normale.
Vérifions cela par un test de Shapiro

Ainsi, pour les 4 groupes, la pvalue est supérieure à 0.05 : on accepte donc l'hypothèse de normalité

On va réaliser un test de comparaison dans le cas gaussien : on procède en 2 étapes :

Test d'égalité des variances

Hypothèse nulle H0 :       "Les variances des 2 groupes sont égales"
   -> On peut effectuer le test d'égalité des moyennes T de Student pour comparer leur loi de distribution

Hypoyhèse alternative H1 : "Les variances des 2 clusters ne sont pas égales"
   -> On peut effectuer le test d'égalité des moyennes T de Welchqui pour comparer leur loi de distribution

      si $p$ <= $\alpha$ : on rejette H0 au profit de l'alternative H1=> on rejette l'hypothèse d'égalité des variances
      si $p$ > $\alpha$ : on ne peut pas rejeter H0 => on valide l'hypothèse d'égalité des variances

Test d'égalité des moyennes

Hypothèse nulle H0 :          "Les moyennes des 2 groupes sont égales"
   -> Nos 2 groupes ne sont donc pas significativement différents

Hypoyhèse alternative H1 :    "Les moyennes des 2 groupes ne sont pas égales"
   -> Nos 2 groupes sont donc significativement différents

      si $p$ <= $\alpha$ : on rejette H0 au profit de l'alternative H1=> on rejette l'hypothèse d'égalité des moyennes
      si $p$ > $\alpha$ : on ne peut pas rejeter H0 => on valide l'hypothèse d'égalité des moyennes

Remarque : on constate qu'il n'y pas de différence enttre vrais et faux billets dans la distribution de la variable diagonal
-> On pourrait donc la supprimer des variables actives

Haut de page    

Analyse des corrélations

Haut de page    

Partie 2 - ACP

Haut de page    

1. Analyse de l'éboulis des valeurs propres

L'éboulis des valeurs propres est un diagramme qui permet de déterminer graphiquement le nombre de composantes à retenir.

Il est composé de 2 éléments :

Ce pourcentage d'inertie représente la part de l'information intiale captée par chacune des composantes principales.
Ainsi, dans le cas présent, en se limitant au premier plan factoriel (donc aux 2 premières composantes), on récupère 70% de l'information intiale.

Haut de page    

2. Représentation des variables par le cercle des corrélations

Qualité de représentation des variables

La mesure de la qualité de représentation des variables grâce au COS² confirme l'analyse graphique : nos variables sont bien représentées à l'exception de margin_up

Les contributions des variables à la construction des axes factoriels

L'étude de ces contributions permet d'identifier les variables qui jouent un rôle prépondérant dans la formation d'un axe factoriel.

Caractérisation des axes

Analyse graphique :

Rappel : la projection sur l'axe factoriel de l'extrémité de la flèche représentant une variable correspond au coefficient de corrélation entre la variable et l'axe factoriel

Confirmation analytique :

Le calcul des corrélations par axe factoriel permet de confirmer l'analyse graphique

Haut de page    

3. Représentation des individus par les plans factoriels

La projection des individus doit se lire en fonction du cercle des corrélations et de la caractérisation des axes.
Soit le graphique suivant qui synthétise les 2 graphiques (projection des individus et cercle des corrélations) :

Grâce à ce graphique, on constate que les vrais billets sont différenciés des faux billets uniquement sur l'axe 1 :
--> en effet, on constate que quelle que soit la valeur de F2, on peut trouver une valeur de F1 qui correspond à un vrai billet mais aussi une valeur de F1 qui correspond à un faux ;
--> à l'inverse, il est possible de trouver des valeurs de F1 pour lesquelles, quelle que soit la valeur de F2, l'observation sera toujours un vrai billet (ou un faux)
Par exemple, si F1 = -1.5, tous les individus avec cette coordonnée sont des vrais billets

Haut de page    

Qualité de représentation des individus

Même logique que pour la qualité de représentation des variables :
-> on additionne le COS² des facteurs 1 et 2
---> plus la valeur est proche de 1, meilleure est la représentation de l'individu sur le 1er plan factoriel

On affiche ces individus sur le graphique de projection des individus

On remarque que les individus les moins bien représentés sont ceux qui sont "à la frontière" des 2 groupes

Haut de page    

Contributions des individus à la création des axes

Elles permettent de déterminer les individus qui pèsent le plus dans la définition de chaque facteur.
On regarde quels sont les individus qui sont les plus contributifs et ce, pour les différents axes (on regardera aussi si des individus ne contribuent pas de manière excessive à la formation d'un axe)

Haut de page    

Partie 3 - Algorithme de classification : k-means

1. Le principe

On va appliquer un algorithme de classification sur nos données initiales, sans prendre en compte la variable is_genuine
Le but est ici de vérifier que les groupes 'faux billets' et 'vrais billets' sont bien des groupes différents composés d'individus possédant des caractéristiques similaires

On choisi le K-means comme méthode d’apprentissage non supervisé

Haut de page    

2. Nombre de groupes optimal

On va se limiter à 2 dimensions, donc au premier plan factoriel

Haut de page    

3. Visualisation sur le 1er plan factoriel

Haut de page    

4. Evaluation de l'algorithme du kmeans

4.1 Analyse de la partition

On va analyser la partition :
--> on va comparer les groupes obtenus par le kmeans avec les groupes initiaux de vrais et faux billets

Haut de page    

4.2 Matrice de confusion

Haut de page    

4.3 Mesures de performances

Haut de page    

5. Complément : initialisation du kmeans avec les centroides issues de l'APC

5.1 Calcul des centroides

Haut de page    

5.2 Exécution du kmeans

Haut de page    

5.3 Matrice de confusion

Haut de page    

5.4 Mesures de performances

Haut de page    

Partie 4 - Régression logistique

L'objectif est ici de construire un modèle qui permette de prédire si un billet est vrai ou faux à partir de ses caractéristiques géométriques (cf. les variables explicatives)

On va utiliser le module scikit-learn de Python

1. Préparation des données

Haut de page    

2. Régression logistique avec scikit-learn

Entrainement du modèle

Haut de page    

Prédiction (jeu de test)

Haut de page    

Matrice de confusion

Haut de page    

Mesures de performances

Haut de page    

Analyse des probabilités

Haut de page    

Courbe ROC et valeur AUC

Haut de page    

Améliorations possibles du modèle

Validation croisée

La moyenne des taux de succès de chaque itération correspond au taux de succès général du modèle

Haut de page    

Limiter le nombre de variables

Le score obtenu en réduisant nos variables de moitié reste très élevé

Haut de page    

Calcul direct de l'AUC

En ne sélectionnant qu'une seule variable (length ou margin_low), on obtient une AUC supérieure à 0.9

Testons le modèle en sélectionnant ces 2 variables

L'auc est proche de 0.96 en ne sélectionnant que ces 2 variables

Haut de page    

3. Programme de détection de faux billets

Le principe :

Veuillez vous rendre sur la page suivante pour uploader votre fichier csv et visualiser directement les résultats :
page de test

Haut de page