• Aucun résultat trouvé

4.3 Résumé de CluStream

4.3.1.2 Paramétrage

L’inconvénient de CluStream est son nombre élevé de paramètres. Contrairement à StreamSamp qui requiert trois paramètres, l’algorithme CluStream demande des réglages minutieux de ses paramètres en se basant sur la nature des données. En effet, certains de ses paramètres dépendent de la nature des évènements ainsi que du débit du flux. Nous détaillons dans ce qui suit l’implication de chaque paramètre dans la construction du résumé.

1. Initialisation des micro-classes :

– k : nombre de micro-classes de départ. Pour créer les micro-classes de départ, CluS- tream utilise un algorithme classique de classification (appelé algorithme d’initia- lisation). Il faut spécifier les paramètres d’exécution de cet algorithme. Dans le cas de k-means par exemple, il suffit de fixer le nombre de classes k.

– m : nombre d’événement utilisés pour créer le premier lot de micro-classes. 2. Maintenance des micro-classes :

– Nc: nombre maximum de micro-classes. Étant donné qu’on a une taille de stockage

limitée, il est important de spécifier le nombre maximal de micro-classes. Si jamais

Nc est atteint, CluStream fusionne deux micro-classes ou supprime la micro-classe

la moins active.

– αLc+ 1 : nombre maximal de clichés par ordre. Dans le système de fenêtre pyra-

midale, il est important de spécifier le nombre maximum de clichés par ordre. Ce paramètre permet de contrôler l’espace de stockage réservé pour les clichés. α est la raison de la suite qui permet de cadencer les instants de prise de clichés. La suite est choisie en fonction des besoins de l’application. Généralement, la raison de la suite vaut 2.

– MaxBound : limite maximale d’une micro-classe. Lorsque la distance D(ei, Mc)

entre un événement ei et la micro-classe la plus proche Mc est supérieur à une

distance MaxBound, il faut créer une nouvelle micro-classe qui contiendra l’évè-

nement ei. Ce paramètre est important afin que les événements atypiques ne se

mélangent pas avec les événements normaux. Dans la pratique, il est difficile de fixer ce paramètre. Dans [15] aucune indication n’est donnée sur la spécification de ce paramètre.

– S et P : ces paramètres sont utilisés afin de définir la micro-classe la moins active. Pour cela, le système tire aléatoirement un nombre S d’étiquettes temporelles sui- vant une distribution gaussienne. Si l’étiquette temporelle la plus récente se situe à un facteur P du temps courant alors la micro-classe correspondante peut être supprimée.

Nous étudions dans ce qui suit l’effet de ces paramètres sur le volume occupé, la puis- sance de calcul et la qualité des résultats obtenus. Le tableau 4.6 résume les effets de ces paramètres sur le résumé de CluStream.

1. Volume occupé : pour calculer l’espace occupé par le résumé de CluStream, il est nécessaire d’intégrer la taille des CFV ainsi que l’historique des fusions

F usion(Mc)31. Cet historique permet d’identifier les micro-classes qui ont fusionné

au cours du temps. Ainsi, le volume total occupé par CluStream à l’instant t se traduit par :

V(t) = nclich´es∗ T aille(clich´e) (4.25)

La taille d’un cliché fait intervenir les CFV de chaque micro-classe (Mc) dans le cliché

ainsi que l’historique F usion(Mc). L’espace ocuupé par l’historique des fusions n’est

pas borné et évolue linéairement.

T aille(clich´e) = Nc[T aille(CF V (Mc)) + F usion(Mc)] (4.26)

La taille de la structure CFV dépend de la dimensionalité des évènements du flux, elle correspond à la formule suivante :

T aille(CF V (Mc)) = (2 ∗ d) + 3 (4.27)

avec d : le nombre d’attributs d’un évènement du flux Ainsi nous avons au final la formule du volume ci-dessous :

V(t) = [(αLc + 1) ∗ logαt] ∗ (N

c[T aille(CF V (Mc)) + F usion(Mc)]) (4.28)

Nous constatons que les paramètres qui ont un effet sur le volume occupé par le résumé sont Nc et αLc. En effet, le choix de α a un effet sur le volume occupé.

Comme illustré dans le tableau 4.5, pour un nombre constant de clichés par ordre, calculé à l’instant t = 10000, le volume occupé par tous les clichés pour α = 2 est beaucoup plus important que celui occupé pour un α = 5.

Table 4.5 – Effet de alpha sur le volume occupé

α Lc nb clichés par ordre nb clichés à t = 10000

2 7 128 1700

5 3 125 715

2. Puissance de calcul : le nombre maximal de micro-classes Nca une grande impor-

tance sur la charge du CPU. En effet, pour chaque nouvel évènement du flux, le calcul de distance pour localiser la micro-classe la plus proche est effectué autant de fois que de micro-classes. Le coût est évalué à O(Nc∗ d). Par ailleurs, la dimensionnalité

(d) des évènements du flux joue un rôle important sur la charge du système. En effet, le barycentre d’une micro-classe est un vecteur de taille d. Ainsi, plus d est petit, plus rapide est le calcul de la distance entre un point du flux et les barycentres du système.

3. Qualité du résumé : Dans le cadre de CluStream, la qualité des résumés se traduit par les réponses retournées à l’utilisateur en fonction des clichés conservés et par le positionnement des fenêtres.

(a) Qualité des résultats : la précision des résultats dépend fortement du nombre de clichés conservés. Plus le nombre de clichés est grand, plus précis sont les résultats des requêtes. Par ailleurs, le nombre de micro-classes contribue lui aussi dans cette performance. En effet, plus il y a de micro-classes, meilleure est la représentation temporelle des données vu qu’on aura plus de CFV.

(b) Positionnement des fenêtres : le choix du paramètre αLc a un effet sur le nombre

total de clichés conservés et par conséquent sur la précision de la période tempo- relle interrogée. D’autre part, le choix de α a une conséquence sur la dispersion des clichés. En effet, plus la valeur de α est petite, meilleure est la dispersion des clichés sur les ordres.

Nous remarquons suite à cette analyse qu’il existe un compromis entre le volume occupé par le résumé et la qualité des réponses retournées. Ce compromis permet ainsi de régler le choix de αLc et de N

c. En effet, en augmentant αLc, on augmente le nombre de clichés

capturés, ce qui améliorera la qualité du résumé et provoque un meilleur positionnement des fenêtres.

Table 4.6 – Effet des paramètres sur le résumé CluStream

Contrainte Si αLc % Si N

c% Si α %

Volume occupé % % &

Charge CPU %

Qualité des résultats % % &

Positionnement des fenêtres % &

4.3.1.3 Persistance des résumés

Comme ce fut le cas pour le résumé de StreamSamp, pour toute analyse portant sur l’historique des flux, il est nécessaire de conserver en mémoire auxiliaire le résumé conçu par CluStream.

La persistance du résumé de CluStream peut être réalisée au moyen de fichiers ou d’une base de données. Cependant, la deuxième approche est à privilégier pour les mêmes raisons définies précédemment dans la section 4.2.2. Cette modélisation doit prendre en considéra- tion les contraintes d’intégrité fonctionnelle liées au système32. Cependant, quelque soit la

modélisation utilisée, il est important de n’enregistrer le cliché qu’à la fin de sa constitution. La mise à jour des CFV doit être effectuée en mémoire centrale étant donné le coût de cette opération. Ainsi, l’état des micro-classes est temporairement conservé en mémoire afin de faciliter toutes les opérations de calcul des distances entre l’événement et les barycentres des micro-classes.

Le schéma relationnel de la Figure 4.9 se caractérise par la présence des relations

"Cliché", "Micro-classe" et "Fusions". La relation "Cliché" enregistre tous les clichés

ainsi que l’ordre auxquels ils appartiennent. Cette relation est identifiée par l’estampille temporelle du cliché ("ClichéID") étant donné qu’on est sûr de son unicité.

La relation "Micro-classe" contient l’ensemble des micro-classes enregistrées. Chaque enregistrement symbolise l’identifiant de la micro-classe ainsi que le contenu de son CFV. La liste des fusions de chaque micro-classe est enregistrée dans la relation "Fusions". La clé primaire de cette relation est composée de deux attributs. Le premier attribut est l’identifiant de la micro-classe et le second est l’identifiant des classes fusionnées.

Contrairement à StreamSamp, étant donné que les opérations de mise à jour des CFV sont réalisées en mémoire, il n’est pas nécessaire de spécifier d’autres index. En effet, seules les opérations d’insertion et de suppression seront appliquées à la base de données.

32. Exemple de contrainte : vérifier que le nombre de clichés par ordre enregistré dans la relation "Para- mètres" est respecté dans la relation "Cliché"

ClasseID CF1x1 CF1xn Attributn n CF2x1 CF2xn CF1t CF2t ClichéID MicroClasse ClichéID Ordre RésuméID Instant Cliché RésuméID FluxID ParamID Résumé FluxID Nom Flux ParamID Nc α Lc Paramètres Classe1ID Classe2ID Fusions

Figure 4.9 – Modèle relationnel du résumé conçu par CluStream.