org.apache.commons.math3.stat.inference

## Class BinomialTest

- java.lang.Object
- - org.apache.commons.math3.stat.inference.BinomialTest

-     public class BinomialTest
      extends Object

  Implements binomial test statistics.

  Exact test for the statistical significance of deviations from a theoretically expected distribution of observations into two categories.

  Since:
    3.3
  Version:
    $Id: BinomialTest.java 1532638 2013-10-16 04:29:31Z psteitz $
  See Also:
    Binomial test (Wikipedia)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BinomialTest()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `binomialTest(int numberOfTrials, int numberOfSuccesses, double probability, AlternativeHypothesis alternativeHypothesis)` Returns the observed significance level, or p-value, associated with a Binomial test.
    `boolean` | `binomialTest(int numberOfTrials, int numberOfSuccesses, double probability, AlternativeHypothesis alternativeHypothesis, double alpha)` Returns whether the null hypothesis can be rejected with the given confidence level.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BinomialTest

          public BinomialTest()

  - ### Method Detail

    - #### binomialTest

          public boolean binomialTest(int numberOfTrials,
                             int numberOfSuccesses,
                             double probability,
                             AlternativeHypothesis alternativeHypothesis,
                             double alpha)

      Returns whether the null hypothesis can be rejected with the given confidence level.

      Preconditions:

      - Number of trials must be ≥ 0.
      - Number of successes must be ≥ 0.
      - Number of successes must be ≤ number of trials.
      - Probability must be ≥ 0 and ≤ 1.
      Parameters:
        `numberOfTrials` - number of trials performed
        `numberOfSuccesses` - number of successes observed
        `probability` - assumed probability of a single trial under the null hypothesis
        `alternativeHypothesis` - type of hypothesis being evaluated (one- or two-sided)
        `alpha` - significance level of the test
      Returns:
        true if the null hypothesis can be rejected with confidence `1 - alpha`
      Throws:
        `NotPositiveException` - if `numberOfTrials` or `numberOfSuccesses` is negative
        `OutOfRangeException` - if `probability` is not between 0 and 1
        `MathIllegalArgumentException` - if `numberOfTrials` < `numberOfSuccesses` or if `alternateHypothesis` is null.
      See Also:
        `AlternativeHypothesis`

    - #### binomialTest

          public double binomialTest(int numberOfTrials,
                            int numberOfSuccesses,
                            double probability,
                            AlternativeHypothesis alternativeHypothesis)

      Returns the observed significance level, or p-value, associated with a Binomial test.

      The number returned is the smallest significance level at which one can reject the null hypothesis. The form of the hypothesis depends on `alternativeHypothesis`.

      The p-Value represents the likelihood of getting a result at least as extreme as the sample, given the provided `probability` of success on a single trial. For single-sided tests, this value can be directly derived from the Binomial distribution. For the two-sided test, the implementation works as follows: we start by looking at the most extreme cases (0 success and n success where n is the number of trials from the sample) and determine their likelihood. The lower value is added to the p-Value (if both values are equal, both are added). Then we continue with the next extreme value, until we added the value for the actual observed sample.

      Preconditions:

      - Number of trials must be ≥ 0.
      - Number of successes must be ≥ 0.
      - Number of successes must be ≤ number of trials.
      - Probability must be ≥ 0 and ≤ 1.
      Parameters:
        `numberOfTrials` - number of trials performed
        `numberOfSuccesses` - number of successes observed
        `probability` - assumed probability of a single trial under the null hypothesis
        `alternativeHypothesis` - type of hypothesis being evaluated (one- or two-sided)
      Returns:
        p-value
      Throws:
        `NotPositiveException` - if `numberOfTrials` or `numberOfSuccesses` is negative
        `OutOfRangeException` - if `probability` is not between 0 and 1
        `MathIllegalArgumentException` - if `numberOfTrials` < `numberOfSuccesses` or if `alternateHypothesis` is null.
      See Also:
        `AlternativeHypothesis`

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.