• Aucun résultat trouvé

La plupart des méthodes existantes, en particulier les méthodes à base de modèles pré-dictifs, ont pour objectif de trouver des valeurs de substitution les plus proches possibles des valeurs originales. Elles sont également jugées sur leur capacité à préserver la distribu-tion des données. Ce second critère est souvent invoqué par les statisticiens pour justier leur préférence pour les méthodes stochastiques, qui ont tendance à moins sous-estimer la variance que les méthodes déterministes (Hu et al.,2000;Little et Rubin,2002).

Notre cadre méthodologique est celui de la classication supervisée. Nous cherchons surtout à obtenir un classieur robuste et performant à partir de données incomplètes. Nos objectifs sont donc diérents. Peu nous importe de compléter la matrice des données avec des valeurs aussi proches que possible de la réalité, à laquelle nous n'avons pas accès. Nous cherchons avant tout à trouver des valeurs qui nous permettront de construire un bon classieur.

6.5.1 Description de notre méthode

Pour réaliser cet objectif nous avons choisi avec Thanh Ha Dang de compléter chaque attribut incomplet de façon à maximiser son pouvoir discriminant (Dang et Delavallade,

2006;Delavallade et Dang,2007). L'idée sous-jacente est que l'absence de certaines valeurs détériore la capacité de discrimination d'un attribut. Nous essayons donc de la restaurer. Nous avons recours au gain d'information pour mesurer cette capacité de discrimination. Le gain d'information est en particulier utilisé dans l'algorithme ID3 lors du processus de sélection des attributs (Quinlan, 1986). Ce gain mesure l'écart entre l'entropie de la base d'exemples et l'entropie de cette même base, prise conditionnellement à l'attribut considéré. Soit vi ∈ V. Notons I une mesure d'entropie. Le gain d'information apporté par vi sur une base d'exemples E, se note :

G (E , vi) = I (E ) − I (E |vi) où I désigne l'entropie.

Notons Mi = {mij}j=1..n

i l'ensemble ni des ni modalités de vi. Une substitution si

relativement à la variable vi est une application de Endans (Mi)nqui associe à un vecteur de n exemples un vecteur contenant n valeurs prises parmi les modalités admissibles de vi. Plus formellement on a :

si : En → (Mi)n

(e1, e2, ..., en) 7→ selti (e1) , selti (e2) , ..., selti (en) où selt

i correspond à une substitution élémentaire. C'est une application qui associe à un exemple une valeur de substitution de la manière suivante :

selt i : E → Mi ej 7→ ( vji si vji6=? ˆ vji sinon

La méthode que nous proposons consiste à identier la fonction si qui permet de maxi-miser le gain d'information. Notons que le nombre de modalités ni de vi étant ni, l'en-semble Si des substitutions possibles pour l'attribut vi l'est également : |Si| = n|Eim|

i . Le maximum que nous cherchons est donc atteint pour une substitution s ∈ Si, ce que nous pouvons écrire :

s = arg max

6.5. TECHNIQUE DE SUBSTITUTION BASÉE SUR L'ENTROPIE 89 Le terme I (E) ne dépendant pas de si, il est équivalent de minimiser l'entropie condition-nelle :

s = arg min

si∈Si

(I (E |si(e1, ..., en)))

Cette quantité ne dépend que des valeurs prises par l'attribut pour chacune des observations et de leur classe. Cette méthode pourra donc être qualiée de supervisée. Elle n'a pas recours aux variables autres que celle pour laquelle la substitution doit être eectuée et elle est déterministe. Ceci explique son positionnement dans la taxinomie, sous l'appellation Entropie.

Ne disposant que de l'information de classe pour trouver la valeur manquante corres-pondant à un élément, toutes les observations de même classe se verront attribuer la même valeur de remplacement pour l'attribut vi, ce queDang (2007) a montré de manière plus formelle. C'est là une des faiblesses potentielles de cette méthode, mais également sa force, car cela permet d'induire des modèles de classication qui auront tendance à mieux généra-liser. Nous verrons mieux ce qu'il en est lors de l'étude expérimentale de la section6.6. Une autre limitation vient du fait qu'elle soit spécique aux données discrètes. Nous écartons cette remarque, comme nous l'avons fait précédemment à propos de la substitution basée sur des techniques de classication supervisée. Pour pouvoir traiter les données numériques il sut en eet de les discrétiser.

6.5.2 Complexité et mise en ÷uvre algorithmique

Pour réaliser l'ensemble des substitutions de l'attribut vi, la complexité de notre mé-thode est de l'ordre de O

 n|E m i | i  = O  nn m i

i  , ce qui peut paraître rédhibitoire dès que le nombre de modalités ni devient grand ou dès que vi contient beaucoup de données man-quantes. En tenant compte de la propriété relative à la substitution par une même valeur, des valeurs manquantes d'exemples de même classe, nous pouvons ramener la complexité à O  nmin(n m i ,K) i 

, où K désigne le nombre de classes. Il s'agit cependant toujours d'une complexité exponentielle. Pour remédier à ce problème, nous nous sommes inspirés des techniques itératives telles que EM ou la régression itérée, pour construire une version itérative de notre méthode.

L'idée est de substituer, pour chaque variable, les valeurs manquantes une à une. À chaque itération, pour une valeur manquante vji, on calcule l'entropie conditionnnelle de E sachant vi, en ne prenant en compte que les valeurs observées de vi et en aectant temporairement à vji l'une des modalités mik de vi. Ce calcul est eectué pour les ni

modalités de vi. On aecte alors à vji la modalité associée à la plus petite valeur de l'entropie.

À la première itération, ne sont utilisés que les exemples dont les valeurs de vi sont observées (Eo

i). Pour toutes les itérations suivantes, on considère que les valeurs de sub-stitution estimées à l'itération précédente sont des valeurs observées. Seront alors utilisés pour estimer vji tous les exemples à l'exception évidemment de ej : E − {ej}.

Voyons plus formellement comment une valeur vji ∈ Em

i est traitée. Nous supposons que yj = Classe (ej) = ck. À la première itération, on considère l'attribut i de dimension |Eo

i| + 1 = no

i + 1, c'est-à-dire vi restreint aux éléments de Eo

i auxquels on ajoute ej. La valeur de substitution ˆvjicorrespond alors à la modalité permettant de minimiser l'entropie de Eo

i ∪ {ej} conditionnellement à cet attribut. Nous considérons par la suite uniquement l'entropie de Shannon (1948). Pour plus de détails sur les diérentes entropies existantes, le lecteur pourra se reporter à la thèse deDang(2007).

90 CHAPITRE 6. TRAITEMENT DES DONNÉES MANQUANTES ˆ vji = miz z = arg min q=1..ni (I (Eio∪ {ej} |vi, vji = miq)) = arg min q=1..niniq+ 1 noi + 1   K X r=1,r6=k ncr iq niq+ 1log2  ncr iq niq+ 1  −n ck iq + 1 niq+ 1log2 nck iq + 1 niq+ 1 !  − ni X l=1,l6=q nil no i + 1 K X r=1 ncr il nil log2  ncr il nil 

Dans cette dernière équation nil est le nombre d'exemples possédant la modalité mil

pour vi et ncr

il correspond au nombre d'exemples de la classe cr qui prennent la modalité mil de vi.

Pour les itérations suivantes, le principe est le même, sauf qu'on ne considère pas uniquement les éléments de Eo

i, mais également ceux de Em

i , en utilisant les valeurs de substitution trouvées à l'itération précédente. Nous mettons un terme à l'algorithme au bout d'un nombre prédéni d'itérations ou lorsque l'entropie ne décroît plus. La complexité de l'algorithme est cette fois linéaire, en O (ni× nm

i × N )où N est le nombre d'itérations.

6.5.3 Exemple d'application

Le tableau6.7 montre le comportement de notre méthode lors de l'initialisation, et le tableau6.8 illustre sur le même exemple ce qui est fait lors de la première itération. Dans cet exemple nous considérons un problème avec une seule variable v1, que nous noterons v, possédant 3 modalités : x, y et z. La matrice des données V est alors un vecteur de 10 éléments. Elle contient deux valeurs manquantes : v6 et v9. Ainsi nous avons

E = {e1, e2, ..., e10}

Eo = {e1, e2, e3, e4, e5, e7, e8, e10} Em = {e6, e9}

Lors de l'intialisation, c'est la modalité x qui minimise l'entropie conditionnelle, calculée sans prendre en compte v9 et c'est z qui permet de minimiser cette entropie, en intégrant v9, mais en excluant v6. Lors de la seconde phase (première itération), aucune des deux valeurs n'a changé. Le processus est donc terminé. Notons au passage que les entropies ont cette fois été calculées en prenant en compte toutes les données. Pour la substitution de v6, on a considéré que v9 valait z, et pour la substitution de v9, nous avons pris x comme valeur de v6. Ce sont les deux valeurs que l'on avait trouvées à l'étape précédente.

6.5. TECHNIQUE DE SUBSTITUTION BASÉE SUR L'ENTROPIE 91 Tab. 6.7  Substitution des valeurs manquantes par minimisation de l'entropie : initialisa-tion

E e1 e2 e3 e4 e5 e6 e7 e8 e9 e10

v x y x z x ? y y ? x

y 1 1 2 2 1 1 2 2 2 1

v6=x ⇒ I (Eo∪ e6|v&v6 = x) = −59 45log2 45+15log2 15 −39 13log2 31+23log2 231 9 1 1log2 11 = 0.707 v6=y ⇒ I (Eo∪ e6|v&v6 = y) = 0.805 v6=z ⇒ I (Eo∪ e6|v&v6= z) = 0.888 ⇒ xˆ6 = x v9=x ⇒ I (Eo∪ e9|v&v9 = x) = 0.846 v9=y ⇒ I (Eo∪ e9|v&v9 = y) = 0.721 v9=z ⇒ I (Eo∪ e9|v&v9= z) = 0.666 ⇒ xˆ9= z

Tab. 6.8  Substitution des valeurs manquantes par minimisation de l'entropie : première et dernière itération. Les valeurs de ˆx6 et ˆx9 ne changent pas.

E e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 v x y x z x x y y z x y 1 1 2 2 1 1 2 2 2 1 v6=x ⇒ I (E|v&v6 = x) = −5 10 4 5log2 45 +15log2153 10 1 3log2 13 +23log223 −102 22log2 22 = 0.636 v6=y ⇒ I (E|v&v6 = y) = 0.724 v6=z ⇒ I (E |v&v6 = z) = 0.875 ⇒ xˆ6 = x v9=x ⇒ I (E|v&v9 = x) = 0.826 v9=y ⇒ I (E|v&v9 = y) = 0.685 v9=z ⇒ I (E |v&v9 = z) = 0.636 ⇒ xˆ9= z

Il est possible de montrer que notre technique tend à privilégier la modalité mj qui maximise la probabilité conditionnelle P (ci|mj), où ci désigne la classe de l'exemple au-quel appartient la valeur manquante considérée (Dang,2007). Il s'agit là d'une propriété asymptotique, vériée lorsque le nombre d'exemples de modalité mj et de classe ci tend vers l'inni. Cette propriété nous ore une autre solution pour la substitution initiale des valeurs manquantes qui est requise par notre technique. De plus elle permet de saisir les diérences entre notre méthode et celle que nous avons nommée CMode. Celle-ci substi-tue en eet à une valeur manquante d'un exemple de classe ci, la modalité mj qui vérie P (mj|ci) ≥ P (mk|ci) , ∀k.

92 CHAPITRE 6. TRAITEMENT DES DONNÉES MANQUANTES