Class WeibullDistributionImpl

    • 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

      • WeibullDistributionImpl

        public WeibullDistributionImpl​(double alpha,
                                       double beta)
        Creates weibull distribution with the given shape and scale and a location equal to zero.
        Parameters:
        alpha - the shape parameter.
        beta - the scale parameter.
      • WeibullDistributionImpl

        public WeibullDistributionImpl​(double alpha,
                                       double beta,
                                       double inverseCumAccuracy)
        Creates weibull distribution with the given shape, scale and inverse cumulative probability accuracy and a location equal to zero.
        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)
        For this distribution, X, this method returns P(X < x).
        Specified by:
        cumulativeProbability in interface Distribution
        Parameters:
        x - the value at which the CDF is evaluated.
        Returns:
        CDF evaluated at x.
      • getShape

        public double getShape()
        Access the shape parameter.
        Specified by:
        getShape in interface WeibullDistribution
        Returns:
        the shape parameter.
      • getScale

        public double getScale()
        Access the scale parameter.
        Specified by:
        getScale in interface WeibullDistribution
        Returns:
        the scale parameter.
      • 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.
        Since:
        2.1
      • inverseCumulativeProbability

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

        Returns Double.NEGATIVE_INFINITY 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:
        java.lang.IllegalArgumentException - if p is not a valid probability.
      • setShape

        @Deprecated
        public void setShape​(double alpha)
        Deprecated.
        as of 2.1 (class will become immutable in 3.0)
        Modify the shape parameter.
        Specified by:
        setShape in interface WeibullDistribution
        Parameters:
        alpha - the new shape parameter value.
      • setScale

        @Deprecated
        public void setScale​(double beta)
        Deprecated.
        as of 2.1 (class will become immutable in 3.0)
        Modify the scale parameter.
        Specified by:
        setScale in interface WeibullDistribution
        Parameters:
        beta - the new scale parameter value.
      • getDomainLowerBound

        protected double getDomainLowerBound​(double p)
        Access the domain value lower bound, based on p, used to bracket a CDF root. This method is used by inverseCumulativeProbability(double) to find critical values.
        Specified by:
        getDomainLowerBound in class AbstractContinuousDistribution
        Parameters:
        p - the desired probability for the critical value
        Returns:
        domain value lower bound, i.e. P(X < lower bound) < p
      • getDomainUpperBound

        protected double getDomainUpperBound​(double p)
        Access the domain value upper bound, based on p, used to bracket a CDF root. This method is used by inverseCumulativeProbability(double) to find critical values.
        Specified by:
        getDomainUpperBound in class AbstractContinuousDistribution
        Parameters:
        p - the desired probability for the critical value
        Returns:
        domain value upper bound, i.e. P(X < upper bound) > p
      • 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 the distribution. The lower bound of the support is always 0 no matter 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 no matter the parameters.
        Returns:
        upper bound of the support (always Double.POSITIVE_INFINITY)
        Since:
        2.2
      • calculateNumericalMean

        protected double calculateNumericalMean()
        Calculates the mean. The mean is scale * Gamma(1 + (1 / shape)) where Gamma(...) is the Gamma-function
        Returns:
        the mean
        Since:
        2.2
      • getNumericalMean

        public double getNumericalMean()
        Returns the mean of the distribution.
        Returns:
        the mean or Double.NaN if it's not defined
        Since:
        2.2
      • getNumericalVariance

        public double getNumericalVariance()
        Returns the variance of the distribution.
        Returns:
        the variance (possibly Double.POSITIVE_INFINITY as for certain cases in TDistributionImpl) or Double.NaN if it's not defined
        Since:
        2.2