• Aucun résultat trouvé

3.3 Mesure de performance de l’inférence statistique

3.3.1 Algorithme de génération des tables perturbées

La génération de tables perturbées est un problème combinatoire. Par exemple, pour la table de contingence où tous les états sont équiprobables et où nous avons 100 observations, l’ensemble des tables de norme L1 = 2 qui conservent N = 100 correspond à toutes les 1!1!2!4! = 12 permutations distinctes de la table suivante :

Dans ce cas-ci, il existe deux classes de tables, soit celles où 24 et 26 se retrouvent sur la diagonale (ou l’antidiagonale) et celles où 24 et 26 se retrouvent dans la même rangée (ou

B = 0 B = 1

A = 0 24 26

A = 1 25 25

.

colonne). La valeur-p associée aux quatre tables de la première classe est 0.997, tandis que celle associée aux huit de la seconde classe est 0.841. De ce fait, pour toutes les tables perturbées de distance L1 = 2 par rapport à la table modèle, le taux de succès est de 100%, puisque le test

d’indépendance sur les 12 tables perturbées donne la même conclusion que la table modèle. En trouvant toutes les tables possibles pour une valeur de L1 donnée et en calculant le taux de succès, nous pouvons tracer des figures telle la figure3.5qui indique à partir de quelle distance par rapport à la table modèle il n’est plus possible d’obtenir un taux de succès de 100%. Afin de générer toutes les tables perturbées qui possèdent une distance L1 = 2k par rapport à la table modèle, où k est un entier positif, nous procédons comme suit. D’abord, nous trouvons toutes les partitions de l’entier k de longueur 1 jusqu’à 3 inclusivement. Les partitions d’un entier correspondent aux manières d’écrire cet entier par une somme d’autres entiers positifs, sans considérer les permutations possibles.13Par exemple, le chiffre 4 possède cinq partitions qui sont 4 = 4, = 3 + 1, = 2 + 2, = 2 + 1 + 1, = 1 + 1 + 1 + 1.

Ici, il n’y a que quatre partitions dont la longueur est comprise entre 1 et 3 inclusivement. Une fois ces dernières identifiées, nous les transformons en séquences de nombres. Par exemple 3 + 1 deviendrait la séquence [3, 1]. Nous générons également une copie de toutes ces séquences et multiplions chacune des entrées par −1. Ainsi, en concaténant une séquence positive avec une séquence négative, nous savons que la somme des éléments de la séquence résultante sera nulle.

Pour trouver toutes les perturbations, il faut alors former tous les couples qui comportent une séquence positive ainsi qu’une séquence négative. Cependant, nous retenons seulement les séquences concaténées qui contiennent entre 2 et 4 éléments inclusivement. Si la séquence comporte moins de 4 éléments, nous lui ajoutons des entrées nulles jusqu’à ce qu’il y ait 4 éléments au total. L’idée derrière cela est de pouvoir transformer ces séquences en matrices

13. Si nous considérions aussi les permutations, nous aurions plutôt les différentes compositions de l’entier k.

2 × 2 que nous allons ajouter à la table modèle.14

Puisque la somme sur les éléments de la séquence est nulle, nous savons que la perturbation, une fois ajoutée à la table modèle, conservera le nombre d’observations de celle-ci. Finalement, pour trouver toutes les tables perturbées de distance L1 = 2k, il suffit de générer toutes les

permutations distinctes de ces séquences, de les transformer en matrice 2 × 2 et de les ajouter à des copies de la table modèle. Un résumé de cette procédure se trouve dans le bloc 7. Le taux de succès pour une distance L1 = 2k peut alors être mesuré comme décrit précédem-

ment. Il est toutefois à noter que même si la somme des séquences concaténées est nulle, cela ne garantit pas que la table perturbée sera valide. Par exemple, si la table modèle est

B = 0 B = 1

A = 0 20 40

A = 1 40 20

,

et que nous désirons trouver les tables de norme L1 = 50, la séquence [−25, 25, 0, 0] créerait, la table

B = 0 B = 1

A = 0 −5 65

A = 1 40 20

.

Or, une table de contingence ne doit posséder que des entrées égales ou supérieures à 0.15 Alors même si la séquence [−25, 25, 0, 0] somme à zéro, la table résultante doit être rejetée et ne comptera pas pour le calcul du taux de succès. Cependant, les permutations distinctes de [−25, 25, 0, 0], telles [0, 25, −25, 0] et [0, −25, 0, 25], produisent des tables valides sur lesquelles nous pouvons tester le modèle d’indépendance.

La valeur de L1qui permet de créer des perturbations capables d’annuler la plus petite entrée

non nulle dans la table de contingence est notée Lmax1 . Idéalement, l’analyse des perturba- tions devrait être limitée entre L1 = 0 et Lmax1 , puisque les entrées nulles dans une table de

contingence peuvent causer des problèmes lors du test d’hypothèses.

Aussi, d’un point de vue expérimental, si le bruit possède une amplitude égale à nos mesures, nous ne pouvons pas faire la distinction entre nos observations et du bruit. Il n’est donc pas rigoureux d’analyser de telles données. De plus, si nous explorons des perturbations dont la distance L1 est supérieure à Lmax

1 , la diminution draconienne du nombre de tables valides fait

augmenter le taux de succès par rapport à la distance L1 précédente, tel qu’illustré à la figure

14. C’est également pour cette raison qu’à la première étape, nous ne conservons que les partitions de taille égale ou inférieure à 3.

15. Idéalement, elles seraient supérieures à zéro pour éviter certains problèmes tels que ceux présentés à la section3.1.4.

3.4. Pourtant, l’inférence ne devient pas réellement plus performante et ce comportement est un bon indicateur que l’analyse des perturbations doit être arrêtée.

Figure 3.4 –Nombre total de tables (bleu), nombre total de succès (orange) et taux de succès (vert) en fonction de la distance L1 par rapport à la table modèle 2 × 2 qui possède des entrées égales à 25.

L’échelle de la courbe verte est représentée à droite du graphique. Un succès correspond à accepter H0. La barre pointillée verticale se situe à L1= L1max= 50.

Algorithme 7 Génération de l’ensemble des tables valides se situant à une distance L1donnée d’une table modèle

Entrées Table modèle de dimension 2 × 2 ;

Un entier k strictement positif tel que 2k est la valeur de L1 désirée.

Sortie L’ensemble des tables valides se situant à une distance L1 de la table modèle.

1: Générer les partitions de l’entier k ayant une longueur de 1 à 3 termes.

2: Pour chaque partition, créer une liste qui contient les termes. Nous obtenons ainsi l’en- semble des listes positives.

3: Créer une copie de chaque liste et multiplier les termes dans ces copies par −1. Nous obtenons ainsi l’ensemble des listes négatives.

4: Créer toutes les combinaisons composées d’une liste positive et d’une liste négative.

5: Concaténer chaque paire de listes et ne conserver que les listes résultantes de taille 2 à 4 inclusivement.

6: Pour chaque liste résultante de taille inférieure à 4, ajouter des entrées nulles dans la liste de sorte qu’elle contienne 4 éléments.

7: Pour chaque liste résultante, générer toutes les permutations distinctes des éléments qu’elle contient.

8: Transformer ces permutations en matrices 2 × 2.

9: Ajouter ces matrices à des copies de la table modèle en ne conservant que les matrices résultantes dont aucune entrée est négative.