Performs a 1-way ANOVA.

The on-way ANOVA tests the null hypothesis that 2 or more groups have the same population mean. The test is applied to samples from two or more groups, possibly with differing sizes.

Parameters :

sample1, sample2, ... : array_like

The sample measurements should be given as arguments.

Returns :

F-value : float

The computed F-value of the test

p-value : float

The associated p-value from the F-distribution


The ANOVA test has important assumptions that must be satisfied in order for the associated p-value to be valid.

  1. The samples are independent
  2. Each sample is from a normally distributed population
  3. The population standard deviations of the groups are all equal. This property is known as homocedasticity.

If these assumptions are not true for a given set of data, it may still be possible to use the Kruskal-Wallis H-test (`stats.kruskal`_) although with some loss of power

The algorithm is from Heiman[2], pp.394-7.


[R48]Lowry, Richard. “Concepts and Applications of Inferential Statistics”. Chapter 14.
[R49]Heiman, G.W. Research Methods in Statistics. 2002.

Previous topic


Next topic


This Page