• Aucun résultat trouvé

Une nouvelle méthode de détection de changement

Détection de changement dans un ux de données

5.3 Une nouvelle méthode de détection de changement

Fonctionnement Cette méthode utilise deux fenêtres pour détecter un changement La pre-mière, appelée fenêtre de référence Wref, contient les données du concept de départ. La deuxième, appelée fenêtre courante Wcur, est une fenêtre glissante/sautante sur le ux. Les exemples de la fenêtre de référence ont comme étiquette la classe  ref , et ceux de la fenêtre courante la classe  cur . Ces deux étiquettes constituent la variable cible W ∈ {Wref, Wcur} du problème

d'apprentissage. Ces deux fenêtres sont fusionnées et la discrétisation MODL appliquée sur ces données. Si la discrétisation MODL arrive à discrétiser la variable Xi en au moins 2 intervalles cela signie qu'il y a au moins 2 zones où la distribution des exemples est signicativement dif-férente entre les deux fenêtres. Dans ce cas un changement a été observé dans les P (W |Xi) et on peut donc conclure qu'un changement s'est produit.

Cette méthode s'applique sur une variable numérique ou catégorielle. Si le ux contient plu-sieurs variables alors la méthode est appliquée à chacune des variables. Cette méthode s'intéresse aux changements de régime d'une variable numérique et ne peut fonctionner pour détecter un changement de concept dans un ux de données étiquetés.

5.2.3 Discussion

Le tableau 5.1 présente une synthèse des méthodes décrites ci-dessus. On note que (i) les mé-thodes Kolmogorov-Smirnov et MODL, ne font pas d'hypothèses sur la distribution des données, (ii) seule la méthode basée sur l'approche MODL n'a pas de paramètres utilisateur, (iii) aucune des méthodes présentées n'est capable de détecter des changements sur P (Xi|C).

Aucune de ces méthodes ne possède toutes les propriétés désirées. Nous proposons donc, dans la section suivante, une nouvelle méthode ayant toutes ces propriétés : (i) pas d'a priori sur la distribution des données, (ii) sans paramètre utilisateur et (iii) capable de détecter les changements de probabilités P (Xi|C).

CUSUM ADWIN Welch KS MODL Méthodedésirée

Hypothèse sur la distribution des données

dépend de la variable

observée oui oui non non non

Paramétres utilisateur oui oui oui oui non non

Détection des

changements sur P (Xi|C) non non non non non oui

Table 5.1  Synthèse des méthodes de détection.

5.3 Une nouvelle méthode de détection de changement

La méthode proposée dans cette section utilise uniquement les données étiquetées provenant du ux et ne nécessite pas de classieurs. Elle cherche à distinguer si la distribution des données dans deux fenêtres d'observation a changé.

5.3.1 Une nouvelle méthode à deux fenêtres 5.3.1.1 Présentation de l'approche

Notre idée pour détecter les changements de concept s'inspire de la méthode proposée par Bondu et Boullé [BB11] présentée dans la section 5.2.2.5. De la même manière que pour la méthode de Bondu et Boullé, on observe les variables sur deux fenêtres. La première, appelée fenêtre de référence Wref, contient les données du concept de départ. La deuxième, appelée fenêtre courante Wcur, est une fenêtre glissante/sautante sur le ux qui permet de capturer les données d'un éventuel nouveau concept. Les données sont étiquetées par fenêtre : W ∈ {Wref, Wcur} de

manière similaire à la méthode de Bondu et Boullé. Les variables que nous observons sont donc :

1. P (W |C) : la probabilité de la fenêtre connaissant la classe ; 2. P (W |Xi) : la probabilité de la fenêtre connaissant Xi;

3. P (W |C, Xi) : la probabilité de la fenêtre connaissant à la fois la classe C et la variable Xi. 5.3.1.2 Un nouveau critère bivarié pour la détection en classication

Pour les variables P (W |C) et P (W |Xi)on peut respectivement utiliser la méthode de grou-page MODL et la méthode de discrétisation MODL (voir section 3.3.3) comme proposé par Bondu et Boullé. Par contre pour la variable P (W |C, Xi), qui dépend à la fois de la variable Xi et de la classe, leur méthode ne peut s'appliquer. Dans ce cas il faut utiliser une méthode de discrétisa-tion/groupage bivarié capable de prendre en compte la variable Xi et la classe. Cette extension au cas bivarié de l'approche MODL existe déjà et a prouvé son ecacité dans [Bou09, Bou07b]. Le critère bivarié MODL utilise un formalisme similaire au critère univarié et devient pour une variable numérique (Xi) et la variable catégorielle représentant la classe (C) avec comme classe à prédire W : CdiscBivari´e = (5.1) logN + (5.2) log  N + I− 1 I− 1  + (5.3) logV + (5.4) logB(V, G)+ (5.5) G  g=1 I  i=1 log(cgi+ 1)+ (5.6) G  g=1 I  i=1 log cgi!

cgi1!cgi2! . . . cgiK! (5.7)

avec

5.3. Une nouvelle méthode de détection de changement 99  I : nombre d'intervalles de la variable numérique (inconnu)

 G : nombre de groupes de la classe (inconnu)  V : nombre de valeurs de la classe

 cgi : nombre d'individus dans la cellule gi

 cgik : nombre d'individus dans la cellule gi pour la fenêtre k

 B(V, G) correspond à une somme de nombre de Stirling de deuxième espèce (nombre de partitions de V valeurs en groupes non vides).

Les termes (5.2) à (5.5) correspondent au choix du modèle de discrétisation/groupage. C'est-à-dire le choix des intervalles I pour la variable numérique X et le choix des groupes G pour la variable catégorielle C.Le terme (5.6) représente le choix des distributions dans chaque cel-lule.Le dernier terme (5.7) exprime la probabilité d'observer ces distributions dans les données (vraisemblance) connaissant le modèle.

Si la variable observée n'est pas numérique mais catégorielle alors le critère MODL bivarié pour une variable catégorielle est utilisé.Celui-ci est très similaire au critère présenté ci-dessus.

La complexité temporelle de l'algorithme naïf pour trouver le meilleur modèle est en N5, mais à l'aide d'heuristiques d'optimisation [Bou09], cette complexité est ramenée à NN log(N )

avec N la somme de la taille de nos deux fenêtres (référence et courante). Interprétation du gain de compression MODL

Le critère l d'évaluation MODL a été présenté dans la section 4.2.2.1. Il s'applique aussi bien pour la discrétisation (P (W |Xi)), le groupage (P (W |C)) ou un modèle bivarié (P (W |C, Xi)). Quand la variable à expliquer (dans notre cas W ) ne peut être distinguée à partir des diérentes variables que nous observons alors l = 0.Si l > 0 alors cela signie que la variable observée permet de distinguer la variable à expliquer (le fenêtre W dans notre cas) et donc qu'un changement a été détecté.La valeur l représente la quantité de changement.

Changement non détecté : le cas du XOR qui s'inverse brutalement La méthode MODL ne fait pas d'hypothèse sur la distribution des données et est capable de diérencier tous types de changements (moyenne, variance...) intervenus dans une variable. La grande majorité des changements sur plusieurs variables induisent un changement sur au moins une des variables et seront donc détectés.

Cependant, l'hypothèse d'indépendance des variables de notre méthode fait qu'elle ne sera pas capable de détecter un changement brutal impliquant simultanément deux variables X1 et X2.Il n'y aura pas de détection dans le cas où il n'y a pas de changement sur les P (C), P (X1), P (X2),

P (X1|C) et P (X2|C) mais seulement un changement sur P (X1, X2|C).La gure 5.1 illustre cette

inversion soudaine des classes sans aucun autre changement.Elle montre que si le changement est brutal et complet il n'y a pas de détection.Au contraire, s'il y a une phase de transition, ne serait-ce que minime, alors notre méthode détecte un changement.Nous considérons qu'un changement soudain de cette nature a peu de chance de se produire dans des données réelles, et donc que notre méthode est capable de traiter un très grand nombre de changements.

5.3.1.3 Deux fenêtres contenant les données

Notre méthode implique l'utilisation de deux fenêtres.La première Wref contient les données du concept de départ.La deuxième Wcurconserve les données récentes.Le réglage de ces fenêtres a plusieurs implications.

Figure 5.1  Cas du XOR où notre méthode n'arrive pas à détecter un changement soudain mais seulement lent.

Taille des fenêtres Elle impacte la réactivité auxchangements ainsi que le nombre de mau-vaises détections. Une grande taille de fenêtre permet de détecter avec plus de conance ainsi que des motifs plus complexes. Une plus petite taille permet d'être plus réactif. Fixer cette taille dépend du uxobservé et des changements que l'on veut détecter. De manière générale on peut traiter ce problème en utilisant plusieurs tailles de fenêtre en parallèle. Cette problématique de la taille des fenêtres a fait l'objet de nombreuses publications (voir section 2.4.2) et ne sera pas traitée de manière approfondie dans ce chapitre.

Positionnement des fenêtres Il est possible d'avoir diérentes implémantations pour le po-sitionnement des fenêtres sur le ux.

1. Une première implémentation serait d'avoir deuxfenêtres qui se suivent. Cette solution peut cependant ne pas détecter des changements progressifs lents. En eet la diérence de distribution entre les deuxfenêtres sera faible et les méthodes de détection, censées être robustes, interprèteront probablement la diérence comme du bruit. Ce cas se produira d'autant plus que la taille des fenêtres sera petite.

2. Une seconde implémentation consiste à avoir une fenêtre de référence positionnée au début du uxet repositionnée à la position de la détection après une détection. La fenêtre courante est glissante (ou sautante) avec l'arrivée des exemples du ux. Si un changement progressif lent se produit alors les méthodes de détection observeront de plus en plus de diérence et niront pas détecter un changement entre les deuxfenêtres.

3. On pourrait aussi imaginer, pour la fenêtre de référence, de réutiliser le premier niveau de nos résumés (voir section 3.3.2) pour avoir des tailles de fenêtre encore plus grande sans