Class WeibullDistributionImpl

All Implemented Interfaces:
Serializable, ContinuousDistribution, Distribution, WeibullDistribution

public class WeibullDistributionImpl extends AbstractContinuousDistribution implements WeibullDistribution, Serializable
Default implementation of WeibullDistribution.
Since:
1.1
See Also:
  • Field Details

    • DEFAULT_INVERSE_ABSOLUTE_ACCURACY

      public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
      Default inverse cumulative probability accuracy
      Since:
      2.1
      See Also:
  • Constructor Details

    • 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 Details

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