Motifs séquentiels et approximation des va- leurs manquantes - CNRS

pour les règles d'association, a été formulée [FIO 07a], mais cette technique .... Il est donné par la formule (1)1 : Supp(I) = ∑ o∈O. ⊥r∈Ro ⊤i∈Iµr(i). |O|. (1).
148KB taille 12 téléchargements 174 vues
Motifs séquentiels et approximation des valeurs manquantes Céline Fiot LIRMM (CNRS - UMII) Campus Saint-Priest 161 rue Ada F-34392 Montpellier Cedex 5 [email protected] RÉSUMÉ. Les bases de données issues du monde réel contiennent souvent de nombreuses informations non renseignées. Durant le processus d’extraction de connaissances dans les bases de données, une phase de traitement spécifique de ces données est souvent nécessaire, permettant de les supprimer ou de les compléter. Plus particulièrement lors de l’extraction de séquences fréquentes, ces données incomplètes sont la plupart du temps supprimées. Ceci conduit parfois à l’élimination de plus de la moitié de la base et l’information extraite n’est plus représentative. Nous proposons donc d’estimer la présence d’un item dans une transaction incomplète en modélisant celle-ci par une distribution de valeurs. Le degré d’appartenance indique alors pour chaque item à quel point il peut appartenir à la transaction. On tient ensuite compte de l’estimation par distribution lors du calcul de la fréquence d’apparition de chaque séquence. Pour cela, nous avons conçu un algorithme qui a été implémenté. Nous présentons ici les résultats de nos expérimentations. ABSTRACT. Databases available from many industrial or research fields are often imperfect. In particular, they are most of the time incomplete in the sense that some of the values are missing. When facing this kind of imperfect data, two techniques can be investigated: either using only the available information or estimating the missing values. In this paper we propose an estimation-based approach for sequence mining. This approach considers partial inclusion of an item within a record using fuzzy sets. Experiments run on various synthetic datasets show the feasibility and validity of our proposal as well in terms of quality as in terms of the robustness to the rate of missing values. MOTS-CLÉS : Motifs séquentiels, approximation, valeurs manquantes, base de données incomplètes, fouille de données. KEYWORDS:

Sequential patterns, missing values, incomplete data, data mining.

2

INFORSID’07.

1. Introduction Au cours des dernières années, les domaines d’application de la fouille de données se sont diversifiés, dépassant le cadre initial d’utilisation des différentes techniques. C’est, par exemple, le cas des méthodes visant à extraire des séquences fréquentes maximales, appelées motifs séquentiels. Cette technique de fouille de données prend en compte les informations temporelles contenues dans des séquences de données et permet ainsi d’extraire des corrélations temporelles entre des attributs. Alors qu’elle visait à caractériser des comportements d’achats typiques de clients de supermarchés, la recherche de motifs séquentiels est aujourd’hui utilisée dans le but de découvrir des connaissances dans des bases industrielles, biologiques ou encore médicales, qui comportent souvent des imperfections. Ces nouvelles bases requièrent donc des traitements spécifiques et parfois complexes, afin de prendre en compte ces imperfections. En particulier, il est très courant de disposer de nombreuses données incomplètes (pannes, erreur de format, oubli humain, ...). Or la présence de valeurs manquantes induit de très sérieux problèmes, les données contenant des valeurs manquantes étant souvent éliminées lors du processus de fouille de données. Dans le cadre de la recherche de règles d’association, des travaux ont été proposés afin d’éviter ce prétraitement à la fois coûteux en temps et dégradant de la qualité des connaissances extraites, [RAG 98, NAY 01]. Mais le traitement des valeurs manquantes dans le contexte de la recherche de motifs séquentiels, n’a que peu été considéré jusqu’ici. Seule une proposition, basée sur le principe d’échantillonnage défini pour les règles d’association, a été formulée [FIO 07a], mais cette technique requiert la spécification de paramètres qui doivent être choisis de manière optimale pour obtenir des résultats satisfaisants. Nous proposons donc de redéfinir les principes décrits dans [AGR 95] et présentons une approche différente afin d’extraire des motifs séquentiels en présence de valeurs manquantes réparties aléatoirement dans une base de données. Cette nouvelle approche, inspirée par [NAY 01] dont nous transposons ici les principes aux séquences de données, ne nécessite pas d’autre paramètre que ceux nécessaires pour la recherche de motifs séquentiels sur des bases de données complètes. Pour cela, nous avons modélisé chaque enregistrement de la base sous la forme d’une distribution de valeurs. Nous avons également adapté les notions utilisées pour l’extraction de séquences fréquentes. L’algorithme ApSPoID a ensuite été implémenté sur la base d’un algorithme d’extraction de motifs séquentiels, PSP [MAS 98]. Puis nous avons testé notre approche sur des jeux de données synthétiques afin d’en montrer la validité. Dans la suite de cet article, section 2, nous présentons les méthodes qui permettent d’extraire des règles d’association en présence de valeurs manquantes, ainsi que les concepts liés à la découverte de motifs séquentiels. Dans la section 3, nous développons notre approche pour l’extraction de ces motifs à partir de bases de données incomplètes. Notre algorithme et sa mise en œuvre sont ensuite présentés dans la section 4. La section 5 est consacrée aux expérimentations qui montrent la validité de notre approche. Enfin, nous concluons dans la section 6 par les perspectives qu’ouvre

Motifs séquentiels et valeurs manquantes

3

ce travail. 2. Des données incomplètes aux motifs séquentiels Les motifs séquentiels sont souvent présentés comme une extension des règles d’association, initialement proposées dans [AGR 93]. Nous présentons dans cette section les notions liées à la découverte de motifs séquentiels ainsi que les méthodes qui permettent d’extraire des règles d’association en présence de valeurs manquantes.

2.1. Motifs séquentiels Les motifs séquentiels ont initialement été proposés par [AGR 95] et reposent sur la notion de séquence fréquente maximale. Considérons une base de données DB d’achats pour un ensemble O d’objets o. Chaque enregistrement R correspond à un triplet (id-objet, id-date, itemset) qui caractérise l’objet auquel est rattaché l’enregistrement, ainsi que la date et les items correspondants. Soit I = {i1 , i2 , · · · , im } l’ensemble des items de la base. Un itemset est un ensemble non vide et non ordonné d’items, noté (i1 , i2 , . . . , ik ), où ij est un item. Une séquence s se définit alors comme une liste ordonnée non vide d’itemsets qui sera notée < s1 s2 · · · sp >, où sj est un itemset. Une n-séquence est une séquence de taille n, c’est-à-dire composée de n items. Exemple 1 Si un client achète des produits selon la séquence S=, cela signifie qu’il a d’abord acheté le produit a, puis les produits b et c ensemble, ensuite seulement le produit d et finalement le produit e. S est une 5-séquence. Une séquence S ′ =< s′1 s′2 · · · s′m > est une sous-séquence de S =< s1 s2 · · · sp > s’il existe des entiers a1 < a2 est une sous-séquence de S car (b) ⊆ (b c) et (e) ⊆ (e). Par contre < (b)(c) > n’est pas une sous-séquence de < (b c) >, ni l’inverse. Les enregistrements de la base sont regroupés par objet et ordonnés chronologiquement, définissant ainsi des séquences de données. Un objet o supporte une séquence S si elle est incluse dans la séquence de données de cet objet. Le support (ou fréquence) d’une séquence est alors défini comme le pourcentage d’objets de la base DB qui supporte S. Une séquence est dite fréquente si son support est au moins égal à une valeur minimale minSup spécifiée par l’utilisateur. Une séquence candidate est une séquence potentiellement fréquente.

4

INFORSID’07.

La recherche de motifs séquentiels dans une base de séquences telle que DB consiste alors à trouver toutes les séquences maximales (non incluses dans d’autres) dont le support est supérieur à minSup. Chacune de ces séquences fréquentes maximales est un motif séquentiel. Des extensions ont été proposées pour prendre en compte la gestion de valeurs numériques associées aux items [HON 01, CHE 01, FIO 07b] ou encore la généralisation des motifs séquentiels pour différents paramètres temporels (espacement des différents évènements d’une séquence, rapprochement d’évènements proches en une même date...) [SRI 96, MAS 99]. Il n’existe, à notre connaissance qu’une technique permettant de gérer les valeurs manquantes lors de la découverte de motifs séquentiels [FIO 07a] et celle-ci requiert la spécification de paramètres précis ayant une forte influence sur les résultats obtenus. C’est pourquoi nous proposons ici une approche probabiliste permettant d’extraire des séquences fréquentes maximales dans une base de séquences incomplètes.

2.2. Règles d’association et valeurs manquantes Des travaux ont été proposés pour la recherche de règles d’association dans des bases de données incomplètes. Une première proposition [RAG 98] utilise un système d’échantillonnage de la base de données dans lequel, seules des sous-bases complètes sont utilisées pour déterminer chacune des règles, mais la base entière permet le calcul de l’ensemble des règles. L’algorithme RAR (Robust Association Rules) permet ainsi la prise en compte des données incomplètes lors de l’extraction de règles d’association dans des bases de données relationnelles incomplètes, par omission partielle et temporaire de ces enregistrements. Le principe consiste à ne prendre en compte que les attributs renseignés pour les enregistrements incomplets. Cette technique, adaptée pour l’extraction de motifs séquentiels dans [FIO 07a], produit des résultats satisfaisant. Toutefois, elle nécessite la spécification d’un seuil pour être sûr que le sousensemble complet utilisé pour le calcul de fréquence est suffisamment représentatif de la base complète. Or, les expérimentations montrent que si ce seuil n’est pas choisi de façon optimale, la méthode n’extrait pas tous les motifs fréquents ou trop de motifs parasites. C’est pourquoi, nous avons choisi de nous inspirer des propositions [NAY 01, NG 98]. Ces travaux reposent sur une technique couramment utilisée dans les domaines de statistique et d’apprentissage. Le principe consiste à utiliser l’information disponible (ie. les attributs renseignés) et à estimer grâce à elle les informations manquantes, avec un certain niveau de probabilité. Ainsi, ces méthodes mettent en œuvre un système d’approximation probabiliste dans lequel une valeur manquante prend plusieurs valeurs lors de la découverte des règles. Afin de prendre en compte ces estimations, les concepts de support (pourcentage des enregistrements de la base qui contiennent tous les items de la règle) et par extension, celui de confiance (la probabilité qu’un enregistrement qui contient la partie gauche de la règle contienne également la partie droite) ont été redéfinis.

Motifs séquentiels et valeurs manquantes

5

3. ApSPoID : une nouvelle approche du traitement des données incomplètes Notre approche consiste donc à estimer, pour chaque valeur manquante, les chances qu’elle représente l’un des items présents dans la base. Dans cette section, nous présentons plus précisément nos motivations, puis nous détaillons les définitions liées à notre approche.

3.1. Motivations Nous souhaitons extraire les motifs séquentiels contenus dans la base de données Tableau 1. Obj. O1 O2 O3

Séquence (a b) (b c d) (b c e) (a) (b c) (b d) (a b) (b c) (b c d)

Tableau 1. Base de données complète.

Obj. O1 O2 O3

Séquence (a b) (? ? c) (? b c) (a) (? c) (b d) (a b) (? c) (? ? c)

Tableau 2. Base de données incomplète.

Obj. O1 O2 O3

Séquence (a b) (c) (b c) (a) (c) (b d) (a b) (c) (c)

Tableau 3. Après suppression des valeurs manquantes.

Avec un support de 50%, les motifs obtenus sont : , et . Considérons maintenant la même base, mais incomplète, Tableau 2. Pour certaines séquences de données, les informations n’ont pas été transmises et des valeurs sont manquantes. Afin de pouvoir extraire les motifs, les méthodes classiques requièrent une élimination des valeurs manquantes. La base sur laquelle s’effectue la fouille de données est alors la base Tableau 3 et les motifs obtenus pour minSup = 50% sont : et . On constate que seule une petite partie de la base est utilisée pour extraire l’information et on ne retrouve qu’une partie des schémas fréquents extraits de la base complète : des sous-séquences des motifs que l’on devrait extraire. C’est pourquoi il paraît nécessaire d’utiliser l’intégralité de la base lors de la fouille et non pas d’en supprimer une partie.

3.2. Motifs séquentiels approximatifs dans les bases de données incomplètes L’élimination des enregistrements incomplets conduisant à une perte d’information, nous avons donc envisagé d’adapter une méthode d’extraction de règles d’association robuste aux valeurs manquantes pour extraire des motifs séquentiels. Nous

6

INFORSID’07.

présentons ici la méthode ApSPoID (Approximate Sequential Patterns over Incomplete Database), inspirée de l’algorithme ∼AR, présenté dans [NAY 01]. Le principe général de notre méthode, comme de la méthode ∼AR, repose sur l’estimation de la valeur des items non-renseignés. Alors que pour les règles d’association, l’algorithme ∼AR calcule le support d’un itemset en tenant compte de la probabilité de chaque valeur possible d’une valeur manquante, nous proposons ici d’utiliser cette estimation lors du calcul du support d’une séquence. Ainsi, lors du calcul du support des items d’une séquence, à chaque valeur manquante, on attribue plusieurs valeurs, chacune avec un niveau d’apparition possible. La notion de support définie dans la section 3 doit donc être modifiée afin de prendre en compte ce degré de représentation de l’item. Il s’agit alors de pondérer la présence d’un item dans l’itemset par le niveau de certitude que l’on a de sa présence : – Si un item est présent, le niveau d’apparition est de 1, – Si un item est absent et qu’il n’y a pas de valeur manquante dans l’enregistrement considéré, alors le niveau d’apparition est nul, – Sinon, le niveau d’apparition de l’item i dans l’enregistrement r est compris dans l’intervalle ]0, 1[. Il sera noté µr (i) Définition 1 Le support d’un itemset I est le niveau d’apparition de cet itemset pour tous les objets de la base, pour chacun d’eux, on prendra la meilleure représentation (ie. celle dont on est le plus sûr). Il est donné par la formule (1)1 : X ⊥r∈Ro ⊤i∈I µr (i) Supp(I) =

o∈O

|O|

(1)

Définition 2 Le support d’une séquence S est le taux d’apparition de cette séquence parmi les séquences de données qui peuvent la supporter. On le définit comme le ratio de la somme du meilleur niveau d’apparition de la séquence pour toutes les séquences de données de la base par le nombre de séquences de données. Il est donné par la formule (2) : X L(o, S) Supp(S) =

o∈O

|O|

(2)

où L(o, S) est le niveau d’apparition de S dans la séquence de données de l’objet o. 1. Les distributions de valeurs présentées dans cet article peuvent être vues comme des sousensembles flous. C’est pourquoi nous utilisons l’opérateur ⊤ (resp. ⊥). Il s’agit d’un opérateur de t-norme (resp. t-conorme), utilisé en logique floue afin de réaliser l’intersection (resp. l’union) de deux sous-ensembles flous. Il existe plusieurs opérateurs de t-norme (resp. t-conorme). Nous utiliserons le min (resp. max), comme détaillé section 3.3.

Motifs séquentiels et valeurs manquantes

7

Définition 3 Le niveau d’apparition d’une séquence S pour un objet o correspond au meilleur taux d’inclusion de la séquence S dans la séquence de données de o. Ce niveau d’apparition est calculé par agrégation du taux d’inclusion de chaque itemset, dans l’ordre de la séquence S. Il est donné par la formule (3) : L(S, o) = ⊥r∈Ro OrdAg (⊤j∈si µr (j))

(3)

où g est le nombre d’itemsets dans S.

3.3. Choix de l’opérateur d’agrégation Il existe plusieurs opérateurs pouvant être utilisés afin d’agréger les taux d’inclusion des items pour un itemset ou celui des itemsets pour une séquence. La méthode proposée par [NAY 01] utilise une agrégation par la moyenne pour le taux d’inclusion des items dans un itemset. Toutefois, nous considérons que ce type d’agrégation peut masquer un taux d’inclusion faible de plusieurs items dans un enregistrement, si d’autres sont sûrs. C’est pourquoi nous proposons d’utiliser un opérateur de t-norme pour réaliser ce calcul, et plus précisément, l’opérateur min, pour ses propriétés d’idempotence [FIO 07b]. En ce qui concerne l’agrégation séquentielle, nous proposons cette fois d’utiliser l’agrégation par la moyenne, chaque itemset ayant la même importance dans une séquence. En effet, l’incertitude ayant déjà été prise en compte par l’utilisation de la t-norme, il n’est pas nécessaire de la considérer à nouveau au niveau de la séquence [FIO 07b].

3.4. Détermination des distributions de valeurs pour chaque valeur manquante La première étape de la méthode consiste à déterminer les valeurs possibles de chaque valeur manquante ainsi que le niveau de certitude de cette valeur. Or, comme le souligne [GRA 05], l’une des questions récurrentes en fouille de données concerne la construction des distributions des degrés d’appartenance, ou ici, des niveaux d’apparition. En ce qui concerne notre proposition, nous souhaitons déterminer une approximation de la composition d’un enregistrement incomplet. Dans notre exemple, ainsi que dans une partie des expérimentations, nous utilisons la méthode suivante. Une passe sur la base permet de calculer le taux d’apparition de chaque item par enregistrement. La base de données étant incomplète, nous avons choisi d’utiliser la technique de désactivation des transactions sur le principe de RAR [RAG 98]. Ce calcul nous donne ainsi une distribution de fréquence qui sera ensuite utilisée pour déterminer le taux d’inclusion d’un item dans un enregistrement. La distribution de valeurs est ici calculée en fonction des fréquences d’apparition dans les enregistrements mais elle pourrait l’être en fonction des fréquences d’apparition dans les séquences de données, ou encore, calculée en ne considérant que les enregistrements complets.

8

INFORSID’07.

Ainsi, lors du scan de la base à la recherche d’une séquence, lorsqu’un itemset est trouvé complet dans un enregistrement, son taux d’inclusion sera 1 et lorsqu’il est trouvé partiellement dans un enregistrement incomplet, on utilise la distribution de fréquence pour déterminer le taux d’inclusion de la partie manquante de l’itemset. Nous présentons quelques résultats expérimentaux qui mettent en évidence l’influence du choix de la distribution sur le résultat de la fouille.

4. Mise en œuvre Dans cette section, nous illustrons les définitions, ainsi que les principes précédemment décrits. Dans la seconde partie, nous présentons le fonctionnement de notre algorithme.

4.1. Illustration Reprenons la base incomplète présentée Tableau 2. On pose minSup=50%. La première étape consiste à calculer la distribution des taux d’apparition de chaque item. Pour cela, on utilise la formule proposée par [RAG 98] : F req(i) =

|{r ∈ R/i ∈ r}| |R| − |{r ∈ R/r.isIncomplete(i)}|

Ce qui nous donne pour i = a : 3/(9-5) = 0.75. Le tableau 4 donne la distribution de fréquences pour chaque valeur possible d’une valeur manquante. Item Fréquence

a 0.75

b 0.8

c 0.56

d 0.25

e 0

Tableau 4. Distribution de fréquences pour les valeurs manquantes. Ainsi, pour le deuxième enregistrement de l’objet 1, le taux d’inclusion de c est de 1, mais pour a, b, d et e, il est donné par la distribution de fréquence ci-dessus. La représentation en sous-ensemble flou de cet enregistrement est donc la suivante, Figure 1. On commence ensuite la recherche de motifs séquentiels, par le calcul des fréquences de chaque item. L’item a apparaît de manière certaine dans la séquence de données de chacun des trois objets, son support est donc 3/3 = 100%. Il en est de même pour les items b et c. Pour l’item d, il pourrait être supporté par le deuxième enregistrement de l’objet 1 et également de l’objet 3. Son support est donc donné par le calcul suivant : Supp(< d >) = ⊥(0.25,0.25)+⊥(0.25,1)+⊥(0.25,0.25) 3 = 0.25+1+0.25 3 = 0.5

Motifs séquentiels et valeurs manquantes

9

Figure 1. Représentation de l’enregistrement 2 du premier objet. Prenons maintenant la séquence S = < (ab) (abcd) >. Cette séquence ne peut être supportée par aucune des trois séquences de données, car aucune ne comporte d’enregistrements de quatre items. La séquence S ′ = < (ab) (bc) >, quant à elle, est supportée par l’objet 1, ne peut l’être par le deuxième, mais peut l’être par l’objet 3. On a donc : Supp(S ′ ) =

1 + 0 + (1 + ⊤(0.8, 1))/2 1 + 0.9 = = 63% 3 3

La séquence S ′ est donc fréquente. En appliquant cette méthode, les motifs séquentiels extraits pour minSup=50% sont : < (ab)(bc)(abc) >, < (ab)(ac)(abc) >, < (a)(bc)(bd) >, < (a)(ac)(bd) >, < (b)(c)(bd) > et < (a)(d)(b) >. Même si ces motifs ne sont pas exactement ceux extraits sur la base complète, on constate qu’ils sont plus proches des motifs qui devraient être extraits des motifs obtenus de la base après prétraitement. Les expérimentations présentées dans la section 5 montrent que globalement, ApSPoID extrait une part importante des motifs séquentiels trouvés sur la base complète ainsi qu’un certain nombre de motifs supplémentaires, qui dépendent de la distribution de fréquences initialement choisie pour les valeurs manquantes.

4.2. Algorithme Le principe de l’algorithme ApSPoID est similaire aux algorithmes d’extraction de motifs séquentiels de type générer-élaguer. Il consiste à générer toutes les séquences candidates de longueur k à partir des séquences fréquentes de longueur k-1, puis à scanner l’ensemble de la base pour compter le nombre de séquence de données qui supporte chacune des séquences candidates. La différence réside dans le dénombrement des séquences de données incomplètes pour la séquence candidate considérée. Afin de minimiser le nombre de passes sur la base de données, qui devient coûteuse lorsque l’on travaille sur de gros volumes de données, la phase de comptage reprend les principes de comptage utilisés par l’algorithme TotallyFuzzy, pour la recherche de motifs séquentiels flous [FIO 07b]. Elle est décrite par l’Algorithme 1.

10

INFORSID’07.

ApSPoID - Input : |O|, une base de séquences de données ; minSup, support minimum spécifié par l’utilsateur Ouput : SP List, liste des séquences fréquentes float[] f reqDist ← calcDist() ; [Calcul des distributions de fréquences] [Recherche des items fréquents] C ← {i ∈ I} ; k = 1 ; F ← getFrepnRep(C,minSup,minRep) ; SP List.add(F ) ; [Recherche des séquences fréquentes, longueur ≥ 2] While (C 6= ∅) do k++ ; C ← generate(F ,k) ; For each séquence candidate s ∈ C do For each objet o ∈ O do float[] degTab ; ag ← 0 ; id ← 1 ; For (j=1 to |Ro | do T rans ← {rj , ...r|Ro | } ; findSequence(s,T rans,degT ab) ; i=id X ag ← max(ag, degT ab[i]/id) ; i=1

End For tmpSup ← tmpSupp + ag ; End For Support(s) ← tmpSupp(s)/|(O)| ; If ((Support(s) < minSup)||(Rep(s) < minRep)) Then prune(s) ; End If End For SP List.add(F ) ; End While return SP List ;

Algorithme 1 : ApSPoID - algorithme général.

Pour chaque séquence, on scanne les enregistrements à la recherche des itemsets de la séquence. Si on trouve le premier, complet, alors on conserve la valeur 1 comme taux d’inclusion du premier itemset, puis on cherche l’itemset suivant. Si on le trouve incomplet, dans une transaction incomplète, alors son taux d’inclusion prend la valeur min µr (i), puis on cherche la suite de la séquence. Par contre si l’enregistrement ne i∈I

supporte que partiellement l’itemset et que le nombre de valeur manquante ne permet pas de le compléter, ce premier itemset n’est pas trouvé et on le cherche dans la suite de la séquence de données. Si la séquence est trouvée, on calcule son niveau d’apparition dans la séquence de données par une agrégation par la moyenne. Si elle est trouvée plusieurs fois, on

Motifs séquentiels et valeurs manquantes

11

retient le meilleur niveau d’apparition calculé. Une fois l’ensemble de la base parcouru, on divise la somme des niveaux d’apparition par objet par le nombre total d’objets. Puis on procède à la phase d’élagage en supprimant toutes les séquences candidates qui ne sont pas fréquentes. La sous-fonction f indSequence (Algorithme 2) est une fonction récursive qui parcourt une séquence de données t à la recherche de la séquence candidate s. Lorsqu’elle trouve l’itemset de s recherché, alors elle recherche le suivant de la séquence candidate, dans la suite de la séquence t. Sinon, elle continue de rechercher le même itemset de la séquence candidate dans la séquence de données. findSequence - Input : s, une séquence candidate ; t, une séquences de données d, tableau des niveaux d’apparition des itemsets ; n, l’ordinal de l’itemset recherché Ouput : d sT ail ← s\s.first() ; tT ail ← t\t.first() ; If ((sT ail 6= ∅)&(tT ail 6= ∅)) Then If ( min µs.first (i)) Then i∈s.first

d[n] ← min µs.first (i) ; i∈s.first

findSequence(sT ail, tT ail, d, n + 1) ; Else findSequence(s, tT ail, d, n) ; End If Else return d ; End If

Algorithme 2 : findSequence - algorithme de parcours d’une séquence de données. Cet algorithme peut être optimisé pour diminuer le nombre de passes sur la base en utilisant la structure de chemins présentées dans [FIO 07b]. On conserve alors en mémoire la meilleure représentation courante de la séquence et toutes les amorces possibles de celle-ci lors du parcours de la séquence de données.

5. Expérimentations Ces expérimentations ont été réalisées sur un PC équipé d’un processeur 2,8GHz et de 512Mo de mémoire DDR, sous système Linux, noyau 2.6. Dans ces premières expérimentations, nous utilisons un jeu de données synthétiques construit aléatoirement selon une loi normale, dans lequel certains items sont remplacés par des valeurs manquantes, réparties de maniére aléatoire, afin de comparer les motifs séquentiels extraits sur la base incomplète par notre algorithme ApSPoID, d’une part, avec les motifs extraits sur la base complète, ceux extraits sur la base prétraitée (dont les items incomplets ont été supprimés) et enfin ceux extraits par l’algorithme SPoID [FIO 07a],

12

INFORSID’07.

d’autre part. Les résultats présentés ici ont été obtenus à partir du traitement de plusieurs jeux de données synthétiques comportant environ 2000 séquences de 20 transactions en moyenne. Chacune de ces transactions comportant en moyenne 10 items choisis parmi 200. Nos analyses sont basées sur le calcul du nombre de bons motifs séquentiels trouvés par ApSPoID et du nombre de motifs différents extraits par ApSPoID, ces derniers regroupant les motifs extraits, qui n’existe pas dans la base complète et les motifs non trouvés, mais contenus dans la base complète. Le Tableau 5 récapitule l’ensemble des notations utilisées dans cette section. β δ θ τ

Nombre de motifs extraits par ApSPoID, contenus dans la base complète Nombre de motifs différents (manquants + supplémentaires) Nombre de motifs extraits par ApSPoID sur la base incomplète Nombre de motifs extraits sur la base de données complète

Tableau 5. Notations pour les différentes catégories de motifs séquentiels extraits.

5.1. ApSPoID vs. SPoID Les figures qui suivent présentent une comparaison des motifs extraits par ApSPoID aux motifs extraits avec PSP après prétraitement (élimination des données incomplètes) ainsi que ceux extraits par SPoID [FIO 07a], méthode existante tenant compte des données incomplètes lors de l’extraction de motifs séquentiels. Ratio #trouves/#dans base complete en fonction de % incompletude Ratio #trouves/#extraits en fonction de % incompletude

Ratio #trouves/#differents en fonction de % incompletude

0.8

0.8

0.6 SPoID - optimal PSP + pretraitement ApSPoID

0.4 0.2

0.6 0.4 0.2

0

SPoID - optimal PSP + pretraitement ApSPoID

20

30

40

50

% valeurs manquantes

(a)

60

70

2.5 2 1.5 1 0.5

0 10

SPoID - optimal PSP + pretraitement ApSPoID

3 #trouves/#differents

1

#trouves/#extraits

#trouves/#dans base complete

3.5 1

0 10

20

30

40

50

% valeurs manquantes

(b)

60

70

10

20

30

40

50

60

70

% valeurs manquantes

(c)

Figure 2. (a) : Proportion (β/τ ) en fonction du taux d’incomplétude de la base ; (b) : Proportion (β/θ) en fonction du taux d’incomplétude de la base ; (c) : Proportion (β/δ) en fonction du taux d’incomplétude de la base. Tout d’abord, la figure 2(a) montrent l’évolution du ratio des bons motifs proportionnellement aux motifs extraits sur la base complète. ApSPoID et SPoID ont des comportements similaires en ce qui concerne le nombre de bons motifs extraits. Plus

Motifs séquentiels et valeurs manquantes

13

particulièrement, ApSPoID offre de meilleurs résultats de 40 à 70% d’incomplétude alors que sur cet intervalle, les résultats de SPoID sont moins intéressants que sur l’intervalle 10 à 20%, sur lequel SPoID extrait tous les motifs de la base complète. On remarque également que quelque soit le pourcentage de valeurs manquantes, la méthode par prétraitement est peu performante. Ensuite, les figures 2(b) et 2(c) permettent de comparer l’importance des motifs parasites ainsi que des motifs manquants. La figure 2(b) présente la proportion du nombre de bons motifs par rapport aux motifs extraits, en fonction du pourcentage de valeurs manquantes dans la base de données. Ce ratio est considéré comme bon, lorsqu’il est proche de 1 (tous les motifs extraits sont bons). Toutefois, ces résultats sont à confronter avec la figure 2(a). En effet, tous les motifs extraits peuvent correspondre à la base complète mais un nombre important d’entre eux peuvent manquer, comme c’est le cas pour PSP. On remarque alors que les résultats obtenus par ApSPoID sont meilleurs que ceux de SPoID à partir de 40% de valeurs manquantes environ. En effet, à ce taux, ApSPoID extrait 90% des motifs à trouver et ces motifs représentent environ 60% des motifs extraits. De même, lorsque la base contient 50% de valeurs manquantes, ApSPoID extrait 80% des motifs de la base complète et ces motifs représentent 70% des motifs extraits, alors que SPoID n’extrait 70% des motifs de la base complète, mais la proportion de motifs en trop est plus importante, puisque la part des bons motifs parmi les motifs extraits n’est que de 40%. Ceci est confirmé par la figure 2(c), qui montre l’évolution du ratio β/δ (bons motifs / (manquants+supplémentaires). Cette figure montre qu’à partir de 35%, la proportion de bons motifs par rapport aux motifs différents est nettement plus importante pour ApSPoID que pour SPoID. De plus, le nombre de bons motifs est toujours supérieur à la part de motifs différents (le ratio est toujours supérieur à un), contrairement à SPoID dont les résultats sont plutôt bons jusqu’à 30% de valeurs manquantes puis s’effondrent rapidement.

5.2. Choix de la distribution L’analyse du comportement de ApSPoID selon le choix de la distribution de valeurs pour les itemsets incomplets montre que celle-ci a une influence sur les résultats obtenus. Nous présentons ici une comparaison des performances de ApSPoID utilisé avec deux distributions : – une distribution calculée par la méthode RAR (comme dans l’exemple de la section 4). Celle-ci est utilisée par “ApSPoID - Dist 1" dans la figure 3, – une distribution calculée en incrémentant uniquement lors de la présence mais en considérant la totalité des enregistrements pour le calcul de la fréquence. Celle-ci est utilisée par “ApSPoID - Dist 2" dans la figure 3, Alors que la première distribution est plutôt optimiste (chaque valeur manquante est ignorée et n’intervient pas dans le calcul de la fréquence des items), la deuxième est

14

INFORSID’07.

plutôt pessimiste (chaque valeur manquante est considérée comme n’étant pas l’item dont on calcule la fréquence). Le choix de l’une ou de l’autre a donc un impact sur le résultat final. Ratio #trouves/#dans base complete en fonction de % incompletude Ratio #trouves/#extraits en fonction de % incompletude

Ratio #trouves/#differents en fonction de % incompletude

0.8

0.8

0.6 ApSPoID - Dist 1 ApSPoID - dist 2

0.4 0.2

0.6 0.4 0.2 0

10

20

30 40 50 60 % valeurs manquantes

(a)

70

2.5 2 1.5 1 0.5

ApSPoID - Dist 1 ApSPoID - Dist 2 0

ApSPoID - Dist 1 ApSPoID - Dist 2

3 #trouves/#differents

1

#trouves/#extraits

#trouves/#dans base complete

3.5 1

0 10

20

30 40 50 60 % valeurs manquantes

(b)

70

10

20

30 40 50 60 % valeurs manquantes

70

(c)

Figure 3. (a) : Proportion (β/τ ) en fonction du taux d’incomplétude de la base ; (b) : Proportion (β/θ) en fonction du taux d’incomplétude de la base ; (c) : Proportion (β/δ) en fonction du taux d’incomplétude de la base.

Ainsi, la figure 3(a) montre que la seconde distribution ne permet de trouver l’ensemble des motifs de la base complète que jusqu’à 40% de valeurs manquantes dans la base, alors que la distribution optimiste trouve un nombre important de motifs jusqu’à 60% d’incomplétude. Par contre la figure 3(b) montre que globalement, la seconde distribution extrait moins de motifs parasites. La figure 3(c) permet de conclure que la distribution pessimiste donne de meilleurs résultats que la distribution optimiste jusqu’à un taux d’incomplétude d’environ 40%. Sur l’intervalle 20 à 40% d’incomplétude, les résultats obtenur par ApSPoID avec la deuxième distribution sont donc comparables à ceux dobtenus par SPoID. On retiendra que le choix d’une distribution plus ou moins optimiste déterminera quelle quantité de motifs séquentiels de la base complète ApSPoID pourra extraire mais également le pourcentage de motifs parasites. Il faudra alors admettre un compromis entre le pourcentage de bons motifs extraits et le pourcentage de motifs parasites. Ces expérimentations nous montrent donc que globalement, ApSPoID est plus fiable que SPoID à partir de 30% de valeurs manquantes et que ces résultats sont intéressants jusqu’à environ 60% de données incomplètes. Par ailleurs, les motifs extraits par ApSPoID - Dist 1 contiennent en moyenne 80 à 90 % des motifs extraits sur la base complète pour un taux d’incomplétude de 10 à 40%. Ces résultats sont légèrement moins bons que ceux de SPoID, toutefois l’utilisation de ApSPoID ne requiert pas la spécification d’autres paramètres que le support contrairement à SPoID, l’utilisation d’ApSPoID est donc facilité. Par ailleurs, les résultats obtenus par ApSPoID pourront être améliorés en affinant la distribution de fréquences à chaque itération, en consi-

Motifs séquentiels et valeurs manquantes

15

dérant de plus en plus précisément le contenu de chaque enregistrement. Enfin, en ce qui concerne la comparaison d’ApSPoID avec SPoID en terme de temps d’exécution, nous avons pu constaté que les deux méthodes ont des performances équivalentes.

6. Conclusion et perspectives La découverte de motifs séquentiels est une méthode de fouille de données intéressante lorsqu’il s’agit d’extraire des connaissances dans une base de données historisée, telle que des relevés de processus industriel ou de fonctionnement de machines. Or, dans ce type de bases de séquences, la présence de valeurs manquantes est inévitable. Pourtant peu de techniques existent permettant de découvrir des séquences fréquentes à partir de bases de données incomplètes. Nous avons donc proposé dans cet article une adaptation des définitions originales liées à l’extraction de motifs séquentiels afin de traiter les informations incomplètes distribuées au hasard, directement pendant la fouille plutôt que de supprimer ces enregistrements, comme cela était le cas avec les algorithmes existants. Notre méthode, ApSPoID a été implémentée et testée sur des jeux de données synthétiques, ce qui nous a permis de montrer sa robustesse aux valeurs manquantes pour un taux d’incomplétude d’environ 50%, alors que les méthodes classiques, après prétraitement, donnent de mauvais résultats dès 10% de valeurs manquantes. Nous envisageons maintenant d’étendre cette méthode afin de pouvoir prendre en compte d’autres types de valeurs manquantes (non distribuées au hasard, par exemple), après avoir détecté les différents types d’informations incomplètes contenues dans la base. D’autres perspectives de ce travail concernent la mise en place de mesures permettant de trier les motifs séquentiels en fonction du taux d’incomplétude des séquences de données qui permettent de les trouver et la prise en compte du bruit qui est également une imperfection courante dans les bases de données du monde réel.

7. Bibliographie [AGR 93] AGRAWAL R., I MIELINSKI T., S WAMI A. N., « Mining Association Rules between Sets of Items in Large Databases », Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, Peter Buneman and Sushil Jajodia, 26–28 1993, p. 207–216. [AGR 95] AGRAWAL R., S RIKANT R., « Mining sequential patterns », Eleventh International Conference on Data Engineering, Taipei, Taiwan, 1995, IEEE Computer Society Press, p. 3–14. [CHE 01] C HEN R.-S., T ZENG G.-H., C HEN C.-C., H U Y.-C., « Discovery of Fuzzy Sequential Patterns for Fuzzy Partitions in Quantitative Attributes », ACS/IEEE Int. Conf. on Computer Systems and Applications, 2001, p. 144–150. [FIO 07a] F IOT C., L AURENT A., T EISSEIRE M., « SPoID : Extraction de motifs séquentiels pour les bases de données incomplètes. », 7èmes journées d’Extraction et Gestion des Connaissances, 2007.

16

INFORSID’07.

[FIO 07b] F IOT C., L AURENT A., T EISSEIRE M., « From Crispness to Fuzziness : Three Algorithms for Soft Sequential Pattern Mining », IEEE Transactions on Fuzzy Systems, , à paraître, 2007. [GRA 05] G RAS R., C OUTURIER R., G UILLET F., S PAGNOLO F., « Extraction de règles en incertain par la méthode statistique implicative », 12 èmes Rencontres de la Société Francophone de Classification, 2005, p. 148–151. [HON 01] H ONG T., L IN K., WANG S., « Mining Fuzzy Sequential Patterns from MultipleItems Transactions », Joint 9th IFSA World Congress and 20th NAFIPS Int. Conf., 2001, p. 1317–1321. [MAS 98] M ASSEGLIA F., C ATHALA F., P ONCELET P., « The PSP Approach for Mining Sequential Patterns », Principles of Data Mining and Knowledge Discovery, 1998, p. 176184. [MAS 99] M ASSEGLIA F., P ONCELET P., T EISSEIRE M., « Extraction efficace de motifs séquentiels généralisés : le prétraitement des données », 15 ème Journée Bases de Données Avancées (BDA ’99), 1999, p. 341–360. [NAY 01] NAYAK J., C OOK D., « Approximate association rule mining », Florida Artificial Intelligence Research Symposium, 2001. [NG 98] N G V., L EE J., « Quantitative Association Rules over Incomplete Data », International Conference, 1998, p. 2821–2826.

IEEE

[RAG 98] R AGEL A., C REMILLEUX B., « Treatment of Missing Values for Association Rules », Pacific-Asia Conference on Knowledge Discovery and Data Mining, 1998, p. 258270. [SRI 96] S RIKANT R., AGRAWAL R., « Mining Sequential Patterns : Generalizations and Performance Improvements », 5th International Conference on Extending Database Technology (EDBT ’96), London, UK, 1996, Springer-Verlag, p. 3–17.