[R] How to test homogeneity of covariance matrices?

Franck Bameul fbameul at wanadoo.fr
Sun Sep 18 19:42:25 CEST 2005

  Dear Group Members,

Forgive me if I am a little bit out of subject. I am looking for a good 
way to test the homogeneity of two variance-covariance matrices using R, 
prior to a Hotelling T² test. You’ll probably tell me that it is better 
to use a robust version of T², but I have no precise idea of the 
statistical behaviour of my variables, because they are parameters from 
the harmonics of Fourier series used to describe the outlines of 
specimens. I rather like to explore precisely these harmonics parameters.

It is known that Box’s M-test of homogeneity of variance-covariance 
matrices is oversensitive to heteroscedasticity and to deviation from 
multivariate normality and that it I not useful (Everitt, 2005 ; Seber, 
1984 ; Layard, 1974). I have tried a “quick and dirty” intuitive 
comparison between two covariance matrices and I am seeking the opinion 
of professional statisticians about this stuff. The idea is to compare 
the two matrices using the absolute value of their difference, then to 
make a quadratic form using a unity vector and its transpose. One obtain 
a scalar that must be close to zero if the two covariance matrices are 
homogeneous :

Let S1 and S2 be two variance-covariance matrices of dimension n,

Let a be a vector of n ones : a <- rep(1, times = n)

b = a’ * |S1 – S2| * a, i.e. in R:

b <- a %*% abs(S1 – S2) %*% a

Is b distributed following a chi-square distribution? Is this idea total 
crap? Did someone tried this before and published something?

My data gave two 77 x 77 covariance matrices and b = 0.003243, a value 
close to 0, hence I expect my two covariance matrices are homogeneous. 
Am I right?

If this comparison is incorrect, could someone suggest a useful way to 
make this comparison using R?

Thank you in advance for your comments.



Dr Franck BAMEUL

Le Clos d'Ornon
7 rue Frédéric Mistral

fbameul at wanadoo.fr

06 89 88 16 73 (personnel)
05 57 19 57 20 (professionnel)
05 57 19 57 27 (fax)

More information about the R-help mailing list