Forêts (uniformément) aléatoires et
détection des irrégularités aux
Institut des actuaires. 04/2014.
détection des irrégularités aux
cotisations sociales
Saïp CISS
Modal’X. Université Paris Ouest Nanterre.
saip.ciss@wanadoo.fr
Apprentissage statistique
(Statistical learning)
• Plusieurs types : supervisé, non supervisé, par
renforcement, …
• Paradigme du cas supervisé : apprendre à
généraliser à partir d’exemples du phénomènegénéraliser à partir d’exemples du phénomène
observé
• Fondements : théorie de Vapnik-Chervonenkis
• Application : machine learning (apprentissage
automatique par des algorithmes) pour la
classification, la régression, le « ranking », …
Apprentissage statistique
• Domaines d’application : moteurs de recherche,
diagnostic médical, génétique, systèmes de
recommandation, reconnaissance de formes, analyse
financière, détection d’anomalies, d’irrégularités, …
• Principaux algorithmes en deux vagues :• Principaux algorithmes en deux vagues :
Avant 1995 : régressions linéaire, logistique, arbres
de décision, k plus proches voisins, réseaux de
neurones, …
Depuis 1995 : SVM, (gradient) Boosting, Bagging,
forêts aléatoires, …
Apprentissage statistique
Les exemples du phénomène observé sont
représentés par un échantillon d’apprentissage :
est à valeurs continues (régression) ou àest à valeurs continues (régression) ou à
valeurs catégorielles (classification)
On suppose qu’il existe une relation entre et
On souhaite faire « apprendre » à l’algorithme cette
relation, puis la généraliser (prédiction de ) à des
occurrences inconnues (du modèle) de
Apprentissage automatique
(machine learning)
Apprentissage : l’échantillon d’apprentissage est divisé en
deux sous-échantillons (entraînement et validation)
• L’algorithme « apprend » sur le sous-échantillon
d’entraînement
Généralisation : l’algorithme est testé (et recalibré) sur leGénéralisation : l’algorithme est testé (et recalibré) sur le
sous-échantillon de validation
Automatisation : prédictions sur de nouvelles données,
actualisation du modèle, …
Capacité de généralisation : erreurs de prédiction,
bornes de risque, …
Algorithmes d’apprentissage
automatique
Avantages : bonnes performances, peu ou pas
d’hypothèses sur le phénomène observé, tirent
profit de l’augmentation du volume des données, …
Inconvénients : interprétation des variables,
modèles plus complexes, risque de sur-
apprentissage, temps de calcul, apprentissage
difficile sur les très grands volumes de données
Big data et apprentissage automatique
• Big data (définition sommaire) : données qui ne
peuvent pas être traitées en une passe et dans un
temps raisonnable sur une station de travail
Deux époques : avant 2005, ordinateurs 32-bit.Deux époques : avant 2005, ordinateurs 32-bit.
Données avec n > 107 , p > 100 = 8 Go = Big data
Après 2005, ordinateurs 64-bit : beaucoup plus de
mémoire physique, mais unités de calcul limitées
Deux tendances : descriptive et prédictive
Deux aspects : spatial (volume) et temporel (flux)
Big data et apprentissage automatique
Paradigme : big data = ensemble de « small » data
Stratégie : diviser les données en K paquets,
appliquer le modèle sur chaque paquet, combiner les
K modèlesK modèles
• Plus complexe dans le cas prédictif : données non
nécessairement identiquement distribuées,
inférence des paramètres et réassemblage des
modèles, perte de précision, temps de calcul, …
Big data et apprentissage automatique
Stratégie alternative : apprentissage incrémental
• apprentissage sur le paquet 1, prédiction sur le
paquet 2, apprendre les exemples mal prédits du
paquet 2paquet 2
• Actualiser le modèle et recommencer la prédiction et
l’apprentissage sur les paquets suivants
Objectif : « apprendre » et « mémoriser »
Bien adapté aux modèles ensemblistes non
paramétriques
Modèles ensemblistes
• Ensemble de modèles (« classifieurs ») de base qui
combinent leurs prédictions (vote majoritaire,
moyenne, …) pour prendre une décision
• Deux algorithmes majeurs : Boosting (Freund et
Schapire, 1997), Bagging (Breiman, 1996)Schapire, 1997), Bagging (Breiman, 1996)
Une variante avancée du Bagging : les forêts
aléatoires (Breiman, 2001)
Une variante des forêts aléatoires : les forêts
uniformément aléatoires (2013)
Classifieur de base : un arbre de décision
Arbre de décision
Structure algorithmique: partition de l’espace des
données en 2 régions. « Récursion » jusqu’à l’atteinte
d’une ou plusieurs conditions d’arrêt. Décision.
Plusieurs types: CART, ID3, C4.5, …Plusieurs types: CART, ID3, C4.5, …
Problématiques: définition d’une région, conditions
d’arrêt, règle de décision
Avantages : non linéaire, peu ou pas de biais, non
paramétrique (peu de réglages)
Inconvénients : instabilité
Arbre de décision uniformément
aléatoire
un vecteur d’observations
est une région de la partition couranteest une région de la partition courante
si
A chaque étape du partitionnement, tirer, avec
remise, variables, > 0, et construire autant de
régions :
avec
Arbre de décision uniformément
aléatoire
La région qui maximise un certain critère est
retenue :
• Soit
etet
Région aléatoire optimale :
Règle de décision (vote majoritaire) :
Forêt uniformément aléatoire
• Algorithme : construire B arbres de décision
uniformément aléatoires en tirant, avec remise,
n exemples de (pour chaque arbre).
Règle de décision de la forêt (pour la classification) :Règle de décision de la forêt (pour la classification) :
Même principe que les forêts aléatoires de Breiman :
arbres peu corrélés de biais minimal
La forêt ne change pas le biais et réduit la variance
Forêt uniformément aléatoire
incrémentale
Apprendre au fur et à mesure que les données
arrivent.
Règle de décision :
• Constitution d’une mémoire, temps de calcul
constants, un sous-ensemble du modèle peut aussi
prendre une décision, …
• Mais « pre-processing » important des données
Applications : classification sur des
données synthétiques
• Plateforme logicielle : R (www.r-project.org)
Libre et gratuit, 64-bit, nombreux packages (>
5000), calcul vectoriel et parallèle, langage de5000), calcul vectoriel et parallèle, langage de
programmation, prototypage rapide, …
Package R : randomUniformForest (04/2014)
Applications : classification sur des
données synthétiques
• n = 1000; p = 10. Echantillon d’entraînement 50%
Sortie standard :
Out-of-bag (OOB) evaluation
OOB estimate of error rate: 8.4%
OOB confusion matrix:
Reference
Prediction 0 1 class.errorPrediction 0 1 class.error
0 188 14 0.0693
1 28 270 0.0940
Theorical (Breiman) bounds
Prediction error (expected to be lower than): 8.41%
Upper bound of prediction error: 20.61%
Average correlation between trees: 0.0626
Strength (margin): 0.6532
Standard deviation of strength: 0.2966
Applications : classification sur des
données synthétiques
Test set
Error rate: 7%
Confusion matrix:
Reference
Prediction 0 1 class.error
0 211 17 0.07460 211 17 0.0746
1 18 254 0.0662
Area Under ROC Curve: 0.9293
F1 score: 0.9355
Geometric mean: 0.9293
visualisation : importance des variables,
interactions, dépendance partielle, …
Applications : classification sur des
données synthétiques
12.5
Partial dependence over predictor
V4
V3
V2
V1
Variable importance based on information gain
5.0
7.5
10.0
Class 0 Class 1
V2
Class
Class 0
Class 1
V8
V6
V9
V5
V7
V10
V4
Relative influence (%)
0 5 10 15
Applications : classification sur des
données synthétiques
Variable importance over labels
Class 0 Class 1
V2
Variables interactions over observations
Mostimportantvariablesat2ndorder
V2 V1 V3 V4 V5 Other features
V1
V2
V3
V1
V3
V4
V5
Most important variables at 1rst order
Mostimportantvariablesat2ndorder
V4
V7
Other features
Détection des irrégularités aux
cotisations sociales
• URSSAF d’Île-de-France
Recouvrement des cotisations sociales (versées par
les salariés et employeurs) d’Île-de-France
« Régime Général » (principal régime de cotisations)« Régime Général » (principal régime de cotisations)
IdF: > 80 Mds d’€ annuels
Recouvrement sur une base déclarative
Législation complexe : { > 900 catégories
déclaratives} x {assiette, taux, effectif, conditions}
Contrôle des cotisations (2011) :
30 000 entreprises (1 entreprise sur 13).
14 Mds € contrôlés. 170 millions d’€ redressés.
Détection des irrégularités aux
cotisations sociales
• Problématiques :
Taux de détection des irrégularités : < 55%
Rendement : 40% des redressements rapportent
moins de 1 000 €/redressementmoins de 1 000 €/redressement
Asymétrie : 250 contrôles = 100 millions d’€
redressés
Contrôle exhaustif impossible : coût prohibitif
Ensemble des irrégularités non estimable :
consensus (sur la fraude) > 8-10 Mds/an.
Détection des irrégularités aux
cotisations sociales
Objectif : pour un même nombre de contrôles, réduire le
nombre de faux-positifs et augmenter les montants
redressés. On ne s’intéresse qu’aux irrégularités, pas à la
fraude volontaire.
• Données : 400 000 entreprises, > 1000 variables.
Beaucoup de zéros (> 89%)
• Données non big data mais même problématique
temporelle: flux annuels, changements de législation,
nouvelles variables, …
Détection des irrégularités aux
cotisations sociales
Dans la pratique
« Pre-processing » important : invariance d’échelle,
pas de données nominatives, transformation et
création de variables, filtrage, …création de variables, filtrage, …
On privilégie la « précision » (ressources pour le
contrôle limitées)
Echantillon d’apprentissage : contrôles des années
précédentes
Bases de données Matrice Modèle Décision
Détection des irrégularités aux
cotisations sociales
Algorithme : forêts uniformément aléatoires
(incrémentales), paramètres par défaut
Apprentissage et validation :
4069 contrôles de l’année 2011 (après filtrage)
1065 variables
1698 irrégularités (cas positifs)
tirage aléatoire : 10% entraînement, 90% validation
(conformité à la réalité opérationnelle) répété
plusieurs fois
Détection des irrégularités aux
cotisations sociales
• Résultats en laboratoire (paramètres par défaut):
Erreur de test Précision (écart-type) AUC
randomForest 0.2729 72.55% (0.0374) 0.7319
Sto.GradientBoosting 0.2473 70.08% (0.0191) 0.7467
randomUniformForest 0.2419 70.44% (0.0235) 0.7534randomUniformForest 0.2419 70.44% (0.0235) 0.7534
randomUniformForest (incr) 0.2324 79.03% (-) 0.7737
La version incrémentale utilise un historique de données sur 5
années
Optimisation des paramètres pour le Boosting
Détection des irrégularités aux
cotisations sociales
• Expérimentation réelle (2012, URSSAF d’IdF) :
167 contrôles (entreprises de moins de 150 salariés)
réalisés sur la base des recommandations du modèle
(non incrémental)(non incrémental)
Pas de biais de sélection (pre-processing)
Taux de détection des irrégularités (précision) : 69%
rendement moyen : 5 300€/contrôle
Montant total net redressé : 885 000 €.
Détection des irrégularités aux
cotisations sociales
• Phase industrielle : En 2013, en Île-de-France…
Évaluation OOB :
Out-of-bag (OOB) evaluationOut-of-bag (OOB) evaluation
OOB estimate of error rate: 20.79%
OOB estimate of AUC: 0.7917
OOB confusion matrix:
Reference
Prediction 0 1 class.error
0 1883 358 0.1598
1 488 1340 0.2670