public class WeibullDistribution extends AbstractRealDistribution
DEFAULT_SOLVER_ABSOLUTE_ACCURACY
Constructor and Description |
---|
WeibullDistribution(double alpha,
double beta)
Create a Weibull distribution with the given shape and scale.
|
Modifier and Type | Method and Description |
---|---|
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 . |
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.
|
double |
logDensity(double x)
Returns the natural logarithm of the probability density function
(PDF) of this distribution evaluated at the specified point
x . |
getSolverAbsoluteAccuracy, probability
public WeibullDistribution(double alpha, double beta) throws MathIllegalArgumentException
alpha
- Shape parameter.beta
- Scale parameter.MathIllegalArgumentException
- if alpha <= 0
or beta <= 0
.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 evaluatedx
public double logDensity(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. Note that
due to the floating point precision and under/overflow issues, this method will
for some distributions be more precise and faster than computing the logarithm of
RealDistribution.density(double)
.
The default implementation simply computes the logarithm of density(x)
.
logDensity
in interface RealDistribution
logDensity
in class AbstractRealDistribution
x
- the point at which the PDF is evaluatedx
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 evaluatedx
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 probabilityp
-quantile of this distribution
(largest 0-quantile for p = 0
)public double getNumericalMean()
scale * Gamma(1 + (1 / shape))
, where Gamma()
is the Gamma-function.Double.NaN
if it is not definedpublic 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 definedpublic 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 isSupportConnected()
true
Copyright © 2016–2020 Hipparchus.org. All rights reserved.