org.apache.commons.math.stat.inference

## Interface OneWayAnova

All Known Implementing Classes:
  OneWayAnovaImpl

    public interface OneWayAnova

An interface for one-way ANOVA (analysis of variance).

Tests for differences between two or more categories of univariate data (for example, the body mass index of accountants, lawyers, doctors and computer programmers). When two categories are given, this is equivalent to the `TTest`.

Since:
  1.2
Version:
  $Revision: 811786 $ $Date: 2009-09-06 11:36:08 +0200 (dim. 06 sept. 2009) $

### Method Summary

Methods
`double` `anovaFValue(Collection<double[]> categoryData)` Computes the ANOVA F-value for a collection of `double[]` arrays.
`double` `anovaPValue(Collection<double[]> categoryData)` Computes the ANOVA P-value for a collection of `double[]` arrays.
`boolean` `anovaTest(Collection<double[]> categoryData, double alpha)` Performs an ANOVA test, evaluating the null hypothesis that there is no difference among the means of the data categories.

### Method Detail

#### anovaFValue

    double anovaFValue(Collection<double[]> categoryData)
                       throws IllegalArgumentException,
                              MathException

Computes the ANOVA F-value for a collection of `double[]` arrays.

Preconditions:

- The categoryData `Collection` must contain `double[]` arrays.
- There must be at least two `double[]` arrays in the `categoryData` collection and each of these arrays must contain at least two values.

Parameters:
  `categoryData` - `Collection` of `double[]` arrays each containing data for one category
Returns:
  Fvalue
Throws:
  `IllegalArgumentException` - if the preconditions are not met
  `MathException` - if the statistic can not be computed do to a convergence or other numerical error.

#### anovaPValue

    double anovaPValue(Collection<double[]> categoryData)
                       throws IllegalArgumentException,
                              MathException

Computes the ANOVA P-value for a collection of `double[]` arrays.

Preconditions:

- The categoryData `Collection` must contain `double[]` arrays.
- There must be at least two `double[]` arrays in the `categoryData` collection and each of these arrays must contain at least two values.

Parameters:
  `categoryData` - `Collection` of `double[]` arrays each containing data for one category
Returns:
  Pvalue
Throws:
  `IllegalArgumentException` - if the preconditions are not met
  `MathException` - if the statistic can not be computed do to a convergence or other numerical error.

#### anovaTest

    boolean anovaTest(Collection<double[]> categoryData,
                    double alpha)
                      throws IllegalArgumentException,
                             MathException

Performs an ANOVA test, evaluating the null hypothesis that there is no difference among the means of the data categories.

Preconditions:

- The categoryData `Collection` must contain `double[]` arrays.
- There must be at least two `double[]` arrays in the `categoryData` collection and each of these arrays must contain at least two values.
- alpha must be strictly greater than 0 and less than or equal to 0.5.

Parameters:
  `categoryData` - `Collection` of `double[]` arrays each containing data for one category
  `alpha` - significance level of the test
Returns:
  true if the null hypothesis can be rejected with confidence 1 - alpha
Throws:
  `IllegalArgumentException` - if the preconditions are not met
  `MathException` - if the statistic can not be computed do to a convergence or other numerical error.