public class TDistribution extends AbstractRealDistribution
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy.
|
random, randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY
Constructor and Description |
---|
TDistribution(double degreesOfFreedom)
Create a t distribution using the given degrees of freedom.
|
TDistribution(double degreesOfFreedom,
double inverseCumAccuracy)
Create a t distribution using the given degrees of freedom and the
specified inverse cumulative probability absolute accuracy.
|
TDistribution(RandomGenerator rng,
double degreesOfFreedom)
Creates a t distribution.
|
TDistribution(RandomGenerator rng,
double degreesOfFreedom,
double inverseCumAccuracy)
Creates a t distribution.
|
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 |
getDegreesOfFreedom()
Access the degrees of freedom.
|
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.
|
protected double |
getSolverAbsoluteAccuracy()
Returns the solver absolute accuracy for inverse cumulative computation.
|
double |
getSupportLowerBound()
Access the lower bound of the support.
|
double |
getSupportUpperBound()
Access the upper bound of the support.
|
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.
|
double |
logDensity(double x)
Returns the natural logarithm of the probability density function (PDF) of this distribution
evaluated at the specified point
x . |
cumulativeProbability, inverseCumulativeProbability, probability, probability, reseedRandomGenerator, sample, sample
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
public TDistribution(double degreesOfFreedom) throws NotStrictlyPositiveException
degreesOfFreedom
- Degrees of freedom.NotStrictlyPositiveException
- if degreesOfFreedom <= 0
public TDistribution(double degreesOfFreedom, double inverseCumAccuracy) throws NotStrictlyPositiveException
degreesOfFreedom
- Degrees of freedom.inverseCumAccuracy
- the maximum absolute error in inverse
cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
).NotStrictlyPositiveException
- if degreesOfFreedom <= 0
public TDistribution(RandomGenerator rng, double degreesOfFreedom) throws NotStrictlyPositiveException
rng
- Random number generator.degreesOfFreedom
- Degrees of freedom.NotStrictlyPositiveException
- if degreesOfFreedom <= 0
public TDistribution(RandomGenerator rng, double degreesOfFreedom, double inverseCumAccuracy) throws NotStrictlyPositiveException
rng
- Random number generator.degreesOfFreedom
- Degrees of freedom.inverseCumAccuracy
- the maximum absolute error in inverse
cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
).NotStrictlyPositiveException
- if degreesOfFreedom <= 0
public double getDegreesOfFreedom()
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 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
protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractRealDistribution
public double getNumericalMean()
df
, the mean is
df > 1
then 0
,Double.NaN
).Double.NaN
if it is not definedpublic double getNumericalVariance()
df
, the variance is
df > 2
then df / (df - 2)
,1 < df <= 2
then positive infinity
(Double.POSITIVE_INFINITY
),Double.NaN
).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()
true
Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.