Forêts uniformément aléatoires - Saïp CISS
-
Upload
shi-kezhan -
Category
Data & Analytics
-
view
451 -
download
0
Transcript of Forêts uniformément aléatoires - Saïp CISS
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.
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ène gé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 le �Gé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
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 de 5000), 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) evaluationOOB estimate of error rate: 8.4%
OOB confusion matrix:Reference
Prediction 0 1 class.errorPrediction 0 1 class.error0 188 14 0.06931 28 270 0.0940
Theorical (Breiman) boundsPrediction 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
V4V3V2V1
Variable importance based on information gain
5.0
7.5
10.0
Class 0 Class 1
V2
Class
Class 0
Class 1
V8V6V9V5V7
V10V4
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
Mos
t im
port
ant v
aria
bles
at 2
nd o
rder
V2 V1 V3 V4 V5 Other features
V1
V2
V3
V1
V3
V4V5
Most important variables at 1rst order
Mos
t im
port
ant v
aria
bles
at 2
nd o
rder
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) evaluationOOB estimate of error rate: 20.79%OOB estimate of AUC: 0.7917
OOB confusion matrix:Reference
Prediction 0 1 class.error0 1883 358 0.15981 488 1340 0.2670
Détection des irrégularités aux cotisations sociales
• Phase industrielle : En 2013, en Île-de-France…
Détection des irrégularités aux cotisations sociales
• Phase industrielle : En 2013, en Île-de-France…
Détection des irrégularités aux cotisations sociales
• Phase industrielle : En 2013, en Île-de-France…
� > 50 000 irrégularités estimées. 25 000 recommandations de contrôle fournies
� Faux positifs estimés : < 30%� Faux positifs estimés : < 30%
� Rendement moyen estimé : > 5 000 €/contrôle
� Montant total net estimé des redressements:
> 250 millions €, < 1 500 millions €.
� Phase industrielle abandonnée par l’URSSAF après le départ de l’ex équipe dirigeante.
Merci.
Sources et références
• URSSAF d’île-de-France. Service statistique.• Biau, Devroye, Lugosi, 2008. « Consistency of Random Forests and Others
Averaging Classifiers »• Breiman, Friedman, Olshen, Stone, 1984. « Classification And Regression
Trees » (CART)• Breiman, 1996. « Bagging Predictors » • Breiman, 2001. « Random Forests »• Breiman, 2001. « Random Forests »• Breiman web site :
http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm• Devroye, Györfi, Lugosi, 1996. « A Probabilistic Theory of Pattern
Recognition »• Friedman, 1999. « Stochastic Gradient Boosting »• Friedman, 2001. « Greedy function approximation : A gradient boosting
machine »• Vapnik, 1995. « The nature of statistical learning theory ».