Class GammaDistributionImpl

    • 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

      • GammaDistributionImpl

        public GammaDistributionImpl​(double alpha,
                                     double beta)
        Create a new gamma distribution with the given alpha and beta values.
        Parameters:
        alpha - the shape parameter.
        beta - the scale parameter.
      • GammaDistributionImpl

        public GammaDistributionImpl​(double alpha,
                                     double beta,
                                     double inverseCumAccuracy)
        Create a new gamma distribution with the given alpha and beta values.
        Parameters:
        alpha - the shape parameter.
        beta - the scale parameter.
        inverseCumAccuracy - the maximum absolute error in inverse cumulative probability estimates (defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY)
        Since:
        2.1
    • Method Detail

      • cumulativeProbability

        public double cumulativeProbability​(double x)
                                     throws MathException
        For this distribution, X, this method returns P(X < x). The implementation of this method is based on:
        • Chi-Squared Distribution, equation (9).
        • Casella, G., & Berger, R. (1990). Statistical Inference. Belmont, CA: Duxbury Press.
        Specified by:
        cumulativeProbability in interface Distribution
        Parameters:
        x - the value at which the CDF is evaluated.
        Returns:
        CDF for this distribution.
        Throws:
        MathException - if the cumulative probability can not be computed due to convergence or other numerical errors.
      • inverseCumulativeProbability

        public double inverseCumulativeProbability​(double p)
                                            throws MathException
        For this distribution, X, this method returns the critical point x, such that P(X < x) = p.

        Returns 0 for p=0 and Double.POSITIVE_INFINITY for p=1.

        Specified by:
        inverseCumulativeProbability in interface ContinuousDistribution
        Overrides:
        inverseCumulativeProbability in class AbstractContinuousDistribution
        Parameters:
        p - the desired probability
        Returns:
        x, such that P(X < x) = p
        Throws:
        MathException - if the inverse cumulative probability can not be computed due to convergence or other numerical errors.
        java.lang.IllegalArgumentException - if p is not a valid probability.
      • 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 GammaDistribution
        Parameters:
        alpha - the new shape parameter.
        Throws:
        java.lang.IllegalArgumentException - if alpha is not positive.
      • getAlpha

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

        @Deprecated
        public void setBeta​(double newBeta)
        Deprecated.
        as of 2.1 (class will become immutable in 3.0)
        Modify the scale parameter, beta.
        Specified by:
        setBeta in interface GammaDistribution
        Parameters:
        newBeta - the new scale parameter.
        Throws:
        java.lang.IllegalArgumentException - if newBeta is not positive.
      • getBeta

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

        public double density​(double x)
        Returns 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.
      • density

        @Deprecated
        public double density​(java.lang.Double x)
        Deprecated.
        Return the probability density for a particular point.
        Specified by:
        density in interface GammaDistribution
        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.
      • getSupportLowerBound

        public double getSupportLowerBound()
        Returns the upper bound of the support for the distribution. The lower bound of the support is always 0, regardless of the parameters.
        Returns:
        lower bound of the support (always 0)
        Since:
        2.2
      • getSupportUpperBound

        public double getSupportUpperBound()
        Returns the upper bound of the support for the distribution. The upper bound of the support is always positive infinity, regardless of the parameters.
        Returns:
        upper bound of the support (always Double.POSITIVE_INFINITY)
        Since:
        2.2
      • getNumericalMean

        public double getNumericalMean()
        Returns the mean. For shape parameter alpha and scale parameter beta, the mean is alpha * beta
        Returns:
        the mean
        Since:
        2.2
      • getNumericalVariance

        public double getNumericalVariance()
        Returns the variance. For shape parameter alpha and scale parameter beta, the variance is alpha * beta^2
        Returns:
        the variance
        Since:
        2.2