SSJ
V. labo.

umontreal.iro.lecuyer.probdist
Class WeibullDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdist.ContinuousDistribution
      extended by umontreal.iro.lecuyer.probdist.WeibullDist
All Implemented Interfaces:
Distribution

public class WeibullDist
extends ContinuousDistribution

WeibullDist

This class extends the class ContinuousDistribution for the Weibull distribution[#!tJOH95a!#, page 628] with shape parameter α > 0, location parameter δ, and scale parameter λ > 0. The density function is

f (x) = αλα(x - δ)α-1e-(λ(x-δ))α        for x > δ.$\displaystyle \eqlabel$eq:fweibull

the distribution function is

F(x) = 1 - e-(λ(x-δ))α        for x > δ,[tex2html_wrap_indisplay340]eq:Fweibull

and the inverse distribution function is

F-1(u) = (- ln(1 - u))1/α/λ + δ        for 0≤u < 1.


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
WeibullDist(double alpha)
          .
WeibullDist(double alpha, double lambda, double delta)
          .
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(double alpha, double x)
          .
static double barF(double alpha, double lambda, double delta, double x)
          .
 double cdf(double x)
          .
static double cdf(double alpha, double x)
          .
static double cdf(double alpha, double lambda, double delta, double x)
          .
 double density(double x)
          Returns f (x), the density evaluated at x.
static double density(double alpha, double x)
          .
static double density(double alpha, double lambda, double delta, double x)
          .
 double getAlpha()
          .
 double getDelta()
          .
static WeibullDist getInstanceFromMLE(double[] x, int n)
          .
 double getLambda()
          .
 double getMean()
          Returns the mean.
static double getMean(double alpha, double lambda, double delta)
          .
static double[] getMLE(double[] x, int n)
          .
 double[] getParams()
          .
 double getStandardDeviation()
          Returns the standard deviation.
static double getStandardDeviation(double alpha, double lambda, double delta)
          .
 double getVariance()
          Returns the variance.
static double getVariance(double alpha, double lambda, double delta)
          .
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(double alpha, double x)
          .
static double inverseF(double alpha, double lambda, double delta, double u)
          .
 void setParams(double alpha, double lambda, double delta)
          .
 String toString()
          .
 
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WeibullDist

public WeibullDist(double alpha)
. \begin{tabb}Constructs a \texttt{WeibullDist} object with parameters
 $\alpha$\ = \texttt{alpha}, $\lambda$\ = 1, and $\delta$\ = 0.
 \end{tabb}


WeibullDist

public WeibullDist(double alpha,
                   double lambda,
                   double delta)
. \begin{tabb}Constructs a \texttt{WeibullDist} object with parameters
 $\alpha =$...
 ...ha},
 $\lambda $\ = \texttt{lambda}, and $\delta$\ = \texttt{delta}.
 \end{tabb}

Method Detail

density

public double density(double x)
Description copied from class: ContinuousDistribution
Returns f (x), the density evaluated at x.

Specified by:
density in class ContinuousDistribution
Parameters:
x - value at which the density is evaluated
Returns:
density function evaluated at x

cdf

public double cdf(double x)
Description copied from interface: Distribution
. \begin{tabb}Returns the distribution function $F(x)$.
 \end{tabb}
xvalue at which the distribution function is evaluated distribution function evaluated at x


barF

public double barF(double x)
Description copied from class: ContinuousDistribution
Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x).

Specified by:
barF in interface Distribution
Overrides:
barF in class ContinuousDistribution
Parameters:
x - value at which the complementary distribution function is evaluated
Returns:
complementary distribution function evaluated at x

inverseF

public double inverseF(double u)
Description copied from class: ContinuousDistribution
Returns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].

Specified by:
inverseF in interface Distribution
Overrides:
inverseF in class ContinuousDistribution
Parameters:
u - value at which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

getMean

public double getMean()
Description copied from class: ContinuousDistribution
Returns the mean.

Specified by:
getMean in interface Distribution
Overrides:
getMean in class ContinuousDistribution
Returns:
the mean

getVariance

public double getVariance()
Description copied from class: ContinuousDistribution
Returns the variance.

Specified by:
getVariance in interface Distribution
Overrides:
getVariance in class ContinuousDistribution
Returns:
the variance

getStandardDeviation

public double getStandardDeviation()
Description copied from class: ContinuousDistribution
Returns the standard deviation.

Specified by:
getStandardDeviation in interface Distribution
Overrides:
getStandardDeviation in class ContinuousDistribution
Returns:
the standard deviation

density

public static double density(double alpha,
                             double lambda,
                             double delta,
                             double x)
. \begin{tabb}Computes the density function.
 \end{tabb}


density

public static double density(double alpha,
                             double x)
. \begin{tabb}Same as \texttt{density (alpha, 1, 0, x)}.
 \end{tabb}


cdf

public static double cdf(double alpha,
                         double lambda,
                         double delta,
                         double x)
. \begin{tabb}
 Computes the distribution function.
 \end{tabb}


cdf

public static double cdf(double alpha,
                         double x)
. \begin{tabb}Same as \texttt{cdf (alpha, 1, 0, x)}.
 \end{tabb}


barF

public static double barF(double alpha,
                          double lambda,
                          double delta,
                          double x)
. \begin{tabb}
 Computes the complementary distribution function.
 \end{tabb}


barF

public static double barF(double alpha,
                          double x)
. \begin{tabb}Same as \texttt{barF (alpha, 1, 0, x)}.
 \end{tabb}


inverseF

public static double inverseF(double alpha,
                              double lambda,
                              double delta,
                              double u)
. \begin{tabb}
 Computes the inverse of the distribution function.
 \end{tabb}


inverseF

public static double inverseF(double alpha,
                              double x)
. \begin{tabb}Same as \texttt{inverseF (alpha, 1, 0, x)}.
 \end{tabb}


getMLE

public static double[] getMLE(double[] x,
                              int n)
. \begin{tabb}
 Estimates the parameters $(\alpha, \lambda)$\ of the Weibull distr...
 ...\alpha}}
 \end{eqnarray*} See\cite[page 303]{sLAW00a}.
 \end{detailed}\end{tabb}
xthe list of observations to use to evaluate parameters nthe number of observations to use to evaluate parameters returns the parameter [ $ \hat{{\alpha}}$, $ \hat{{\lambda}}$, $ \hat{{\delta}}$ = 0]


getInstanceFromMLE

public static WeibullDist getInstanceFromMLE(double[] x,
                                             int n)
. \begin{tabb}
 Creates a new instance of a Weibull distribution with parameters $...
 ...thod based on the $n$\ observations
 $x[i]$, $i = 0, 1, \ldots, n-1$.
 \end{tabb}
xthe list of observations to use to evaluate parameters nthe number of observations to use to evaluate parameters


getMean

public static double getMean(double alpha,
                             double lambda,
                             double delta)
. \begin{tabb}Computes and returns the mean
 of the Weibull distribution with parameters $\alpha$, $\lambda$\ and $\delta$.
 \end{tabb}
the mean of the Weibull distribution E[X] = δ + Γ(1 + 1/α)/λ


getVariance

public static double getVariance(double alpha,
                                 double lambda,
                                 double delta)
. \begin{tabb}Computes and returns the variance
 of the Weibull distribution with parameters $\alpha$, $\lambda$\ and $\delta$.
 \end{tabb}
the variance of the Weibull distribution Var[X] = 1/λ2| Γ(2/α +1) - Γ2(1/α + 1)|


getStandardDeviation

public static double getStandardDeviation(double alpha,
                                          double lambda,
                                          double delta)
. \begin{tabb}Computes and returns the standard deviation
 of the Weibull distribution with parameters $\alpha$, $\lambda$\ and $\delta$.
 \end{tabb}
the standard deviation of the Weibull distribution


getAlpha

public double getAlpha()
. \begin{tabb}Returns the parameter $\alpha$.
 \end{tabb}


getLambda

public double getLambda()
. \begin{tabb}Returns the parameter $\lambda$.
 \end{tabb}


getDelta

public double getDelta()
. \begin{tabb}Returns the parameter $\delta$.
 \end{tabb}


setParams

public void setParams(double alpha,
                      double lambda,
                      double delta)
. \begin{tabb}Sets the parameters $\alpha$, $\lambda$\ and $\delta$\ for this
 object.
 \end{tabb}


getParams

public double[] getParams()
. \begin{tabb}
 Return a table containing the parameters of the current distributi...
 ... This table is put in regular order: [$\alpha$, $\lambda$, $\delta$].
 \end{tabb}

 


toString

public String toString()
. \begin{hide}
 \par
 \begin{tabb}
 Returns a \texttt{String} containing information about the current distribution.
 \end{tabb}\end{hide}

Overrides:
toString in class Object

SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.