org.apache.commons.math.stat.inference

## Interface ChiSquareTest

- All Known Subinterfaces:
    UnknownDistributionChiSquareTest
  All Known Implementing Classes:
    ChiSquareTestImpl

      public interface ChiSquareTest

  An interface for Chi-Square tests.

  This interface handles only known distributions. If the distribution is unknown and should be provided by a sample, then the `UnknownDistributionChiSquareTest` extended interface should be used instead.

  Version:
    $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `chiSquare(double[] expected, long[] observed)` Computes the Chi-Square statistic comparing `observed` and `expected` frequency counts.
    `double` | `chiSquare(long[][] counts)` Computes the Chi-Square statistic associated with a chi-square test of independence based on the input `counts` array, viewed as a two-way table.
    `double` | `chiSquareTest(double[] expected, long[] observed)` Returns the observed significance level, or p-value, associated with a Chi-square goodness of fit test comparing the `observed` frequency counts to those in the `expected` array.
    `boolean` | `chiSquareTest(double[] expected, long[] observed, double alpha)` Performs a Chi-square goodness of fit test evaluating the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts, with significance level `alpha`.
    `double` | `chiSquareTest(long[][] counts)` Returns the observed significance level, or p-value, associated with a chi-square test of independence based on the input `counts` array, viewed as a two-way table.
    `boolean` | `chiSquareTest(long[][] counts, double alpha)` Performs a chi-square test of independence evaluating the null hypothesis that the classifications represented by the counts in the columns of the input 2-way table are independent of the rows, with significance level `alpha`.

- - ### Method Detail

    - #### chiSquare

          double chiSquare(double[] expected,
                         long[] observed)
                           throws java.lang.IllegalArgumentException

      Computes the Chi-Square statistic comparing `observed` and `expected` frequency counts.

      This statistic can be used to perform a Chi-Square test evaluating the null hypothesis that the observed counts follow the expected distribution.

      Preconditions:

      - Expected counts must all be positive.
      - Observed counts must all be >= 0.
      - The observed and expected arrays must have the same length and their common length must be at least 2.

      If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

      Parameters:
        `observed` - array of observed frequency counts
        `expected` - array of expected frequency counts
      Returns:
        chiSquare statistic
      Throws:
        `java.lang.IllegalArgumentException` - if preconditions are not met

    - #### chiSquareTest

          double chiSquareTest(double[] expected,
                             long[] observed)
                               throws java.lang.IllegalArgumentException,
                                      MathException

      Returns the observed significance level, or p-value, associated with a Chi-square goodness of fit test comparing the `observed` frequency counts to those in the `expected` array.

      The number returned is the smallest significance level at which one can reject the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts.

      Preconditions:

      - Expected counts must all be positive.
      - Observed counts must all be >= 0.
      - The observed and expected arrays must have the same length and their common length must be at least 2.

      If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

      Parameters:
        `observed` - array of observed frequency counts
        `expected` - array of expected frequency counts
      Returns:
        p-value
      Throws:
        `java.lang.IllegalArgumentException` - if preconditions are not met
        `MathException` - if an error occurs computing the p-value

    - #### chiSquareTest

          boolean chiSquareTest(double[] expected,
                              long[] observed,
                              double alpha)
                                throws java.lang.IllegalArgumentException,
                                       MathException

      Performs a Chi-square goodness of fit test evaluating the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts, with significance level `alpha`. Returns true iff the null hypothesis can be rejected with 100 * (1 - alpha) percent confidence.

      Example:
      To test the hypothesis that `observed` follows `expected` at the 99% level, use

      `chiSquareTest(expected, observed, 0.01)`

      Preconditions:

      - Expected counts must all be positive.
      - Observed counts must all be >= 0.
      - The observed and expected arrays must have the same length and their common length must be at least 2.
      - `0 < alpha < 0.5`

      If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

      Parameters:
        `observed` - array of observed frequency counts
        `expected` - array of expected frequency counts
        `alpha` - significance level of the test
      Returns:
        true iff null hypothesis can be rejected with confidence 1 - alpha
      Throws:
        `java.lang.IllegalArgumentException` - if preconditions are not met
        `MathException` - if an error occurs performing the test

    - #### chiSquare

          double chiSquare(long[][] counts)
                           throws java.lang.IllegalArgumentException

      Computes the Chi-Square statistic associated with a chi-square test of independence based on the input `counts` array, viewed as a two-way table.

      The rows of the 2-way table are `count[0], ... , count[count.length - 1]`

      Preconditions:

      - All counts must be >= 0.
      - The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
      - The 2-way table represented by `counts` must have at least 2 columns and at least 2 rows.

    If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

Parameters:
  `counts` - array representation of 2-way table
Returns:
  chiSquare statistic
Throws:
  `java.lang.IllegalArgumentException` - if preconditions are not met

- #### chiSquareTest

      double chiSquareTest(long[][] counts)
                           throws java.lang.IllegalArgumentException,
                                  MathException

  Returns the observed significance level, or p-value, associated with a chi-square test of independence based on the input `counts` array, viewed as a two-way table.

  The rows of the 2-way table are `count[0], ... , count[count.length - 1]`

  Preconditions:

  - All counts must be >= 0.
  - The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
  - The 2-way table represented by `counts` must have at least 2 columns and at least 2 rows.

If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

Parameters:
  `counts` - array representation of 2-way table
Returns:
  p-value
Throws:
  `java.lang.IllegalArgumentException` - if preconditions are not met
  `MathException` - if an error occurs computing the p-value

- #### chiSquareTest

      boolean chiSquareTest(long[][] counts,
                          double alpha)
                            throws java.lang.IllegalArgumentException,
                                   MathException

  Performs a chi-square test of independence evaluating the null hypothesis that the classifications represented by the counts in the columns of the input 2-way table are independent of the rows, with significance level `alpha`. Returns true iff the null hypothesis can be rejected with 100 * (1 - alpha) percent confidence.

  The rows of the 2-way table are `count[0], ... , count[count.length - 1]`

  Example:
  To test the null hypothesis that the counts in `count[0], ... , count[count.length - 1]` all correspond to the same underlying probability distribution at the 99% level, use

  `chiSquareTest(counts, 0.01)`

  Preconditions:

  - All counts must be >= 0.
  - The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
  - The 2-way table represented by `counts` must have at least 2 columns and at least 2 rows.

If any of the preconditions are not met, an `IllegalArgumentException` is thrown.

Parameters:
  `counts` - array representation of 2-way table
  `alpha` - significance level of the test
Returns:
  true iff null hypothesis can be rejected with confidence 1 - alpha
Throws:
  `java.lang.IllegalArgumentException` - if preconditions are not met
  `MathException` - if an error occurs performing the test

Copyright (c) 2003-2013 Apache Software Foundation