23

I am interested in comparing the amount of variability within 8 different samples (each from a different population). I am aware that this can be done by several methods with ratio data: F-test equality of variance, Levene test, etc.

However, my data is circular/directional (i.e. data that exhibit periodicity such as wind direction and in general angular data, or time of the day). I have done some research and found one test in the "CircStats" package in R - "Watson's test for homogeneity". One shortcoming is that this test only compares two samples, which means I would have to do multiple comparisons on my 8 samples (and then use the Bonferonni correction).

Here are my questions:

1) Is there a better test that I can use?
2) If not, what are the assumptions of Watson's test? Is it parametric/non-parametric?
3) What is the algorithm by which I can perform this test? My data is in Matlab, and I would prefer to not have to transfer it into R to run my test. I'd rather just write my own function.

Charlotte R
  • 438
  • 4
  • 18
Alex Williams
  • 231
  • 2
  • 3
  • What do you mean when you say "my data is circular/directional"? – Joel W. Jul 15 '12 at 13:42
  • 1
    I think article is a good introduction: http://www.jstatsoft.org/v31/i10/paper – Alex Williams Jul 15 '12 at 18:44
  • I think we could still do with more description of your data. Is there one observation per sample, or does sample mean a bunch of observations? What is being measured and what is its dimensionality eg is it just an angle / direction that something is going in, or is there a magnitude as well? What do you mean by "variability within 8 different samples" - I suspect perhaps you actually mean "variability between", but in any event that still needs to be clarified. – Peter Ellis Jul 17 '12 at 02:11
  • Watson's test is distribution free; it's the equivalent of a Cramer-Von Mises test taken onto the circle. The statistic is quite simple to implement. – Glen_b Jun 20 '13 at 04:50
  • This is only tangentially related to your problem, but depending on exactly what you're trying to control, Bonferroni correction might be overly conservative. – Matt Krause Sep 30 '13 at 01:20
  • 1
    If you can model this with a distribution that has a location and a scale parameter (von Mises?), you can fit two models in both of which the locations are allowed to vary, while the scale is fixed constant across groups in one model, and is allowed to vary in the other; and then take the likelihood ratio test between the two. – StasK Feb 28 '14 at 05:24
  • @JoelW., see https://en.wikipedia.org/wiki/Directional_statistics – A. Donda Aug 29 '15 at 15:19
  • Would it be possible (assuming they are normally distributed) to normalize the samples to each have a mean of pi or 180 degrees and then perform a linear test (f-test or bartlett's) on the variance? – Michael Melnychuk Aug 29 '15 at 15:11
  • You can check out the "Circular" package in R. The methods like 'aov.circular' might help. I am not sure about libraries in MATLAB. – Lesnar Mar 06 '16 at 14:50

2 Answers2

3

1) The Watson-Williams test is appropriate here.

2) It is parametric, and assumes a Von-Mises distribution. The second assumption is that each group has a common concentration parameter. I do not recall how robust the test is to violations of that assumption.

3) I have been using an implementation of the Watson test in a circular statistics toolbox, written for Matlab and available on the file exchange (link below). I have not tried, but I believe the Watson test (circ_wwtest.m) is set up for multiple groups.

https://www.mathworks.com/matlabcentral/fileexchange/10676-circular-statistics-toolbox--directional-statistics-

HEITZ
  • 1,682
  • 7
  • 15
0

Regarding your third question, I wrote a function in MATLAB for the algorithm based on Watson (1962) to compute the test statistic and p-value:

https://github.com/aatobaa/hatlab/blob/master/watson1962.m