Classification en présence d’outliers (données aberrantes) avec RMixmod Package de classification par modèles de mélanges -10 -5 0 5 10 15 20 -5 0 5 10 15 Taux d'outliers : 20% - Résultats Mixmod x y F. Langrognet F. Langrognet Rmixmod Juin 2016 1 / 50
50
Embed
Classification en présence d’outliers (données aberrantes ... · outliers 15.6% 15.8%68.6% Qualité de classification équivalente qu’avec 3 classes F. Langrognet Rmixmod
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Classification en présence d’outliers (donnéesaberrantes) avec RMixmod
Package de classification par modèles de mélanges
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 20% − Résultats Mixmod
x
y
F. Langrognet
F. Langrognet Rmixmod Juin 2016 1 / 50
Rmixmod
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avecoutliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 2 / 50
Etude de la robustesse de RMixmod
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 3 / 50
Classification des données en présence d’outliers
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 4 / 50
MIXMOD
Fiche d’identitéDiffuser auprès d’un large public un ensemble logiciel de
Proposer des composants logicielsadaptés aux demandes des utilisateurs
2002...2011 : composant pour Scilab
2002...(2015) : mixmodForMatlab
Depuis 2011 : mixmodGUI
Depuis 2012 : RMixmod
2016 : PyMixmod
2016 : MASSICCC
mixmodLib : Bibliothèque de calcul (C++)
F. Langrognet Rmixmod Juin 2016 6 / 50
Classification des données en présence d’outliers
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 7 / 50
Fonctionnalités (1)Problématiques traitées
Classification non supervisée
Classification supervisée
Modèles de mélange
Outils souples pour modéliser un large spectre de situations
Calcul des paramètres du modèle sous-jacent - Caractérisation desclasses (proportion, moyenne, dispersion)
Classification des individus avec des métriques adaptées
A B
-5 0 5 10 15
x-5 0 5 10 15
x
-50
510
-10
-10
y
-50
510
y
F. Langrognet Rmixmod Juin 2016 8 / 50
Fonctionnalités (2)Modèles et métriques
Données quantitatives14 modèles gaussiensbasés sur la décomposition en valeursigulière de la matrice de variance
Données quantitatives engrande dimension
8 modèles spécifiques pour lagrande dimension
Données qualitatives5 modèles multinomiauxbasés sur une reparamétrisation de ladistribution Multinomiale
Données mixtes20 modèles hétérogènespour les données quantitatives/qualitatives
F. Langrognet Rmixmod Juin 2016 9 / 50
Fonctionnalités (3)
AlgorithmesMaximisation de la vraisemblance (ouvraisemblance complétée)
EM (Expectation Maximisation)
SEM (Stochatitic EM)
CEM (Classification EM)
Initialisations et Stratégies6 initialisationsEx : ’random’, ’short runs of EM’,...
Algorithmes chaînésEx: 100 iterations de SEM puis 50 iterations de EM
CritèresBIC (Bayesian Information Criterion)
ICL (Integrated Completed Likelihood)
NEC (Normalized Entropy Criterion)
CV (Cross Validation)
Et aussi...Connaissance partielle des labels desindividus (semi-supervisé)
Individus pondérés
F. Langrognet Rmixmod Juin 2016 10 / 50
Classification des données en présence d’outliers
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 11 / 50
Rmixmod : le package R de Mixmod
Architecture Avantages
Atouts de RI Environnement “familier” de
l’utilisateur
I Interface avec d’autrespackages
I Outils de visualisation
Atouts de mixmodLib (C++)I Développée depuis 2001
I Largement diffusée, et utilisée
I Eprouvée, robuste, rapide
F. Langrognet Rmixmod Juin 2016 12 / 50
Classes - Fonctions
Classes Rmixmod Fonctions Rmixmod
F. Langrognet Rmixmod Juin 2016 13 / 50
Etude de la robustesse de RMixmod
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 14 / 50
Qu’est ce qu’un outlier ?
Donnée aberrante
F. Langrognet Rmixmod Juin 2016 15 / 50
OutlierUne donnée qui ne ressemble pas aux autres
Tout le monde “comprend” ce qu’est une donnée aberrante
Mais donner une définition est complexe et subjectifSelon quel critère (de ressemblance) ?
Sans critère objectif, il est tentant de considérer certains individuscomme étant des outliers
F. Langrognet Rmixmod Juin 2016 16 / 50
Un outlier ce n’est pas...Un individu qui ne ”rentre” pas dans notre modèle
C’est le modèle qui doit s’adapter aux données et non l’inverse !
Les bonnes questions à se poserSi un individu ne rentre pas dans le modèle
D’où vient cet individu ? Est-ce un individu de la population étudiée ?
F. Langrognet Rmixmod Juin 2016 17 / 50
Population étudiée VS outliers
Un outlier est un individu qui n’appartient pas à la population étudiée
En général, ce sont des erreurs expérimentales
Erreurs de mesure
Erreurs de recopie
On passe de donnée aberrante à donnée qui ne fait pas partie de lapopulation étudiéeUn outlier peut alors ’ressembler“ à un individu de la population étudée...
F. Langrognet Rmixmod Juin 2016 18 / 50
Etude de la robustesse de RMixmod
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 19 / 50
Classification des données en présence d’outliers
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 20 / 50
Nettoyage de la population
F. Langrognet Rmixmod Juin 2016 21 / 50
Nettoyage de la populationEnlever les outliers
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 10%
x
y
−10 −5 0 5 10 15 20
−5
05
1015
Données sans outlier
x
y
F. Langrognet Rmixmod Juin 2016 22 / 50
Comment nettoyer les données ?
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 10%
x
y
−10 −5 0 5 10 15 20
−5
05
1015
Données sans outlier
x
y
Comment enlever des individus sans connaître le modèle ?
Risques
I Conserver à tord des outliersI Retirer à tord de ”vrais individus”
=> Perte d’information et biais sur la classification
F. Langrognet Rmixmod Juin 2016 23 / 50
Outliers ou classe supplémentaire ?1 ou 2 outlier(s)
−10 −5 0 5 10 15 20
−5
05
1015
1 outlier
x
y
−10 −5 0 5 10 15 20
−5
05
1015
2 outliers
x
y
F. Langrognet Rmixmod Juin 2016 24 / 50
Outliers ou classe supplémentaire ?3, 6 outliers
−10 −5 0 5 10 15 20
−5
05
1015
3 outliers
x
y
−10 −5 0 5 10 15 20
−5
05
1015
6 outliers
x
y
F. Langrognet Rmixmod Juin 2016 25 / 50
Sans nettoyage de la population
F. Langrognet Rmixmod Juin 2016 26 / 50
Sans nettoyage de la population
Sans nettoyageLe nettoyage est risqué, subjectif et difficile (sans connaissance du modèlesous-jacent)
Et si l’on considérait une classe de bruit ?
Classification sur l’ensemble de la population en k + 1 clustersk vraies classes et une classe de bruit
F. Langrognet Rmixmod Juin 2016 27 / 50
Classification des données en présence d’outliers
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 28 / 50
RMixmod et traitement des outliers
Jeux de donnnéesJeu de données simulées (on connaît les paramètres)
Mélange de 2 gaussiennes
p 0.4 0.6µ (0,0) (10,10)
Σ
(10 33 2
) (6 −2−2 2
)On ajoute des outliers
I Selon une loi gaussiennePas de difficulté (mélange gaussien)
I Selon une loi uniformeComment RMixmod peut traiter ces données ?
F. Langrognet Rmixmod Juin 2016 29 / 50
Jeu de données
−10 −5 0 5 10 15 20
−5
05
1015
Données sans outlier
x
y
F. Langrognet Rmixmod Juin 2016 30 / 50
Jeu de données + 5% d’outliers
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 5%
x
y
F. Langrognet Rmixmod Juin 2016 31 / 50
Jeu de données + 10% d’outliers
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 10%
x
y
F. Langrognet Rmixmod Juin 2016 32 / 50
Jeu de données + 20% d’outliers
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 20%
x
y
F. Langrognet Rmixmod Juin 2016 33 / 50
Jeu de données + 40% d’outliers
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 40%
x
y
F. Langrognet Rmixmod Juin 2016 34 / 50
Rmixmod
Commandes R
l i b r a r y (Rmixmod)
model<−mixmodGaussianModel ( l i s t M o d e l s =c ( " Gaussian_pk_Lk_Ck " ) )
out<−mixmodCluster ( da ta_ou t l i e r s , nbCluster =3 ,models=model )
p l o t ( out )
summary ( out )
F. Langrognet Rmixmod Juin 2016 35 / 50
Jeu de données + 5% d’outliers
Résultats
F. Langrognet Rmixmod Juin 2016 36 / 50
Jeu de données + 10% d’outliers
Résultats
F. Langrognet Rmixmod Juin 2016 37 / 50
Jeu de données + 20% d’outliers
Résultats
F. Langrognet Rmixmod Juin 2016 38 / 50
Jeu de données + 40% d’outliers
Résultats
F. Langrognet Rmixmod Juin 2016 39 / 50
Analyse des résultats
20% d’outliers
F. Langrognet Rmixmod Juin 2016 40 / 50
Analyse des résultatsLabels
Données initiales
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 20%
x
y
Résultats RMixmod
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 20% − Résultats Mixmod
x
y
F. Langrognet Rmixmod Juin 2016 41 / 50
Analyse des résultats
Qualité du classement (labels)
classe 1 classe 2 outliersclasse 1 98% 0% 2%classe 2 0% 98.7% 1.3%outliers 16% 17% 67%
Classes 1 et 2 : Excellent taux de reclassement
Outliers : Très bon taux de reclassementI Certains individus (tirés au hasard selon la loi unforme) se trouvent dans le
”domaine” des classes 1 ou 2I Ils sont donc considérés comme des individus de ces classesI => Pas de biais sur l’estimation des paramètres
F. Langrognet Rmixmod Juin 2016 42 / 50
Analyse des résultats
Paramètres
F. Langrognet Rmixmod Juin 2016 43 / 50
Et si on augmentait le nombre declasses ?
F. Langrognet Rmixmod Juin 2016 44 / 50
4 classes ?
−10 −5 0 5 10 15 20
−5
05
1015
Taux d'outliers : 20%
x
y
Résultats RMixmod
F. Langrognet Rmixmod Juin 2016 45 / 50
4 classes - Analyse des résultats
Labels
classe 1 classe 2 outliers (classe 3 et 4)classe 1 97.8% 0% 2.2%classe 2 0% 98.9% 1.1%outliers 15.6% 15.8% 68.6%
Qualité de classification équivalente qu’avec 3 classes
F. Langrognet Rmixmod Juin 2016 46 / 50
4 classes - Analyse des résultats
Paramètres
En augmentant le nombre de classes, on modélise mieux les outliers(meilleure vraisemblance)
F. Langrognet Rmixmod Juin 2016 47 / 50
Etude de la robustesse de RMixmod
1 Le composant RMixmod du projet MIXMODProjet MixmodPrincipales fonctionnalitésRMixmod
2 Outliers
3 Classification et outliersAvec ou sans nettoyage ?Utilisation de RMixmod pour traiter des jeux de données avec outliers
4 Conclusion
F. Langrognet Rmixmod Juin 2016 48 / 50
Conclusion
Classification en présence d’outliers avec RMixmod
En considérant une classe pour les outliers, RMixmod permet
I d’obtenir une excellente qualité de classification (labels)I d’estimer avec précision les paramètres des ”vraies” classes sans
biais (les outliers ayant été affectés dans leur classe)
Les modèles de mélanges de lois gaussiennes montrent leur puissanceet leur souplesseSolution efficace et robuste y compris lorsque les individus qui nesuivent pas une loi gaussienne
F. Langrognet Rmixmod Juin 2016 49 / 50
Classification en présence d’outliers avec RMixmod