Class IntervalUtils

java.lang.Object
org.apache.commons.math3.stat.interval.IntervalUtils

public final class IntervalUtils extends Object
Factory methods to generate confidence intervals for a binomial proportion. The supported methods are:
  • Agresti-Coull interval
  • Clopper-Pearson method (exact method)
  • Normal approximation (based on central limit theorem)
  • Wilson score interval
Since:
3.3
  • Method Summary

    Modifier and Type
    Method
    Description
    getAgrestiCoullInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
    Create an Agresti-Coull binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.
    getClopperPearsonInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
    Create a Clopper-Pearson binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.
    getNormalApproximationInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
    Create a binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level using the Normal approximation to the binomial distribution.
    getWilsonScoreInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
    Create a Wilson score binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getAgrestiCoullInterval

      public static ConfidenceInterval getAgrestiCoullInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
      Create an Agresti-Coull binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.
      Parameters:
      numberOfTrials - number of trials
      numberOfSuccesses - number of successes
      confidenceLevel - desired probability that the true probability of success falls within the returned interval
      Returns:
      Confidence interval containing the probability of success with probability confidenceLevel
      Throws:
      NotStrictlyPositiveException - if numberOfTrials <= 0.
      NotPositiveException - if numberOfSuccesses < 0.
      NumberIsTooLargeException - if numberOfSuccesses > numberOfTrials.
      OutOfRangeException - if confidenceLevel is not in the interval (0, 1).
    • getClopperPearsonInterval

      public static ConfidenceInterval getClopperPearsonInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
      Create a Clopper-Pearson binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.

      Preconditions:

      • numberOfTrials must be positive
      • numberOfSuccesses may not exceed numberOfTrials
      • confidenceLevel must be strictly between 0 and 1 (exclusive)

      Parameters:
      numberOfTrials - number of trials
      numberOfSuccesses - number of successes
      confidenceLevel - desired probability that the true probability of success falls within the returned interval
      Returns:
      Confidence interval containing the probability of success with probability confidenceLevel
      Throws:
      NotStrictlyPositiveException - if numberOfTrials <= 0.
      NotPositiveException - if numberOfSuccesses < 0.
      NumberIsTooLargeException - if numberOfSuccesses > numberOfTrials.
      OutOfRangeException - if confidenceLevel is not in the interval (0, 1).
    • getNormalApproximationInterval

      public static ConfidenceInterval getNormalApproximationInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
      Create a binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level using the Normal approximation to the binomial distribution.
      Parameters:
      numberOfTrials - number of trials
      numberOfSuccesses - number of successes
      confidenceLevel - desired probability that the true probability of success falls within the interval
      Returns:
      Confidence interval containing the probability of success with probability confidenceLevel
    • getWilsonScoreInterval

      public static ConfidenceInterval getWilsonScoreInterval(int numberOfTrials, int numberOfSuccesses, double confidenceLevel)
      Create a Wilson score binomial confidence interval for the true probability of success of an unknown binomial distribution with the given observed number of trials, successes and confidence level.
      Parameters:
      numberOfTrials - number of trials
      numberOfSuccesses - number of successes
      confidenceLevel - desired probability that the true probability of success falls within the returned interval
      Returns:
      Confidence interval containing the probability of success with probability confidenceLevel
      Throws:
      NotStrictlyPositiveException - if numberOfTrials <= 0.
      NotPositiveException - if numberOfSuccesses < 0.
      NumberIsTooLargeException - if numberOfSuccesses > numberOfTrials.
      OutOfRangeException - if confidenceLevel is not in the interval (0, 1).