public class LevyDistribution extends AbstractRealDistribution
Modifier and Type | Field and Description |
---|---|
private double |
c
Scale parameter.
|
private double |
halfC
Half of c (for calculations).
|
private double |
mu
Location parameter.
|
private static long |
serialVersionUID
Serializable UID.
|
random, randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY
Constructor and Description |
---|
LevyDistribution(RandomGenerator rng,
double mu,
double c)
Creates a LevyDistribution.
|
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 |
getLocation()
Get the location parameter of the distribution.
|
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()
Get the scale parameter of the distribution.
|
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.
|
cumulativeProbability, getSolverAbsoluteAccuracy, probability, probability, reseedRandomGenerator, sample, sample
private static final long serialVersionUID
private final double mu
private final double c
private final double halfC
public LevyDistribution(RandomGenerator rng, double mu, double c)
rng
- random generator to be used for samplingmu
- locationc
- scale parameterpublic 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.
From Wikipedia: The probability density function of the Lévy distribution over the domain is
f(x; μ, c) = √(c / 2π) * e-c / 2 (x - μ) / (x - μ)3/2
For this distribution, X
, this method returns P(X < x)
.
If x
is less than location parameter μ, Double.NaN
is
returned, as in these cases the distribution is not defined.
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.
From Wikipedia: the cumulative distribution function is
f(x; u, c) = erfc (√ (c / 2 (x - u )))
x
- the point at which the CDF is evaluatedx
public double inverseCumulativeProbability(double p) throws OutOfRangeException
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
.inverseCumulativeProbability
in interface RealDistribution
inverseCumulativeProbability
in class AbstractRealDistribution
p
- the cumulative probabilityp
-quantile of this distribution
(largest 0-quantile for p = 0
)OutOfRangeException
- if p < 0
or p > 1
public double getScale()
public double getLocation()
public double getNumericalMean()
Double.NaN
if it is not definedpublic double getNumericalVariance()
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}
.
Double.NEGATIVE_INFINITY
)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()
Copyright (c) 2003-2013 Apache Software Foundation