• Aucun résultat trouvé

Partie 2 Résumés linguistiques de périodicité 63

7.3 Étude expérimentale de la performance des méthodes de calcul du score

7.3.4 Discussion

La discussion des résultats porte d’abord sur les temps de calcul puis sur l’utilisation mémoire des différentes méthodes.

Temps de calcul et complexité

Nous établissons dans ce paragraphe la représentation formelle de la complexité des méthodes en fonction des jeux de données utilisés afin de la comparer aux résultats obtenus expérimentalement. La figure 7.9 montre les courbes représentant les expressions analy-tiques déterminées, similaires à celles illustrées sur la figure 7.8 issues des expériences.

La complexité des méthodes non incrémentales est présentée dans un premier temps, suivie de celle de la méthode incrémentale simple.

Méthodes non incrémentales La complexité des méthodes non incrémentales sont

O(n × max zi) pour la méthode naïve (cf. section 6.2.2 p. 124) et O(Pzi) pour celle par niveaux (cf. section 6.2.3 p. 125) et dépendent toutes deux de la distance zi du zéro le plus proche du point xi.

Afin d’en étudier la complexité plus finement, nous détaillons la valeur de ces expres-sions en intégrant les paramètres utilisés pour la génération des données. Nous définissons également p = pH+ pLla taille du motif répété, g = n/p le nombre de ses répétitions, égal au nombre de groupes H ou L, et supposons que même lorsque du bruit sur la taille des groupes νs est utilisé, la taille moyenne des groupes H est pH et celles groupes L est pL.

7.3. Étude expérimentale de la performance des méthodes de calcul du score d’érosion153 Naive Incremental Levelwise Inc.Level. 0 50 100 150 200 250 300 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 Time (ms) Nb of data points Incremental Inc.Level. 0 200 400 600 800 1000 1200 1400 1600 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 100,000 Time (ms) Nb of data points Inc.Level. 0 500 1000 1500 2000 2500 100,000 200,000 300,000 400,000 500,000 600,000 700,000 800,000 900,000 1,000,000 Time (ms) Nb of data points

Figure 7.8 – Temps de calcul, en haut, des quatre méthodes sur de petits jeux de données, au milieu, des méthodes incrémentales sur des jeux de données moyens et en bas de la méthode incrémentale par niveaux sur de grands jeux de données

Naive Incremental Levelwise 0,00E+00 5,00E+08 1,00E+09 1,50E+09 2,00E+09 2,50E+09 3,00E+09 3,50E+09 4,00E+09 4,50E+09 5,00E+09 1 000 2 000 3 000 4 000 5 000 6 000 7 000 8 000 9 000 10 000 Operations Nb of data points

Figure 7.9 – Complexité analytique du calcul du score d’érosion avec les méthodes naïve, par niveaux et incrémentale.

Tableau 7.3 – Complexité des méthodes non incrémentales en fonction des paramètres de génération des données

Forme νv n ×max zi ζ P zi Nb Triangle, Vague ≥ 0 npH/2 pH gpH(pH + 2)/4 80 Rectangle,Sinus > 0 3n2/4 - (5n2+ 8n)/16 60 Rectangle = 0 npH pH gpH(pH + 2)/4 10 Sinus = 0 n(pH + pL/2) p/2 gp(p + 2)/16 10

Les expressions de n × max zi et P

zi en fonction des paramètres de génération sont synthétisées dans le tableau 7.3. Ces résultats sont détaillés ci-dessous après une exposition des principes de raisonnement permettant de les établir.

Principes Nous considérons dans un premier temps des données générées sans bruit

com-posées de valeurs supérieures à 0 pour les groupes H et égales à 0 pour les groupes L. Nous définissons ζ la plus petite distance entre deux groupes de zéros successifs. Comme illustré sur la figure 7.1 p. 135, ζ = pH pour les formes Rectangle, Triangle et Vague et

ζ = p pour la forme Sinus qui ne dispose que d’un zéro au milieu des groupes L.

Ainsi, max zi = ζ/2 pour un groupe H quelconque dans le jeu de données, i.e. le point le plus éloigné d’un zéro est au milieu du groupe H. Cependant, comme la génération débute toujours par un groupe H, zi = ζ pour le premier point de ce groupe car il ne dispose pas de zéro à un indice inférieur. Ainsi, lorsque le premier groupe H ne contient pas de valeur nulle, max zi = ζ.

L’établissement de P

zi suit une logique légèrement différente. En ce cas en effet, nous ignorons la particularité liée au premier groupe car les zi de tous les groupes sont considérés. Au sein d’un groupe H, zi = 1 pour le premier point, zi = 2 pour le second et ainsi de suite jusqu’au point d’indice ζ/2. Après ce point, les zi décroissent jusqu’à valoir 1 pour la dernière valeur du groupe. Ainsi, la somme des zi pour un groupe H est égal à 2Pζ/2

i=1i = ζ(ζ + 2)/4. Cette somme est multipliée par le nombre de groupes H, noté g, d’oùPzi= gζ(ζ + 2)/4.

Dans les paragraphes suivants, ces expressions sont adaptées selon les formes utilisées.

Triangle et Vague Les jeux de données générés avec ces deux formes ont la particularité

de posséder des 0 espacés de pH points indépendamment du bruit en valeurs νv. Cette propriété découle directement des équations de la section 7.1.2 p. 136 pour νv = 0 mais se vérifie également avec νv >0 du fait d’un effet de bord de la méthode de génération. En effet, la première valeur des groupes H pour ces formes est égale à 0 avant l’application du bruit, mais comme la valeur de bruit est soustraite à la valeur initiale pour les groupes H (cf. éq. (7.6) p. 137), la première valeur pour ces groupes reste égale à 0 après normalisation. Cette particularité est également vérifiée pour le premier groupe, d’où ζ = pH , max zi=

pH/2 et P

7.3. Étude expérimentale de la performance des méthodes de calcul du score d’érosion155

Rectangle et Sinus Contrairement au Triangle et à la Vague, les zéros des jeux de données

générés pour le Rectangle et le Sinus dépendent de νv. Nous étudions d’abord le cas νv = 0 pour le Rectangle puis pour le Sinus, puis le cas commun aux deux formes où νv >0.

Avec νv = 0 et la forme Rectangle, les zones de zéros sont séparés de pH points, donc

ζ = pH etP

zi= gpH(pH+ 2)/4, à l’instar des formes Triangle et Vague. En revanche, le premier point du premier groupe n’est pas égal à 0, donc max zi = pH.

Pour νv = 0 avec la forme Sinus, les données ne contiennent qu’un zéro au milieu de chaque groupe L, d’où ζ = p = pH + pL et P

zi = gp(p + 2)/16 Concernant le premier point du premier groupe, il est séparé de pH + pL/2 point du zéro du groupe L, d’où max zi = pH + pL/2.

Lorsque νv >0, nous considérons que la complexité pour ces deux formes est similaire car elles ne disposent que d’un seul 0 dans tout le jeu de données. En effet, comme νv >0, une valeur aléatoire non nulle est ajoutée à chaque point des groupes L si bien que ces derniers sont composés de valeurs strictement positives et presque certainement différentes. Ainsi, après la troisième étape de normalisation dans [0,1], seule la valeur la plus faible à l’étape précédente est égale à 0.

Lorsqu’une seule valeur nulle est présente à l’indice i alors max zi = max(i, n − i) et P

zi = Pi

i=1i+Pn−i

i=1 i . Le cas minimisant ces expressions correspond à i = n/2 tandis que celui les maximisant est i = n. Nous supposons donc le cas moyen i = 3n/4 pour ces formes lorsque νv >0. Ainsi, max zi= 3n2/4 et Pzi= (5n2+ 8n)/16.

Conformément aux résultats expérimentaux illustrés sur la figure 7.8 p. 153 et analy-tiques sur la figure 7.9 p. 153, nous vérifions qu’indépendamment des formes utilisées et de leur bruit, les expressions de complexité de la méthode par niveaux sont inférieures à celles de la méthode naïve : (5n2 + 8n)/16 < 3n2/4 dès que n > 2 et gpHpH + 2

/4 est inférieur à npH/2 car n  g d’une manière générale et pH et g évoluent de manière inverse, i.e. plus les groupes H sont grands moins il y en a pour n donné donc plus g est petit, et inversement.

Méthodes incrémentales Nous incluons dans notre étude analytique la complexité de la méthode incrémentale simple dont l’expression O(log2n) est donnée dans la section 6.2.4 p. 126, mais pas celle de la méthode incrémentale par niveaux, non établie.

Dans la mesure où cette étude a pour but de comparer les quatre approches de calcul du score d’érosion, l’absence de cette dernière n’est pas significative car, pour les tailles de jeux de données sur lesquelles les méthodes sont comparables, soit entre 1 000 et 10 000 points, les performances des deux méthodes incrémentales sont confondues, comme illustré sur la figure 7.8 p. 153.

Représentation graphique Afin de représenter graphiquement les complexités éta-blies, nous les évaluons pour des valeurs de n entre 1 000 à 10 000 par pas de 1 000 et les pondérons par le nombre de cas où les combinaisons de paramètres spécifiques sont utili-sées dans le scénario SP, indiqué dans la colonne « Nb » du tableau 7.2 p. 139. Sachant que

cinq pas de valeurs sont utilisés pour les paramètres évolutifs, il y a par exemple 80 cas où les formes Triangle ou Vague sont utilisées avec (pH, pL) = (90, 10) ou (pH, pL) = (50, 50) et νv >0 ou νv = 0.

Nous représentons ainsi sur la figure 7.9 p. 153 le nombre d’opérations réalisées par les différentes méthodes pour le calcul du score d’érosion dans le cadre du scénario SP.

Cette figure montre que les expressions de complexité sont satisfaisantes car les ten-dances observées expérimentalement sur le graphique du haut de la figure 7.8 p. 153 sont vérifiées. Certaines différences sont toutefois visibles, en particulier concernant la méthode incrémentale qui apparaît nulle sur l’ensemble des tailles de jeux de données alors qu’elle atteint une valeur faible dans les résultats expérimentaux. Cette légère différence est ex-plicable par le fait que l’expression utilisée pour la représenter ne prend en compte que le nombre de boucles réalisées sans tenir compte de la complexité de ces boucles, plus impor-tante pour la méthode incrémentale simple que pour celles naïves ou par niveaux, comme l’illustrent les algorithmes 6.1 p. 125, 6.2 p. 125 et 6.3 p. 126. Le même argument pourrait également expliquer la différence entre la méthode par niveaux et la méthode naïve, plus importante dans le cas de la représentation analytique que dans les expériences réelles.

Utilisation mémoire

Comme mentionné dans la section 7.3.2 p. 151 l’occupation mémoire dépend de l’utili-sation de la matrice λ pour stocker les indices clés des points. En pratique, les implémen-tations données dans la section 6.2 p. 123 montrent que seule la méthode incrémentale par niveaux l’utilise. Elle est donc la seule dont l’occupation mémoire soit variable, i.e. dépen-dante du jeu de données, car basée sur λ et n. Les autres méthodes ont une occupation mémoire constante fonction de n uniquement.

Plus précisément, ces dernières stockent un exemplaire du jeu de données et un exem-plaire des scores d’érosion, soit 2n éléments.

La méthode incrémentale par niveaux stocke les valeurs λil en plus des données et des des scores d’érosion. Dans la solution développée, les λilsont stockés sous forme d’une liste de n listes de ωi valeurs. L’utilisation mémoire de cette structureP

ωi= ωi× n, où ωi est la valeur moyenne des ωi, qui est la valeur renvoyée lors des expériences.

Les résultats obtenus sont ωi = 30, min (ωi) = 2 et max (ωi) = 129, ainsi la taille moyenne de la structure est 30n valeurs. La consommation totale de mémoire est donc

P

ωi+ 2n, soit 32 millions de valeurs pour les jeux de données d’un million de points. Comme la structure stockant les λ contient les chaînes d’indices des valeurs inférieures les plus proches, sa taille est directement dépendante de la forme de données. Le pire cas est celui où les données sont strictement monotones. En ce cas, ωi= i et la taille totale de la structure est n (n+1) /2, donc quadratique. Le meilleur cas correspond à une série de valeur constante avec une valeur 0. En ce cas, λil ne contient que l’indice de cette valeur,

ωi = 1 et la taille de la structure est alors linéaire égale à n.

Le désavantage des méthodes par niveaux est donc leur consommation mémoire, qui toutefois n’a pas empêché leur bonne exécution sur une machine de bureau standard. De