La plus grande valeur propre de Roy

add

\bullet Présentation:

Créé suite aux travaux de Samarendra Nath Roy en 1953, la plus grande valeur propre de Roy est une approche paramétrique permettant de tester si plusieurs variables continues distinctes \mathbf{X} = (X ^1, \cdots, X ^P) sont liées à une variable qualitative Y à K \geq 2 modalités lorsqu’elles sont considérées avec leurs différentes interactions multivariées.

Les hypothèses d’utilisation de ce test sont: \mathbf{X}|_{Y = 1}, \cdots, \mathbf{X}|_{Y = K} suivent une loi normale et leur matrice de covariance respective sont égales (homoscédasticité).

La plus grande valeur propre de Roy est également utilisée afin de valider les hypothèses de l’Analyse de Variance multivariée (MANOVA) en travaillant directement sur les matrices résiduelles.

Enfin, la plus grande valeur propre de Roy a été conçue dans le même objectif que celui du T ^2 de Hotelling, du \Lambda de Wilks, de la trace de Pillai-Bartlett et de la trace de Hotelling-Lawley. De ces cinq tests, la plus grande valeur propre de Roy est le moins considéré du fait de la loi à laquelle il faut se reporter pour extraire la p-valeur et qui s’impose en réalité comme une borne de sa vrai loi de distribution qui n’est pas interprétable en soit.

\bullet Le test:

Hypothèse préliminaire: Matrice de P variables continues et une variable qualitative à K \geq 2 modalités et multinormalité.

La statistique de test de la plus grande valeur propre de Roy est:

\bigwedge_{Roy} = max_{i \in \lbrace 1, \cdots, P \rbrace} \lambda_i

Où les \lambda_i, \forall i \in \lbrace 1, \cdots, P \rbrace représentent les P valeurs propres que nous pouvons extraire depuis le produit:

SCF  \cdot SCR ^{-1} 

Avec,

SCF, la matrice de dispersion inter-groupes et de formule:

\frac{1}{n} \sum_{k = 1} ^K n_k (\overline{\mathbf{X}|_{Y = k}} - \overline{\mathbf{X}}) ^T (\overline{\mathbf{X}|_{Y = k}} - \overline{\mathbf{X}})

SCR, la matrice de dispersion intra-groupes et de formule:

\frac{1}{n} \sum_{k = 1} ^K n_k \mathbf{\Sigma}_{\mathbf{X}|_{Y = k}}

Nous lui appliquons alors la transformation suivante,

F = \frac{n - max(P,K - 1) - 1}{max(P, K - 1)} \times \bigwedge_{Roy}

Elle suit une loi de Fisher-Snedecor à (max(P,K-1), n - max(P,K-1) - 1) degrés de liberté et l’hypothèse H_0 est: « Indépendance entre X et Y / \mu_1 = \cdots = \mu_K« .

Ci-dessous le tableau de la loi de Fisher-Snedecor.

add

Tendance pour le rejet de H_0:

Plus la statistique F est grande et plus nous avons de chance de rejeter H_0. Ce qui revient à dire,

F \rightarrow \infty

\Rightarrow \frac{n - max(P,K - 1) - 1}{max(P, K - 1)} \times \bigwedge_{Roy} \rightarrow \infty

\Rightarrow \bigwedge_{Roy} \rightarrow \infty

\Rightarrow max_{i \in [1, P]} \lambda_i \rightarrow \infty

Soit que la plus grande valeur propre du produit SCF \cdot SCR ^{-1} converge vers l’infini. Un telle situation arrive si la matrice à partir de laquelle extraire les valeurs propres contient au moins un élément grand, ce qui nous ramène à étudier le cas où SCF \cdot SCR ^{-1} \rightarrow \infty.

Donc, soit SCF \rightarrow \infty soit SCR \rightarrow 0. Le premier cas arrive lorsque la matrice de dispersion inter-groupes est grande et donc que les groupes sont bien distincts. Le second, lorsque la matrice de dispersion intra-groupes est faible, soit que les groupes sont compacts. Ces deux situations combinées impliquent donc qu’au moins un des groupes est nettement détaché des autres et donc le rejet de H_0.

\bullet Tendance lorsque n \longrightarrow \infty:

Nous cherchons désormais à étudier l’influence des grands échantillons sur la robustesse du test associé à la plus grande valeur propre de Roy. Nous générons des matrices de 5 vecteurs gaussiens pour 3 groupes. Nous ne faisons pas varier le nombre de groupes ni le nombre de variables aléatoires mais seulement la taille d’échantillon.

Le tableau ci-dessous présente l’évolution des p-valeurs associées aux statistiques de test calculées sur plusieurs simulations dans le cas où les barycentres sont différents d’un groupe à l’autre.

add.png

Nous constatons que l’hypothèse est bien rejetée quelque soit la taille de n, ce qui correspond au résultat attendu d’après nos hypothèses.

Procédons à la même expérience mais cette fois-ci dans un cas où les barycentres ne devraient pas être statistiquement différents. Le tableau ci-dessous présente ces résultats.

add.png

Nous constatons que jusqu’à n = 100 le résultat du test est en adéquation avec nos hypothèses mais qu’entre 100 et 1000 observations ce dernier devient significatif, rejetant  H_0 à tort.

Nous en concluons que le test associé à la plus grande valeur propre de Roy est bien influencé par les grands effectifs.

\bullet Annexe théorique:

Cette partie présente une esquisse de la démonstration que la plus grande valeur propre de Roy suit une loi de Fisher-Snedecor.

Rappelons que par construction, SCF = H, SCR = E suivent une loi de Wishart de paramètres respectifs (n_H, \mathbf{\Sigma}) et (n_E, \mathbf{\Sigma}).

Proposition 1: Soit H \sim W_m (n_H, \sigma ^2 I + \lambda_H v u ^t) avec || v || = 1, \lambda_H > 0 et l_1 la plus grande valeur propre. Alors, avec m, n_H, \lambda_H fixés, quand \sigma \rightarrow 0,

l_1 = (\lambda_H + \sigma ^2) \chi_{n_H} ^2 + \chi_{m-1} ^2 \sigma ^2 + \frac{\chi_{m-1} ^2 \chi_{n_H - 1} ^2}{(\lambda_H + \sigma ^2) \chi_{n_H} ^2} \sigma ^4 + o_p (\sigma ^4)

, où \chi_{n_H} ^2, \chi_{m-1} ^2, \chi_{n_H - 1} ^2 sont indépendants.

Il en découle directement les estimations de l’espérance,

E[l_1] \approx n_H \lambda_H + (m - 1 + n_H) \sigma ^2 + \frac{(m - 1) (n_H - 1)}{(\lambda_H + \sigma ^2) (n_H - 2)} \sigma ^4

Et de la variance,

var(l_1) = 2 n_H \lambda_H ^2 + 4 n_H \lambda_H + 2(m - 1 + n_H) + o(1)

Proposition 2: Soit H \sim W_m (n_H, \mathbf{\Sigma} + \lambda_H v v^t) et E \sim W_m (n_E, \mathbf{\Sigma}), deux matrices indépendantes avec m > 1 et v ^t \mathbf{\Sigma} ^{-1} v = 1. Si m, n_H, n_E sont fixés et \lambda_H \rightarrow \infty, alors,

l1 \approx c_1 (\lambda_H + 1) F_{a,b} + c_2 F_{c, d} + c_3

Où les F variables (qui suivent une loi de Fisher-Snedecor) sont indépendantes avec v = n_E - m >1.

Il résulte de cette dernière proposition que \bigwedge_{Roy} suit une loi de Fisher-Snedecor.

\bullet Exemple:

Soit l’échantillon suivant,

add

La projection des couples X ^1, X ^2 nous donne:

add

A vue d’oeil nous serions tenter de dire que les 3 barycentres des classes A, B, C sont bien distincts. Vérifions-le au sens statistique du terme.

Dans un premier temps, calculons la matrice de dispersion inter-groupes. Nous avons,

\overline{X} = \mu = (10.48771,6.42034)

\overline{\mathbf{X}|_{Y = 1}} = \mu_1 = (4.0028, 5.384686)

\overline{\mathbf{X}|_{Y = 2}} = \mu_2 = (10.49137, 7.591083)

\overline{\mathbf{X}|_{Y = 3}} = \mu_3 = (16.9695, 6.4525)

Par conséquent,

SCF = \frac{1}{20} \times [7 \times (\mu_1 - \mu) ^T \times (\mu_1 - \mu) + 6 \times (\mu_2 - \mu) ^T \times (\mu_2 - \mu) + 7 \times (\mu_3 - \mu) ^T \times (\mu_3 - \mu)]

= \frac{1}{20} \times [\begin{pmatrix} 294.37886 & 47.012910 \\ 47.01291 & 7.508059 \\ \end{pmatrix} + \begin{pmatrix} 0.00008000802 & 0.02565099 \\ 0.002565099 & 8.22383972 \\ \end{pmatrix} + \begin{pmatrix} 294.094758 & 1.459179439 \\ 1.459179 & 0.007239859 \\ \end{pmatrix}]

= \frac{1}{20} \times \begin{pmatrix} 588.47370 & 48.49774 \\ 48.49774 & 15.73914 \\ \end{pmatrix}

= \begin{pmatrix} 29.423685 & 2.4248870 \\ 2.424887 & 0.7869569 \\ \end{pmatrix}

Pour la dispersion intra-groupes, nous avons,

SCR = \frac{1}{20} \times \sum_{k = 1} ^3 n_k \mathbf{\Sigma}_{\mathbf{X}|_{Y = k}}

= \frac{1}{20} \times [7 \times \begin{pmatrix} 4.642112 & -4.505277 \\ -4.505277 & 13.198839 \\ \end{pmatrix} + 6 \times \begin{pmatrix} 3.476513 & 1.00403 \\ 1.004030 & 11.45007 \\ \end{pmatrix} + 7 \times \begin{pmatrix} 4.758668 & 3.655501 \\ 3.655501 & 9.107011 \\ \end{pmatrix}]

= \frac{1}{20} \times [\begin{pmatrix} 32.49479 & -31.53694 \\ -31.53694 & 92.39187 \\ \end{pmatrix} + \begin{pmatrix} 20.859079 & 6.024178 \\ 6.024178 & 68.700401 \\ \end{pmatrix} + \begin{pmatrix} 33.31068 & 25.58851 \\ 25.58851 & 63.74908 \\ \end{pmatrix}]

= \frac{1}{20} \times \begin{pmatrix} 86.66454289 & 0.07575233 \\ 0.0757233 & 224.84135004 \\ \end{pmatrix}

= \begin{pmatrix} 4.333227 & 0.003787617 \\ 0.003786165 & 11.24207 \end {pmatrix}

Nous pouvons désormais calculer l’objet à partir duquel extraire la trace pour la statistique de test recherchée. Nous avons,

SCF \times SCR ^{-1} = \begin{pmatrix} 29.423685 & 2.4248870 \\ 2.424887 & 0.7869569 \\ \end{pmatrix} \times \begin{pmatrix} 4.333227144 & 0.003787617 \\ 0.003786165 & 11.242067502 \\ \end{pmatrix} ^{-1}

= \begin{pmatrix} 29.423685 & 2.4248870 \\ 2.424887 & 0.7869569 \\ \end{pmatrix} \times \begin{pmatrix} 0.2307750 & -0.00007775145 \\ -0.0000775145 & 0.08895164 \\ \end{pmatrix}

= \begin{pmatrix} 6.790061 & 0.21340993 \\ 0.559542 & 0.06981257 \\ \end{pmatrix}

La résolution de ce système nous donne les deux valeurs propres: \lambda = (6.80778322,0.05209035)

\Rightarrow \bigwedge_{Roy} = max(\lambda) = 6.80778322

Maintenant que nous avons calculer la statistique de Roy, il nous reste à calculer F,

F = \frac{20 - max(2,3-1) -  1}{max(2,3-1)} \times \bigwedge_{Roy} = \frac{17}{2} \times 6.80778322 = 8.5 \times 6.80778322 = 57.86616

Si nous reportons cette valeur de la statistique de test à la table de la loi de Fisher-Snedecor pour (max(2,3-1), 20 - max(2,3-1) - 1) = (2,17) degrés de liberté, nous obtenons une p-valeur de 0.000000002591278 <<<<<< 5\%. Nous en concluons au rejet de H_0 et donc que les barycentres de nos trois groupes sont bien distincts.

\bullet Application informatique:

Procédure SAS: https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_candisc_sect019.htm

Package et fonction R:

Roy_max_vp.test = function(DATA){

# La fonction applique le test de la trace de Hotelling-Lawley à l’objet DATA. La matrice DATA doit avoir le format suivant: la première colonne doit contenir la variable classe et les colonnes suivantes les variables continues

# Homogénéisation de la base de données DATA
DATA = as.data.frame(DATA)
DATA[,1] = as.factor(DATA[,1])

# Récupération des caractéristiques de la base de données DATA
n = dim(DATA)[1]
P = dim(DATA)[2]
biblio_Y = summary(DATA[,1])
nb_class = length(biblio_Y)

# Calcul de la dispersion inter-groupes SCF
bT = colMeans(DATA[,2:P])
b = colMeans(DATA[which(DATA[,1]==names(biblio_Y)[1]),2:P])
SCF = biblio_Y[1]*(t(t(b-bT))%*%(b-bT))
for (k in 2:nb_class) {
b = colMeans(DATA[which(DATA[,1]==names(biblio_Y)[k]),2:P])
SCF = SCF + biblio_Y[k]*(t(t(b-bT))%*%(b-bT))
}
SCF = (1/n) * SCF

# Calcul de la dispersion intra-groupes SCR
SCR = biblio_Y[1]*cov(DATA[which(DATA[,1]==names(biblio_Y)[1]),2:P])
for (k in 2:nb_class) {SCR = SCR + biblio_Y[k]*cov(DATA[which(DATA[,1]==names(biblio_Y)[k]),2:P])}
SCR = (1/n) * SCR

# Calcul de la plus grande valeur propre de Roy
M = SCF%*%solve(SCR)
Roy_max_vp = max(eigen(M)$values)

# Ajustement de P et transformation de Fisher
P = P – 1
F = (n – max(P,nb_class-1)-1)/(max(P,nb_class-1)) * Roy_max_vp
p = 1 – pf(F,max(P,nb_class-1),n-max(P,nb_class-1)-1)

# Création de la matrice des résultats finaux et impression
Resultats = data.frame(Pop=n,nVar_X=P,nbClass_Y=nb_class,Roy.max_vp=Roy_max_vp,F=F,p.valeur=p)
return(Resultats)

}

\bullet Bibliographie:

– Probabilité, analyse des données et statistiques de Gilbert Saporta

– Comparaison de populations. Tests paramétriques de Ricco Rakotomalala

– Roy’s largest root test under rank-one alternatives de I. M. Johnstone et B. Nadler