• Aucun résultat trouvé

4.3 Résumé de CluStream

4.3.2 Tâches d’analyses

Contrairement à StreamSamp où les différentes tâches d’analyses sont réalisées sur un échantillon pondéré, dans le résumé de CluStream on conserve la densité des données de détail dans des vecteurs appelés CFV. Les tâches d’analyse sont alors évaluées en utilisant ces structures.

4.3.2.1 Reconstitution de l’horizon temporel

L’avantage de CluStream est qu’il utilise une version évoluée du système de clichés qui permet des opérations de soustraction. Le système est alors flexible il permet, dans la limite du nombre de clichés pris, d’extraire le résumé d’une période quelconque dans l’histoire du flux. Ainsi, pour toute analyse sur la période temporelle [ta, tb], le système procède en

deux temps. La première étape consiste à localiser les clichés les plus proches des bornes

ta et tb. La seconde étape consiste à soustraire ces clichés afin de recréer l’état qu’avait le

système entre l’instant ta et l’instant tb.

1. Pour localiser le cliché le plus proche de la borne ta(Vs. tb), la même stratégie définie

dans la section 4.2.3.1 est utilisée. La Figure 4.10 illustre le positionnement des bornes de la requête de l’utilisateur par rapport aux instants de capture de clichés. Les clichés choisis pour l’évaluation de la requête doivent être les plus proches de ta et tb. Ils

doivent alors respecter l’équation suivante :

M in(|Log(ta) − Log(t1)| + |Log(tb) − Log(t2)|) (4.29)

avec t1∈[t+a, ta] et t2∈[t+b , tb ]

2. Soient Ct1 le cliché le plus proche de la borne tacapturé à l’instant t1 et, Ct2 le cliché

présent passé b t a t + a ta t tb+ − b t Clichés Clichés

Figure 4.10 – Positionnement des bornes de la requête dans un résumé de CluStream.

résume l’évolution du système entre les instants t1 et t2. Pour réaliser cette opération

de soustraction, le système se base sur les informations conservées dans les clichés, à savoir les CFV et l’historique des fusions des micro-classes. Généralement, la stratégie de soustraction de deux clichés est la suivante : le CFV de chaque micro-classe MCi

du cliché Ct1 est soustrait du CFV de la micro-classe correspondante MCi0 dans

le cliché Ct2 (i.e. l’identifiant de MCi doit être localisé dans la liste d’identifiant

de MCi0). Cependant, quatre scénarios de base (liste non exhaustive) peuvent être

présentés :

– Scénario a) : il s’agit du cas le plus simple où une micro-classe est créée à l’instant t1 et a absorbé de nouveaux événements jusqu’à atteindre un nouvel

état (nouveau CFV) à l’instant t2 (cf. Figure 4.11 (a)). Le CFV de la micro-

classe MCt1 est soustrait du CFV de la micro-classe MCt2. Soit CF Vt1 =

(n1, CF1x(t1), CF 2x(t1), CF 1t(t1), CF 2t(t1)) le vecteur associé à la micro-classe

M Ct1 à t1 et CF Vt2 = (n1, CF1x(t2), CF 2x(t2), CF 1t(t2), CF 2t(t2)) celui associé

à MCt2à l’instant t2. La soustraction de CF Vt1 et de CF Vt2 est la suivante : n2−

n1, CF1x(t2)−CF 1x(t1), CF 2x(t2)−CF 2x(t1), CF 1t(t2)−CF 1t(t1), CF 2t(t2)−

CF2t(t1).

– Scénario b) : il s’agit du cas le plus général où plusieurs micro-classes ont été créées à t1. Celles-ci évoluent et, pour libérer de l’espace elles fusionnent en une

seule micro-classe à l’instant t2 (cf. Figure 4.11 (b)). Le résultat de l’opération de

soustraction à t2 est une nouvelle micro-classe définie en soustrayant le vecteur

CF Vt2 du vecteur CF Vt1 qui est constitué à partir de la somme des CF V

(i)

t1 de

toutes les micro-classes qui ont fusionné dans la micro-classe considérée à l’instant

t1. Une nouvelle information s’ajoute à la micro-classe issue de la soustraction. Il

s’agit d’une liste permettant de conserver les identifiants des micro-classes mères. Ces identifiants sont conservés dans la relation "Fusions" du schéma relationnel. – Scénario c) : il s’agit du premier cas particulier du système où la micro-classe créée

figure dans le cliché pris à l’instant t1 mais ne figure pas dans celui pris à l’instant

t2 (cf. Figure 4.11 (c)). En effet, pour libérer de l’espace une des stratégies du

système CluStream est de supprimer la micro-classe qui n’a pas été active pendant une certaine période. Ainsi, cette micro-classe ne fera pas partie du résultat de la suppression. Ceci présente un problème étant donné qu’il y a eu une perte

d’évènements entre les instants t1 et t2. Le nombre total d’évènements absorbés

par le système à l’instant t1 est supérieur au nombre d’évènements absorbés à

l’instant t2, ce qui est problématique.

– Scénario d) : il s’agit du second cas particulier de CluStream où la micro-classe est présente dans le cliché pris à l’instant t2 mais ne figure pas dans celui pris à

l’instant t1 (cf. Figure 4.11 (d)). En effet, cette micro-classe a été constituée après

la capture du cliché de Ct1 et supprimée avant la capture du cliché de Ct2.

Ainsi, hormis les deux derniers scénarios qui ne sont pas fréquents, le résumé de CluStream permet de conserver l’état réel du système à différents instants temporels.

1

t

t

2 évolution a) b) c) d) …. …. n

Figure 4.11 – Scénarios possibles lors de la soustraction des micro-classes dans les clichés.

4.3.2.2 Requêtes d’agrégats

Dans cette section, notre intérêt porte sur l’évaluation des requêtes d’agrégats sur le résumé de CluStream au niveau de la période [ta, tb]. Nous supposons qu’on a conservé

deux clichés aux bornes de cet intervalle. L’évaluation des requêtes est réalisée sur l’état du système obtenu par soustraction de deux clichés sur les bornes de la période temporelle de la requête [ta, tb]. Ainsi, en nous basant sur les statistiques conservées dans les CFV, il

sur la période temporelle [ta, tb]. Pour cela, comme on a conservé un cliché Cta à l’instant

ta et un autre Ctb à tb. La soustraction de ces deux clichés (Cta-Ctb) permet d’extraire

les CFVs des Nc micro-classes CF V1, CV F2, ..., CF VNc et de calculer par conséquent ces

agrégats :

– L’effectif total sur cette période est déterminé par : nt= Nc

X

i=1 ni

– La moyenne sur [ta, tb] est donnée par : X[ta,tb]=

1 nt Nc X i=1 CF1(i)[ta,t b]

– La variance est calculée par :XNc i=1

(CF 2(i)

[ta,tb]) − X

2 [ta,tb]

Cependant, comme défini précédemment, si des clichés ne sont pas conservés aux ins- tants ta et tb alors, on se base sur les clichés les plus proches de ces instants pour calculer

les agrégats.

Calcul de la médiane. Dans le cadre du résumé de CluStream, l’estimation de cet

agrégat suit trois étapes :

1. Préparation des données. L’idée consiste à calculer à partir des CFV inclus dans la période [ta, tb] les barycentres des micro-classes. Ces barycentres sont les moyennes X

calculés au niveau de chaque micro-classe. Pour le calcul de la médiane, nous utilisons l’effectif (noté ni) observé au sein de la micro-classe (MCi) dans le résumé de [ta, tb]

comme poids associés au barycentres.

2. Tri des barycentres. Il s’agit de trier les barycentres inclus dans la période [ta, tb] sur

la variable choisie ;

3. Calcul de la médiane. En nous basant sur le poids associé à chaque barycentre, le calcul de la médiane est l’évènement p qui satisfait la formule suivante :

argmin p X i=1..Nc rang(i)≤rang(p) ni−1 2 Nc X i ni (4.30) 4.3.2.3 Tâches de fouille

Classification non supervisée. CluStream a été initialement développé pour traiter

des tâches de classification non supervisée. En effet, sa fonctionnalité principale consiste à effectuer un clustering des micro-classes en considérant, comme poids, le nombre d’évène- ments absorbés par la micro-classe.

Classification supervisée. Pour pouvoir réaliser une classification supervisée sur le

résumé de CluStream, il est nécessaire de procéder à une étape de préparation des données dans laquelle on reconstitue, en fonction des statistiques conservées dans chaque micro- classe, les événements qui représentent la partie du flux entre [ta, tb].

1. Préparation des données. CluStream ne permet de traiter que les données quanti- tatives (∈ Rp). Ainsi, si on des données qualitatives, il faut les coder en disjonctifs

complets. Cette étape de préparation des données est très importante, elle rend pos- sible la construction d’un modèle sur le résumé généré par CluStream. Pour cela, la méthode du tableau disjonctif est utilisée pour représenter les données. L’idée consiste à représenter chaque label (variable à prédire) par un attribut. Pour chaque évène- ment, la valeur de l’attribut à prédire sera remplacée par une suite binaire dont la valeur 1 correspond à l’attribut concerné et 0 pour les autres. La Figure 4.12 illustre un exemple de transformation de l’attribut Label pouvant intégrer trois valeurs dis- tinctes (A, B ou C).

Figure 4.12 – Exemple de tableau disjonctif.

Par la suite, on génére aléatoirement des évènements suivant la distribution des ca- ractéristiques des micro-classes. Pour chaque micro-classe, on génère ni points avec ni le nombre de points observés dans la micro-classe. (MCi) Les données générées

(pour chaque attribut) suivent une distribution de loi normale ayant comme para- mètres la moyenne et la variance de la micro-classe (loi multi-normale à variables indépendantes). Cette façon d’utiliser CluStream comme modèle génératif de don- nées, exploite toute l’information contenue dans le résumé : on ne pourrait pas faire plus "fin".

2. Constitution du modèle. Une fois les données régénérées, un algorithme de classifica- tion supervisée est appliqué afin de construire le modèle.

3. Évaluation du modèle. la dernière étape consiste à évaluer le modèle construit sur le résumé de CluStream. Pour cela, une méthode classique d’évaluation est utilisée, par exemple pour calculer l’erreur de classification sur un échantillon test.