Class 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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      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.
      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.
      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.
    • Method Detail

      • 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).