Le test de Mantel

add.png

\bullet Présentation:

Publié en 1967 par Nathan Mantel, le test de Mantel est une approche non paramétrique permettant de tester si deux matrices de distance/proximité distinctes D ^1, D ^2, de même rang/taille n \times n, sont corrélées .

Le test de Mantel reste principalement une approche linéaire puisque basée les coefficients de corrélation de Pearson, Kendall ou encore Spearman. Il convient de garder cette propriété à l’esprit lors de son application.

De plus, le test de Mantel peut être faussé si nous sommes en présence d’auto-corrélations spatiales.

\bullet L’indice-corrélation:

Hypothèse préliminaire: Matrices de distances de même rang/taille.

Soit deux matrices de distance D^1, D^2. L’application du test de Mantel se déroule en quatre étapes.

La première étape est de reconsidérer la configuration des matrices de distance D ^1, D ^2 sous le format vectoriel suivant,

V_{D ^1} = ((D ^1)_1 ^1, \cdots, (D ^1)_n ^1, (D ^1)_2 ^2, \cdots, (D ^1)_n ^2, \cdots, (D ^1)_{n-1} ^{n - 1}, (D ^1)_n ^{n - 1}, (D ^1)_n ^n)

V_{D ^2} = ((D ^2)_1 ^1, \cdots, (D ^2)_n ^1, (D ^2)_2 ^2, \cdots, (D ^2)_n ^2, \cdots, (D ^2)_{n-1} ^{n - 1}, (D ^2)_n ^{n - 1}, (D ^2)_n ^n)

La seconde est de calculer le coefficient de corrélation normalisé R_M entre V_{D ^1}, V_{D ^2}. L’approche est relativement flexible puisqu’elle permet alors de considérer les corrélations au sens de Pearson, Kendall ou encore Spearman.

L’étape trois qui suit consiste à effectuer un grand nombre de permutations b \in [1, \cdots, B] des deux matrices de distances et calculer le coefficient de corrélation normalisé R_M ^b sur chacune des versions des matrices. La raison pour laquelle nous ne pouvons passer directement par le test associé aux différentes versions du coefficient de corrélation est qu’en réalité il nécessite l’hypothèse d’indépendance des données, chose qui n’est pas assurée ici et qui justifie l’approche par permutation.

Enfin, la quatrième et dernière étape consiste à construire l’histogramme de la distribution des R_M ^b, \forall b \in [1, B]. Nous pouvons alors construire le test en fonction de la probabilité que R_M soit considéré comme un outlier de cette distribution. Pour se faire, nous pouvons utiliser le test basé sur les permutations et qui fournit directement la p-valeur sans devoir passer par la table d’une loi de distribution,

p = \frac{\sharp \lbrace b / R_M ^b \geq R_M \rbrace + 1}{B + 1}

L’hypothèse H_0 est: « Pas d’association linéaire entre les deux matrices de distance / R_M = 0« .

Tendance pour le rejet de H_0:

Grosso-modo, la p-valeur issue du test de Mantel peut être traduite comme la part du nombre de statistiques de test de Mantel R_M ^b, b \in [1,B], générées par permutations, supérieures à R_M. Ce qui revient à étudier la rareté de R_M sous l’hypothèse H_0 et par conséquent la probabilité que la configuration des données telle qu’elle est observée implique que nous nous écartons de l’hypothèse de non-corrélation des matrices de distances au travers d’un coefficient de corrélation non nulle au sens statistique du terme.

\bullet Tendance lorsque n \longrightarrow \infty

Le test de Mantel se base sur le coefficient de corrélation de Pearson, Kendall ou Spearman et sur le test des permutations.

Par construction, les trois coefficients évoqués ne sont pas influencés par la taille d’échantillon. Pour ce qui est du test des permutations, il s’agit d’une approche empirique se basant sur la génération des coefficients de corrélation calculés sur les différents échantillons construis par permutation. La formule d’usage du test montre bien qu’il n’y a pas d’influence de la taille d’échantillon dans son calcul également.

Nous pouvons en conclure que le test de Mantel n’est pas influencé par la taille d’échantillon.

\bullet Annexe théorique: 

Nous proposons ici une esquisse de la démonstration de l’espérance et de la variance de Z = \sum_i \sum_j X_{i,j} Y_{i,j}, la dérivation de la variance permutationnée à partir de nos deux matrices de distance \mathbf{X}, \mathbf{Y}.

Soit deux matrices de tailles n \times n, X_{i,j}, Y_{i,j} qui présentent toutes deux la particularité d’avoir leur diagonale nulle. Supposons que les permutations pour X_{i,j} ne concernent que les lignes et pour Y_{i,j} les colonnes, et que le nombre de permutations est le même pour les deux matrices. Enfin, supposons que la probabilité de tirer un élément n’appartenant pas à la diagonale est la même que celle pour tout les n (n - 1) autres éléments.

Tout d’abords, pour l’espérance nous pouvons écrire,

E[Z] = E[\sum_i \sum_j X_{i,j} Y_{i,j}] = \sum_i \sum_j X_{i,j} E[Y_i,j] = \sum_i \sum_j X_{i,j} \sum_i \sum_j \frac{Y_{i,j}}{n (n - 1)}

Et donc pour la variance,

var(Z) = \sum_i \sum_j X_{i,j} X_{k,l} cov(Y_{i,j}, Y_{k,l})

Avec,

cov(Y_{i,j}, Y_{k,l}) = E[Y_{i,j} Y_{k,l}] - E[Y_{i,j}] E[Y_{k,l}],

E[Y_{i,j}] = E[Y_{k,l}] = \sum_i \sum_j \frac{Y_{i,j}}{n (n - 1)}

Par conséquent,

var(Z) = \sum_i \sum_j X_{i,j} X_{k,l} cov(Y_{i,j}, Y_{k,l})

= \sum_i \sum_j X_{i,j} X_{k,l} E[Y_{i,j} Y_{k,l}] - \frac{\sum_i \sum_j X_{i,j} X_{k,l} (\sum_i \sum_j Y_{i,j}) ^2}{n ^2 (n - 1) ^2}

= \sum_i \sum_j X_{i,j} X_{k,l} E[Y_{i,j} Y_{k,l}] - \frac{(\sum_i \sum_j X_{i,j}) ^2 (\sum_i \sum_j Y_{i,j}) ^2}{n ^2 (n - 1) ^2}

Il nous reste encore à déterminer: \sum_i \sum_j E[Y_{i,j} Y_{k,l}] qui, en réalité, dépend de sept différents scénarios qui peuvent intervenir,

– Cas 1: Y_{i,j} Y_{i,j} = Y_{i,j} ^2 \Rightarrow E[.] = \frac{\sum_i \sum_j Y_{i,j} ^2}{n (n - 1)}

– Cas 2: Y_{i,j} Y_{j,i} \Rightarrow E[.] = \frac{\sum_i \sum_j Y_{i,j} Y_{j,i}}{n (n - 1)}

– Cas 3: Y_{i,j} Y_{i,l} \Rightarrow E[.] = \frac{\sum_i (\sum_j Y_{i,j}) ^2 - \sum_i \sum_j Y_{i,j} ^2}{n (n - 1) (n - 2)}

– Cas 4: Y_{i,j} Y_{k,j} \Rightarrow E[.] = \frac{\sum_j (\sum_i Y_{i,j}) ^2 - \sum_i \sum_j Y_{i,j} ^2}{n (n - 1) (n - 2)}

– Cas 5 et 6: Y_{i,j} Y_{k,i} ou Y_{i,j} Y_{j,l}, \Rightarrow E[.] = \frac{\sum_i (\sum_j Y_{i,j}) (\sum_j Y_{j,i}) - \sum_i \sum_j Y_{i,j} Y_{j,i}}{n (n - 1) (n - 2)}

– Cas 7: Y_{i,j} Y_{k,l}

\Rightarrow E[.] = \frac{(\sum_i \sum_j Y_{i,j}) ^2 + \sum_i \sum_j Y_{i,j} ^2 + \sum_i \sum_j Y_{i,j} Y_{j,i} - \sum_i (\sum_j Y_{i,j}) ^2 - \sum_i (\sum_j Y_{j,i}) ^2 - 2 \sum_i (\sum_j Y_{i,j}) (\sum_i Y_{j,i})}{n (n - 1)}

Si nous revenons au terme que nous devons déterminer et que nous sommons les différents cas, nous obtenons,

\sum_i \sum_j E[Y_{i,j} Y_{k,l}] = \sum_{cas = 1, 2, 3, 4, 5, 6, 7} = \frac{(\sum_i \sum_j Y_{i,j}) ^2}{n ^2 (n - 1) ^2}

\bullet Exemple:

Soit l’échantillon ci-dessous:

add1

Nous pouvons extraire les matrices de distance (selon la distance euclidienne) restreintes aux deux groupes de Y,

D ^1 = D_{X|_{Y = 1}} = \begin{pmatrix} 2.399264 & . & . & . & . & . & . & . & . \\ 7.883224 & 7.958839 & . & . & . & . & . & . & . \\ 5.581541 & 4.117230 & 8.640587 & . & . & . & . & . & . \\ 6.477795 & 5.247828 & 6.099585 & 3.546381 & . & . & . & . & . \\ 14.219664 & 14.846993 & 12.669898 & 13.049674 & 11.692279 & . & . & . & . \\ 13.368063 & 13.713546 & 12.330534 & 11.865003 & 10.416548 & 2.760591 & . & . & . \\ 13.325713 & 13.327427 & 13.407675 & 11.447057 & 10.251806 & 6.066312 & 3.370239 & . & . \\ 12.72644 & 12.109136 & 14.411002 & 9.212519 & 9.383110 & 9.598256 & 7.515112 & 5.428889 & . \\ 13.652585 & 12.723470 & 14.743105 & 9.583766 & 9.497679 & 10.645900 & 8.491044 & 6.351465 & 2.067250 \\ \end{pmatrix}

D ^2 = D_{X |_{Y = 2}} = \begin{pmatrix} 8.468249 & . & . & . & . & . & . & . & . \\ 8.654206 & 2.590268 & . & . & . & . & . & . & . \\ 10.206204 & 10.165236 & 8.618267 & . & . & . & . & . \\ 11.584485 & 8.59487 & 6.787107 & 4.276539 & . & . & . & . & . & . \\ 11.291854 & 14.396110 & 13.733477 & 10.068224 & 13.259764 & . & . & . & . \\ 11.658895 & 13.683473 & 13.383251 & 14.044991 & 15.817861 & 7.021182 & . & . & . \\ 14.062164 & 13.049449 & 12.617794 & 15.302861 & 15.838310 & 10.891903 & 5.262154 & . & . \\ 16.256160 & 15.665912 & 14.480963 & 12.450512 & 14.028966 & 7.979774 & 8.511634 & 8.294253 & . \\ 18.757977 & 17.508699 & 16.48445 & 14.675626 & 15.968192 & 10.218107 & 10.347856 & 9.414303 & 2.783625 \\ \end{pmatrix}

– En première étape, nous réorganisons les matrices de distance D ^1, D ^2 pour les transformer en vecteur afin de pouvoir appliquer le coefficient de corrélation de Pearson,

V_{D ^1} = (2.399264, \cdots 13.652858,

7.958839, \cdots, 12.723470,

8.640587, \cdots 14.743105,

3.546381, \cdots, 9.583766,

11.692279, \cdots, 9.497679,

2.760591, \cdots, 10.645900,

3.370239, \cdots, 8.491044,

5.428889, 6.351465,

2.067250)

Et,

V_{D ^2} = (8.468249, \cdots, 18.757977,

2.590268, \cdots, 17.508699,

8.618267, \cdots, 16.448445,

4.276539, \cdots, 14.675626,

13.259764, \cdots, 15.968192,

7.021182, \cdots, 10.218107,

5.262154, \cdots, 10.347856,

8.294253, 9.414303,

2.783625)

– En seconde étape, nous calculons le coefficient de corrélation de Pearson entre V_{D ^1}, V_{D ^2},

R_M = 0.7421511

– En troisième étape, nous fixons B = 999 permutations et calculons les différents R_M ^b. Nous obtenons l’histogramme de distribution des R_M, ^b, b \in [1, 999] suivant,

add1

– Enfin, pour la quatrième et dernière étape, nous construisons le test pour déterminer si R_M peut être considéré comme un outlier. Si nous nous basons sur le test des permutations, nous obtenons,

p = \frac{\sharp \lbrace b / R_M ^b \geq R_M \rbrace + 1}{999 + 1} = \frac{1 + 1}{1000} = \frac{2}{1000} = 0.002

Nous avons donc une p-valeur p = 0.002 < 5 \%. Nous concluons au rejet de H_0  et donc que le coefficient de corrélation entre les deux matrices de distance D ^1, D ^2 est différent de 0, soit qu’elles sont corrélées.

\bullet Application informatique:

Procédure SAS: http://www.stat.ncsu.edu/people/fuentes/courses/madrid/lab/mantel1.sas

Package et fonction R: http://cc.oulu.fi/~jarioksa/softhelp/vegan/html/mantel.html

\bullet Bibliographie: 

– The detection of disease clustering and a generalized regression approach de Nathan Mantel