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.

    See Also:
    Binomial test (Wikipedia)
    • 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:
        MathIllegalArgumentException - if numberOfTrials or numberOfSuccesses is negative
        MathIllegalArgumentException - 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:
        MathIllegalArgumentException - if numberOfTrials or numberOfSuccesses is negative
        MathIllegalArgumentException - if probability is not between 0 and 1
        MathIllegalArgumentException - if numberOfTrials < numberOfSuccesses or if alternateHypothesis is null.
        See Also:
        AlternativeHypothesis