Package 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
See Also:
  - Binomial test (Wikipedia)

## Constructor Summary

Constructors
Constructor
Description
`BinomialTest()`

## Method Summary

Modifier and Type
Method
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 Details

### BinomialTest

public BinomialTest()

## Method Details

### 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`