org.apache.commons.math3.stat.inference

## Class 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
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.
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.
AlternativeHypothesis