• Aucun résultat trouvé

On présente dans cette section un algorithme d’apprentissage pour(G, δ)qui, en quelques points, s’apparente à la méthode deHartigan(1967). La procédure proposée consiste à modi- fier itérativement une structure initialisée à l’aide d’un algorithme de regroupement hiérar- chique classique. Tout au long de la section, on dénote(G0, δ0)la structure sous considération à une étape donnée de l’algorithme, et on la définit formellement avec

G0 = {Gv0}v∈V0, δ0 = {δv0}v∈V0,

où V0 est un ensemble d’indices vectoriels analogue àV. À chaque itération, on considère

un nœud deV0, ainsi que l’ensemble de contraintes qu’il caractérise, et on effectue une série

de tests pour déterminer quelles modifications de(G0, δ0)sont souhaitables. Parmi les d−1 nœuds v1, . . . , vd−1qui consistuent l’ensemble initialV0, on traite d’abord les nœuds associés à une plus forte corrélation, i.e. de telle sorte que ¯τv1 > · · · > ¯τvd−1, où, pour tout v ∈ V

0,

¯τv= ¯τv(1,2)est comme en (3.11) avec(G, δ) = (G0, δ0).

À la sous-section 3.5.1, on débute en décrivant l’initialisation deG0 et de δ0. On définit en- suite, à la sous-section3.5.2, deux opérations sur(G0, δ0); la première sert à corriger(G0, δ0) lorsqu’une irrégularité dans ¯T(,G0, δ0)est détectée, tandis que la deuxième est une com- posante importante des tests qui permettent de détecter de telles irrégularités. On définit ces tests à la sous-section3.5.3. Finalement, on présente l’algorithme dans sa totalité à la sous- section3.5.4. Afin d’en donner l’idée générale, le fonctionnement de l’algorithme est illustré à l’aide d’une animation à la Figure3.4.

FIGURE3.4 – Animation illustrant l’application de l’algorithme. Cliquez pour débuter l’ani-

mation.

3.5.1 Initialisation de

G

0et δ0

Pour construire l’arbre binaire initialisantG0, on utilise un algorithme de regroupement hié- rarchique de type agglomératif : on commence avec d grappes de variables – une variable par grappe – et on regroupe itérativement les deux grappes les plus similaires (ou moins dis- similaires) jusqu’à ce que toutes les variables se trouvent dans une unique grappe. On doit donc spécifier une matrice de dissimilarité, qu’on dénote D et qui quantifie la dissimilarité entre chaque paire de variables, ainsi qu’une méthode permettant de calculer la dissimilarité entre deux grappes de variables. On réfère le lecteur à la Section 14.3.12 deHastie et al.(2009) pour une description détaillée des algorithmes de regroupement hiérarchique. Une panoplie de choix pour D est proposée dans la litérature, selon l’application considérée. On utilise ici la matrice de dissimilarité définie par

Dij =1−Tˆij, 16i, j 6d, (3.13) qui sous-entend que les variables plus fortement (positivement) corrélées sont plus « si- milaires ». Ceci est particulièrement pertinent lorsque les variables étudiées sont supposées positivement corrélées. Le regroupement peut être effectué avec e.g. la méthode du voisin le plus proche (single linkage) ou du voisin le plus loin (complete linkage). Pour être cohérent avec (3.11), on utilise la moyenne pondérée (weighted average linkage) deMcQuitty(1966).

Exemple 3.5(Suite). Soit la matrice de corrélation empirique ˆT illustrée à la Figure 3.5 (a). Elle est accompagnée de la structure triviale (G00, 0), où G00 = {{1}, . . . ,{d}}, pour laquelle ˆT ∈ T18(G00, 0). En utilisant la méthode de la moyenne pondérée avec D telle qu’en (3.13), on obtient l’arbre binaire G0 illustré à la Figure 3.5 (b), qui est accompagné de la matrice ¯T(,G0, 1). Sans même connaître T, il semble raisonnable de croire que T 6∈ T18(G0, 1); en comparant par exemple ˆT

avec ¯T(,G0, 1), on remaque une différence marquée entre leur sous-matrice associée qui correpond au vecteur(X1, . . . , X5).

● ●●●●●●●●●●●●● ●●●● ● (a) ●●●● ●●●●●●●●●●●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● (b) ●●●●●●●● ●●●●●● ●●●● ● ● ● ● ● ● ● (c)

FIGURE 3.5 – (a) La structure triviale (G00, 0) et un exemple d’estimateur empirique ˆT =

¯

T(,G00, 0). (b) Une structure binaire(G0, 1)respectant la condition (3.15), avec ses nœuds colorés selon leur analogue dans(G, δ), s’il existe, et l’estimateur structuré ¯T(,G0, 1). (c) La structure(G, δ)et l’estimateur structuré ¯T(,G, δ)correspondant.

Par construction, l’arbre G0 initial est constitué uniquement de partitions binaires. Suivant la Remarque3.2, l’ensemble d’indicatrices δ0 devrait être complètement déterminé, puisque par convention tout nœud binaire est nécessairement homogène. Toutefois, on ne sait pas si G0est adéquat ; il se peut que(G0, 1)soit telle queTd(G, δ) 6⊆ Td(G0, 1), ou plus généralement que ¯T(,G0, 1)ne soit pas une bonne approximation de T. On veut donc éviter d’utiliser les contraintes induites par (G0, 1)avant d’avoir analysé leur impact. Pour ce faire, on définit un troisième type de nœud, indéfini (δv0 = 2), qui s’ajoute aux types hétérogène (δv0 = 0) et homogène (δ0v=1). Au début de la procédure, on initialise donc δ0avec

δ0 = {δ0v=2}v∈V0,

pour indiquer qu’aucune analyse n’a été effectuée à ce moment précis.

3.5.2 Élimination et filtration de nœuds

On définit maintenant deux opérations qui permettent de modifier une structure donnée : l’élimination d’un nœud et la filtration d’un ensemble de nœuds.

Élimination d’un nœud

On appelle l’élimination d’un nœud(u,`) ∈ V0l’opération qui consiste à intégrer l’ensemble G(u,`)dans la partitionGudéfinie au nœud parent, viz.

●●●●●●●●●●● ●●●●●●● ● ● ● ● ● ● ● ● ● ● (a) ● ●●●●●●●●●●●● ●●●●● ● ● ● ● ● ● ● ● ● (b) ●●●●●● ●●●●●●●●●●●● ● ● ● ● ● ● ● ● ● ● (c) ● ●●●●●●●●● ●●●●●● ●● ● ● ● ● ● ● (d)

FIGURE3.6 – (a) Un exemple de structure. (b) La structure résultant de l’élimination du nœud violet(0, 1, 2), telle qu’en (3.14). (c) Un exemple de structure. (d) La structure résultante après l’application deA, telle que décrite à la sous-section3.5.2.

où←signifie le remplacement. Elle est explicite dans l’animation de la Figure3.4. On com- prend ainsi qu’avec (3.14), les deux remplacementsG0 ← G0\ {G(0u,`)}et δ0 ← δ0\ {δ0(u,`)}

sont aussi effectués. L’utilisation du symbole←souligne le fait qu’on applique généralement (3.14) pour modifier définitivement la structure(G0, δ0).

Exemple 3.6(Suite). Soit(G0, δ0)la structure illustrée à la Figure3.6(a), un exemple de structure obtenue après quelques itérations de l’algorithme (sous-section3.5.4). Pour passer de la structure du volet (a) à celle du volet (b), on a appliqué (3.14) avec u = (0, 1)et` = 2. Ainsi, le nœud éliminé, coloré de violet au volet (a), est(u,`) = (0, 1, 2).

Remarque 3.3. On peut montrer que si l’arbre binaireG0initial capture l’essence deGen ce sens où pour tout v∈ V, il existe v0 ∈ V0 tel que Gv=Gv00, (3.15)

alors il est possible de recouvrerGen appliquant (3.14)|V0| − |V |fois.

Exemple 3.7 (Suite). En comparant G0 et G, respectivement illustrées aux volets (b) et (c) de la Figure3.5, on peut vérifier que la condition (3.15) est satisfaite. Pour le mettre en évidence, les nœuds

v0 ∈ V0sont colorés comme leur nœud deV correspondant en (3.15), s’il en existe un, et en jaune s’il n’en existe pas.

Filtration d’un ensemble de nœuds

En vertu du fait que les nœuds sont traités des feuilles à la racine, tous les nœuds v ∈ V0

tels que δv = 2 se retrouvent nécessairement dans la partie supérieure de l’arbre. En effa-

çant ces nœuds, on obtient donc nécessairement un ensemble de sous-arbres disjoints. On peut construire une nouvelle structure (G∗, δ∗) en connectant à l’aide d’un nœud hétéro- gène (δ(0) = 0) ces sous-arbres, ou plutôt les sous-structures correspondantes. On dénoteA l’opération permettant de passer de(G0, δ0)à(G∗, δ∗), viz.

Malgré qu’il ne soit pas nécessaire de décrire plus formellement l’opération de filtrationA, il est intéressant de noter qu’elle équivaut à l’application récursive de (3.14) à tous les nœuds (u,`) ∈ V0\ {(0)}tels que δ(0u,`) = 2, en partant des feuilles, suivie de la spécification de

δ(0) = δ(00){1−1(δ0(0) = 2)}. En contraste avec l’opération d’élimination, la filtration est

implicite dans l’animation de la Figure3.4, puisqu’on l’effectue lors des procédures de test. L’exemple suivant illustre les effets de son application.

Exemple 3.8(Suite). Soit(G0, δ0)la structure illustrée à la Figure3.6(c), un exemple de structure obtenue après quelques itérations de l’algorithme (sous-section 3.5.4). Les nœuds v ∈ V0 tels que

δ0v=2 y sont identifiés en jaune. En effaçant ces derniers, on trouve six arbres disjoints. La structure

(G∗, δ∗) = A(G0, δ0), illustrée en (d), est obtenue en connectant ces six arbres à l’aide d’une racine hétérogène (δ(0) =0).

Naturellement, puisqu’au tout début de la procédure on a δ0v = 2 pour tout v ∈ V0, la per- mière structure (G∗, δ∗)considérée est toujours la structure triviale (G∗

(0) = {{1}, . . . ,{d}}

avec δ(0) = 0), illustrée à la Figure3.5 (a). Après l’application de l’algorithme, on a néces- sairement δv0 6= 2 pour tout v ∈ V0 et donc que(G∗, δ∗) = A(G0, δ0) = (G0, δ0). On utilise l’expressionA(G0, δ0|δ0v = λ), λ ∈ {0, 1, 2}, pour introduire une exception, i.e. pour substi-

tuer δ0vpar δv0 = λdans δ0 (avant l’application deA).

3.5.3 Procédures de test

L’objectif ici est de décrire une itération complète de l’algorithme qui sera défini à la sous- section 3.5.4. Une itération commence avec l’application d’un test de validation et, selon le cas, elle se poursuit avec des tests de simplification. Pour ce faire, on décrit d’abord un test générique qu’on utilise ensuite pour décrire les deux tests requis par l’algorithme.

Test générique

Soit w∈ V0 le nœud sous considération au début de l’itération. Tout test effectué a pour but

de déterminer quelle structure favoriser entre deux candidates de la forme

(G∗i, δ∗i) = A(G0, δ0|δw0 =λi), λi ∈ {0, 1, 2}, i=0, 1, (3.16) oùTd(G∗0, δ∗0) ⊂ Td(G∗1, δ∗1). Les hypothèses formelles considérées sont donc données par Hw: T∈ Td(G∗0, δ∗0), versus Hw0 : T∈ Td(G∗1, δ∗1), (3.17) où les structures (G∗i, δ∗i), i ∈ {0, 1}sont telles qu’en (3.16). On teste (3.17) à l’aide de la statistique de test Mwdonnée par

Mw = k∗0−∗1k∞, ∗i =(,G∗i, δ∗i), i∈ {0, 1}

Pour approximer la valeur p αwassociée à Mw, viz. αw =P(M > Mw|Mw)où M est distri-

buée comme Mw, on utilise une méthode similaire au bootstrap du Chapitre2. Concrètement,

on trouve d’abord les matrices B0et B1qui satisfont BiB+i τˆ =vech{(,G∗i, δ∗i)}, i=1, 2, où la fonction vech(·)est telle que vech(T) =τ. On approxime ensuite αwavec

ˆαw = 1 N N

`=1 1nkZ(`)p k∞ >Mw o , Z(p1), . . . , Zp(N)iid∼ N (0p, S†np), (3.18)

où N est grand et Snpest telle que Snp = (B1B+1 −B0B+0)Σˆ J

np(B1B+1 −B0B+0)avec ˆΣ J nptelle que définie en (B.4.1). Pour générer les vecteurs aléatoires Z(p1), . . . , Z

(N) p , on généralise (B.5.3) en considérant Z(`)p = (B1B+1 −B0B + 0) √ n(n−1) n

r=1 (

s6=r h(Xr, Xs) −τˆ ) γr(`), γ(`)1 , . . . , γ(`)n iid∼ N (0, 1). (3.19) L’hypothèse nulle en (3.17) est rejetée lorsque ˆαw est en-dessous d’un certain seuil α déter-

miné a priori, e.g. α =0.05.

On décrit maintenant les particularités des deux types de test qui seront utilisés dans l’algo- rithme de la sous-section3.5.4, le test de validation et le test de simplification.

Test de validation

Soit v ∈ V0 tel que δ0

v = 2. Lors de la procédure de validation, on s’intéresse à (3.17) avec

w=v et, en (3.16), λ0=1(|Gv0| =2)et λ1=2, viz.

(G∗0, δ∗0) = A(G0, δ0|δ0v=λ0) et (G∗1, δ∗1) = A(G0, δ0|δ0v=2). (3.20)

Concrètement, on cherche à déterminer si conserver v dans V0 avec δ0

v 6= 2 entraîne que

T6∈ Td(G∗0, δ∗0). Le choix λ0=1(|Gv0| =2)est dû au fait que les structures hétérogènes sont

plus permissives. On spécifie donc généralement λ0 = 0, à moins que|Gv0| = 2, auquel cas

on a λ0 = 1 par convention. On pourrait toutefois laisser λ0 = 0 dans (3.20) pour simplifier l’expression, puisqueA(G0, δ0|δ0v=0) = A(G0, δ0|δv0 =1)lorsque|Gv0| =2.

Lorsque l’hypothèse nulle Hvassociée à (3.20) est rejetée, on élimine v en appliquant (3.14)

avec(u,`) =v. Si toutefois elle est acceptée, alors on garde v en prenant soin de modifier δ0v

selon δv0 ←λ0 =1(|Gv0| =2).

Exemple 3.9(Suite). Soit(G0, δ0)la structure illustrée à la Figure3.7(a) et v= (0, 1, 2)le nœud considéré, coloré de violet. Pour tester (3.17) selon (3.20), on utilise λ0 =1(|Gv0| =2) =1, et donc

(G∗0, δ∗0) = A(G0, δ0|δv0 =1). Les matrices et structures comparées, c’est-à-dire ¯T∗0et ¯T∗1, ainsi

que (G∗0, δ∗0) et(G∗1, δ∗1), sont illustrées aux volets (b) et (c), respectivement, de la Figure 3.7. En les inspectant, on peut voir que Mvest complètement déterminée par les sous-matrices ¯TG00c

v,G0v et

¯ TG10c

v,Gv0, où

●●●●●●●●●●●●● ●●●●● ● ● ● ● ● ● ● ● ● ● (a) ● ●●● ●●●●●●●●●●●● ●● ● ● ● ● ● ● ● (b) ● ●●●●● ●●●●●●●●●● ● ● ● ● ● ● ● ● (c) ●●●●●●● ●●●●●●●●●●● ● ● ● ● ● ● ● ● ● (d)

FIGURE 3.7 – Les structures associées aux étapes du test de validation, accompagnées de

leur estimateur correspondant. (a) La structure(G0, δ0)au début de la procédure. Le nœud v considéré est coloré en violet. (b) La structure(G∗0, δ∗0)avec ¯T∗0. (c) La structure(G∗1, δ∗1) avec ¯T∗1. (d) La structure(G0, δ0)juste après l’élimination du nœud violet.

c’est-à-dire les sous-matrices encadrées dans chacun des volets. Naturellement, puisque Gv0cn’est pas contigu, les deux sous-matrices sont elles-mêmes séparées en deux blocs. Les blocs sont donnés par

{T¯∗k

ij :(i, j) ∈ {3, . . . , 10} × {1, 2}} et {T¯ij∗k : (i, j) ∈ {3, . . . , 10} × {11, . . . , 18}}, pour chaque k ∈ {0, 1}. Contrairement à ¯TG10c

v,G0v, la matrice ¯T

∗0 G0c

v,Gv0 ne possède qu’une seule valeur

distincte par rangée.

En effectuant le test, on obtient une valeur p ˆαv<10−5. Ceci n’est pas surprenant compte tenu de la

différence marquée entre ¯T∗0et ¯T∗1, illustrée dans les volets (b) et (c) de la Figure3.7, respectivement. On applique donc (3.14) avec u = (0, 1) et ` = 2, ce qui a pour effet de remplacer la structure (G0, δ0)intialement considérée, illustrée à la Figure3.7(a), par celle illustrée au volet (d). Une seule caractéristique les différencie : la présence/absence du nœud violet.

Test de simplification

Soit v ∈ V0 un nœud précédemment validé à l’aide du test de validation et tel que|Gv0| =2 ; on a donc nécessairement que δ0v =1(|Gv0| =2) = 1. Si, pour un certain k ∈ {1, . . . , Kv}, on

a aussi δ(0v,k) = 1, alors il devient intéressant de considérer l’élimination du nœud(v, k). On s’intéresse donc à (3.17) avec w= (v, k)et, en (3.16), λ0=2 et λ1 =1, viz.

(G∗0, δ∗0) = A(G0, δ0|δ(0v,k)=2) et (G∗1, δ∗1) = A(G0, δ0|δ0(v,k)=1). (3.21)

Concrètement, lorsque δv = δ(v,k) = 1, l’élimination du nœud(v, k)a comme effet de fu-

sionner les deux blocs homogènes définis par(Gv0, 1)et(G(0

v,k), 1)dans la structure originale

●●●●●●●●●●●●● ●●●●● ● ● ● ● ● ● ● ● ● (a) ●●● ●●●●●●●●●●●● ●●● ● ● ● ● ● ● (b) ●●●●● ●●●●●●●●●●●● ● ● ● ● ● ● ● (c) ●●●●●●● ●●●●●●●●●●● ● ● ● ● ● ● ● ● (d)

FIGURE3.8 – Les structures associées aux étapes du test de simplification, accompagnées de

leur estimateur correspondant. (a) La structure (G0, δ0)au début de la procédure. Le nœud

v considéré est coloré en turquoise. (b) La structure (G∗0, δ∗0) avec ¯T∗0. (c) La structure (G∗1, δ∗1)avec ¯T∗1. (d) La structure(G0, δ0)juste après l’élimination du nœud turquoise.

Une façon naturelle de procéder pour tester (3.17) avec les structures données en (3.21) est de comparer les matrices ¯T(,G∗0, δ∗0)et ¯T(,G∗1, δ∗1). Toutefois, pour mitiger certains effets néfastes du caractère gourmand (greedy) de l’algorithme hiérarchique utilisé pour initialiser G, on préfère comparer

(G∗0, δ∗0) = A(G0, δ0|δ(0v,k) =2) et (G∗1, δ∗1) = A(G0, δ0|δv0 =0, δ(0v,k) =2). (3.22)

Ceci semble limiter l’influence des erreurs de spécification précédemment commises lors de l’application de l’algorithme.

Le rejet de l’hypothèse nulle suggère que T 6∈ Td(G∗0, δ∗0), et donc qu’il n’y a pas lieu de modifier (G0, δ0). Dans le cas contraire, on élimine(v, k)en appliquant (3.14) avec(u,`) = (v, k).

Exemple 3.10 (Suite). Soit (G0, δ0) la structure illustrée à la Figure 3.8 (a) et v = (0, 2, 2) le nœud considéré. À ce moment particulier, on vient de tester (3.17) selon (3.20) et aucune anomalie n’a été détectée : on considère donc que δ(0,2,2) = 1. Puisqu’on a aussi δ(0,2,2,2) = 1, on s’intéresse

à l’hypothèse H(0,2,2,2) de (3.17) selon (3.22). Le nœud (v, 2) = (0, 2, 2, 2)est coloré de turquoise

au volet (a). Les matrices et structures comparées, c’est-à-dire ¯T∗0 et ¯T∗1, ainsi que (G∗0, δ∗0) et (G∗1, δ∗1), sont illustrées aux volets (b) et (c) de la Figure3.8, respectivement. Les sous-matrices

¯ TG00

v,G0v et ¯T

∗1 G0

v,Gv0 qui caractérisent la statistique de test M(0,2,2,2) associée y sont encadrées (G

0

v =

G0(0,2,2) = {16, 17, 18}).

Comme résultat du test, on obtient une valeur p ˆαv ≈ 0.62, ce qui suggère que les différences entre

¯

On applique donc (3.14) avec u = v = (0, 2, 2)et` = k = 2, ce qui a pour effet de remplacer la structure (G0, δ0)originale, illustrée en (a), par celle illustrée en (d). Une seule caractéristique les différencie : la présence/absence du nœud turquoise.

3.5.4 Algorithme

On combine maintenant les procédures des sous-sections3.5.1–3.5.3en un algorithme d’ap- prentissage pour (G, δ)qui dépend de deux hyperparamètres : un entier N > 1, qui déter- mine le nombre de copies à générer lors des procédures bootstrap, ainsi qu’un seuil α ∈ (0, 1), qui détermine le rejet ou non-rejet des hypothèses.

Algorithme 3.1structureLearner(X, N, α) 0 Initialisation.

0.1 Initialisez l’arbreG0 (i.e.V0) en appliquant l’algorithme de regroupement hiéra-

chique deMcQuitty(1966) avec la matrice de dissimilarité en (3.13). 0.2 Initialisez δ0 = {δv0 =2}v∈V0.

1 Boucle. Pour v=v1, . . . , vd−1 ∈ V0tels que ¯τv1 > · · · > ¯τvd−1 :

1.1 Test de validation.

1.1.1 Calculez ˆαvpour Hvavec (3.18) et(G∗i, δ∗i), i∈ {0, 1}, comme en (3.20).

1.1.2 Correction. Si ˆαv6α: Appliquez (3.14) avec(u,`) = v.

1.1.3 Mise à jour. Si ˆαv> α: Appliquez δv1(|Gv0| =2).

1.2 Test de simplification. Tant que δ0vδ0(v,r)=1 pour un certain r∈ {1, . . . , Kv}:

1.2.1 Trouvez k=argmin`∈W¯τ(v,`), oùW = {r : 16r6Kv, δv0δ(0v,r)=1}.

1.2.2 Calculez ˆα(v,k)pour H(v,k)avec (3.18) et(G∗i, δ∗i), i ∈ {0, 1}, comme en (3.22).

1.2.3 Simplification. Si ˆα(v,k) >α: Appliquez (3.14) avec(u,`) = (v, k).

1.2.4 Arrêt. Si ˆα(v,k) <α: Quittez 1.2 et retournez à 1.

Documents relatifs