Class BinomialTest
- java.lang.Object
-
- org.apache.commons.math4.legacy.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
All Methods Instance Methods Concrete Methods 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.
-
-
-
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 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:
NotPositiveException
- ifnumberOfTrials
ornumberOfSuccesses
is negativeOutOfRangeException
- ifprobability
is not between 0 and 1MathIllegalArgumentException
- ifnumberOfTrials
<numberOfSuccesses
or ifalternateHypothesis
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 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:
NotPositiveException
- ifnumberOfTrials
ornumberOfSuccesses
is negativeOutOfRangeException
- ifprobability
is not between 0 and 1MathIllegalArgumentException
- ifnumberOfTrials
<numberOfSuccesses
or ifalternateHypothesis
is null.- See Also:
AlternativeHypothesis
-
-