Class BinomialTest
Exact test for the statistical significance of deviations from a theoretically expected distribution of observations into two categories.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
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.
-
Constructor Details
-
BinomialTest
public BinomialTest()Empty constructor.This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.
- Since:
- 3.0
-
-
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 performednumberOfSuccesses
- number of successes observedprobability
- assumed probability of a single trial under the null hypothesisalternativeHypothesis
- 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:
MathIllegalArgumentException
- ifnumberOfTrials
ornumberOfSuccesses
is negativeMathIllegalArgumentException
- ifprobability
is not between 0 and 1MathIllegalArgumentException
- ifnumberOfTrials
<numberOfSuccesses
or ifalternateHypothesis
is null.- See Also:
-
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 performednumberOfSuccesses
- number of successes observedprobability
- assumed probability of a single trial under the null hypothesisalternativeHypothesis
- type of hypothesis being evaluated (one- or two-sided)- Returns:
- p-value
- Throws:
MathIllegalArgumentException
- ifnumberOfTrials
ornumberOfSuccesses
is negativeMathIllegalArgumentException
- ifprobability
is not between 0 and 1MathIllegalArgumentException
- ifnumberOfTrials
<numberOfSuccesses
or ifalternateHypothesis
is null.- See Also:
-