Class BetaDistributionImpl

    • Constructor Summary

      Constructors 
      Constructor Description
      BetaDistributionImpl​(double alpha, double beta)
      Build a new instance.
      BetaDistributionImpl​(double alpha, double beta, double inverseCumAccuracy)
      Build a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      double cumulativeProbability​(double x)
      For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x).
      double cumulativeProbability​(double x0, double x1)
      For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).
      double density​(double x)
      Return the probability density for a particular point.
      double density​(java.lang.Double x)
      Deprecated. 
      double getAlpha()
      Access the shape parameter, alpha
      double getBeta()
      Access the shape parameter, beta
      protected double getDomainLowerBound​(double p)
      Access the domain value lower bound, based on p, used to bracket a CDF root.
      protected double getDomainUpperBound​(double p)
      Access the domain value upper bound, based on p, used to bracket a CDF root.
      protected double getInitialDomain​(double p)
      Access the initial domain value, based on p, used to bracket a CDF root.
      double getNumericalMean()
      Returns the mean.
      double getNumericalVariance()
      Returns the variance.
      protected double getSolverAbsoluteAccuracy()
      Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.
      double getSupportLowerBound()
      Returns the lower bound of the support for this distribution.
      double getSupportUpperBound()
      Returns the upper bound of the support for this distribution.
      double inverseCumulativeProbability​(double p)
      For this distribution, X, this method returns the critical point x, such that P(X < x) = p.
      void setAlpha​(double alpha)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      void setBeta​(double beta)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_INVERSE_ABSOLUTE_ACCURACY

        public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
        Default inverse cumulative probability accuracy
        Since:
        2.1
        See Also:
        Constant Field Values
    • Constructor Detail

      • BetaDistributionImpl

        public BetaDistributionImpl​(double alpha,
                                    double beta,
                                    double inverseCumAccuracy)
        Build a new instance.
        Parameters:
        alpha - first shape parameter (must be positive)
        beta - second shape parameter (must be positive)
        inverseCumAccuracy - the maximum absolute error in inverse cumulative probability estimates (defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY)
        Since:
        2.1
      • BetaDistributionImpl

        public BetaDistributionImpl​(double alpha,
                                    double beta)
        Build a new instance.
        Parameters:
        alpha - first shape parameter (must be positive)
        beta - second shape parameter (must be positive)
    • Method Detail

      • setAlpha

        @Deprecated
        public void setAlpha​(double alpha)
        Deprecated.
        as of 2.1 (class will become immutable in 3.0)
        Modify the shape parameter, alpha.
        Specified by:
        setAlpha in interface BetaDistribution
        Parameters:
        alpha - the new shape parameter.
      • getAlpha

        public double getAlpha()
        Access the shape parameter, alpha
        Specified by:
        getAlpha in interface BetaDistribution
        Returns:
        alpha.
      • setBeta

        @Deprecated
        public void setBeta​(double beta)
        Deprecated.
        as of 2.1 (class will become immutable in 3.0)
        Modify the shape parameter, beta.
        Specified by:
        setBeta in interface BetaDistribution
        Parameters:
        beta - the new scale parameter.
      • getBeta

        public double getBeta()
        Access the shape parameter, beta
        Specified by:
        getBeta in interface BetaDistribution
        Returns:
        beta.
      • density

        @Deprecated
        public double density​(java.lang.Double x)
        Deprecated.
        Return the probability density for a particular point.
        Specified by:
        density in interface BetaDistribution
        Specified by:
        density in interface HasDensity<java.lang.Double>
        Parameters:
        x - The point at which the density should be computed.
        Returns:
        The pdf at point x.
      • density

        public double density​(double x)
        Return the probability density for a particular point.
        Overrides:
        density in class AbstractContinuousDistribution
        Parameters:
        x - The point at which the density should be computed.
        Returns:
        The pdf at point x.
        Since:
        2.1
      • cumulativeProbability

        public double cumulativeProbability​(double x)
                                     throws MathException
        For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x). In other words, this method represents the (cumulative) distribution function, or CDF, for this distribution.
        Specified by:
        cumulativeProbability in interface Distribution
        Parameters:
        x - the value at which the distribution function is evaluated.
        Returns:
        the probability that a random variable with this distribution takes a value less than or equal to x
        Throws:
        MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.
      • cumulativeProbability

        public double cumulativeProbability​(double x0,
                                            double x1)
                                     throws MathException
        For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).

        The default implementation uses the identity

        P(x0 ≤ X ≤ x1) = P(X ≤ x1) - P(X ≤ x0)

        Specified by:
        cumulativeProbability in interface Distribution
        Overrides:
        cumulativeProbability in class AbstractDistribution
        Parameters:
        x0 - the (inclusive) lower bound
        x1 - the (inclusive) upper bound
        Returns:
        the probability that a random variable with this distribution will take a value between x0 and x1, including the endpoints.
        Throws:
        MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.
      • getSolverAbsoluteAccuracy

        protected double getSolverAbsoluteAccuracy()
        Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.
        Overrides:
        getSolverAbsoluteAccuracy in class AbstractContinuousDistribution
        Returns:
        the solver absolute accuracy
        Since:
        2.1
      • getSupportLowerBound

        public double getSupportLowerBound()
        Returns the lower bound of the support for this distribution. The support of the Beta distribution is always [0, 1], regardless of the parameters, so this method always returns 0.
        Returns:
        lower bound of the support (always 0)
        Since:
        2.2
      • getSupportUpperBound

        public double getSupportUpperBound()
        Returns the upper bound of the support for this distribution. The support of the Beta distribution is always [0, 1], regardless of the parameters, so this method always returns 1.
        Returns:
        lower bound of the support (always 1)
        Since:
        2.2
      • getNumericalMean

        public double getNumericalMean()
        Returns the mean. For first shape parameter s1 and second shape parameter s2, the mean is s1 / (s1 + s2)
        Returns:
        the mean
        Since:
        2.2
      • getNumericalVariance

        public double getNumericalVariance()
        Returns the variance. For first shape parameter s1 and second shape parameter s2, the variance is [ s1 * s2 ] / [ (s1 + s2)^2 * (s1 + s2 + 1) ]
        Returns:
        the variance
        Since:
        2.2