|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.distribution.AbstractRealDistribution org.apache.commons.math3.distribution.WeibullDistribution
public class WeibullDistribution
Implementation of the Weibull distribution. This implementation uses the two parameter form of the distribution defined by Weibull Distribution, equations (1) and (2).
Field Summary | |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy. |
Fields inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
random, randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY |
Constructor Summary | |
---|---|
WeibullDistribution(double alpha,
double beta)
Create a Weibull distribution with the given shape and scale and a location equal to zero. |
|
WeibullDistribution(double alpha,
double beta,
double inverseCumAccuracy)
Create a Weibull distribution with the given shape, scale and inverse cumulative probability accuracy and a location equal to zero. |
|
WeibullDistribution(RandomGenerator rng,
double alpha,
double beta,
double inverseCumAccuracy)
Creates a Weibull distribution. |
Method Summary | |
---|---|
protected double |
calculateNumericalMean()
used by getNumericalMean() |
protected double |
calculateNumericalVariance()
used by getNumericalVariance() |
double |
cumulativeProbability(double x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
density(double x)
Returns the probability density function (PDF) of this distribution evaluated at the specified point x . |
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this distribution. |
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this distribution. |
double |
getScale()
Access the scale parameter, beta . |
double |
getShape()
Access the shape parameter, alpha . |
protected double |
getSolverAbsoluteAccuracy()
Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities. |
double |
getSupportLowerBound()
Access the lower bound of the support. |
double |
getSupportUpperBound()
Access the upper bound of the support. |
double |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution. |
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected, i.e. |
boolean |
isSupportLowerBoundInclusive()
Whether or not the lower bound of support is in the domain of the density function. |
boolean |
isSupportUpperBoundInclusive()
Whether or not the upper bound of support is in the domain of the density function. |
Methods inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
cumulativeProbability, probability, probability, reseedRandomGenerator, sample, sample |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Constructor Detail |
---|
public WeibullDistribution(double alpha, double beta) throws NotStrictlyPositiveException
alpha
- Shape parameter.beta
- Scale parameter.
NotStrictlyPositiveException
- if alpha <= 0
or
beta <= 0
.public WeibullDistribution(double alpha, double beta, double inverseCumAccuracy)
alpha
- Shape parameter.beta
- Scale parameter.inverseCumAccuracy
- Maximum absolute error in inverse
cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
).
NotStrictlyPositiveException
- if alpha <= 0
or
beta <= 0
.public WeibullDistribution(RandomGenerator rng, double alpha, double beta, double inverseCumAccuracy) throws NotStrictlyPositiveException
rng
- Random number generator.alpha
- Shape parameter.beta
- Scale parameter.inverseCumAccuracy
- Maximum absolute error in inverse
cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
).
NotStrictlyPositiveException
- if alpha <= 0
or
beta <= 0
.Method Detail |
---|
public double getShape()
alpha
.
alpha
.public double getScale()
beta
.
beta
.public double density(double x)
x
. In general, the PDF is
the derivative of the CDF
.
If the derivative does not exist at x
, then an appropriate
replacement should be returned, e.g. Double.POSITIVE_INFINITY
,
Double.NaN
, or the limit inferior or limit superior of the
difference quotient.
x
- the point at which the PDF is evaluated
x
public double cumulativeProbability(double x)
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
(CDF) for this distribution.
x
- the point at which the CDF is evaluated
x
public double inverseCumulativeProbability(double p)
X
distributed according to this distribution, the
returned value is
inf{x in R | P(X<=x) >= p}
for 0 < p <= 1
,inf{x in R | P(X<=x) > 0}
for p = 0
.RealDistribution.getSupportLowerBound()
for p = 0
,RealDistribution.getSupportUpperBound()
for p = 1
.0
when p == 0
and
Double.POSITIVE_INFINITY
when p == 1
.
inverseCumulativeProbability
in interface RealDistribution
inverseCumulativeProbability
in class AbstractRealDistribution
p
- the cumulative probability
p
-quantile of this distribution
(largest 0-quantile for p = 0
)protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractRealDistribution
public double getNumericalMean()
scale * Gamma(1 + (1 / shape))
, where Gamma()
is the Gamma-function.
Double.NaN
if it is not definedprotected double calculateNumericalMean()
getNumericalMean()
public double getNumericalVariance()
scale^2 * Gamma(1 + (2 / shape)) - mean^2
where Gamma()
is the Gamma-function.
Double.POSITIVE_INFINITY
as
for certain cases in TDistribution
) or Double.NaN
if it
is not definedprotected double calculateNumericalVariance()
getNumericalVariance()
public double getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in R | P(X <= x) > 0}
.
public double getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
Double.POSITIVE_INFINITY
)public boolean isSupportLowerBoundInclusive()
getSupporLowerBound()
is finite and
density(getSupportLowerBound())
returns a non-NaN, non-infinite
value.
public boolean isSupportUpperBoundInclusive()
getSupportUpperBound()
is finite and
density(getSupportUpperBound())
returns a non-NaN, non-infinite
value.
public boolean isSupportConnected()
true
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |