public abstract class TDistribution extends Object
The probability density function of \( X \) is:
\[ f(x; v) = \frac{\Gamma(\frac{\nu+1}{2})} {\sqrt{\nu\pi}\,\Gamma(\frac{\nu}{2})} \left(1+\frac{t^2}{\nu} \right)^{\!-\frac{\nu+1}{2}} \]
for \( v > 0 \) the degrees of freedom, \( \Gamma \) is the gamma function, and \( x \in (-\infty, \infty) \).
ContinuousDistribution.Sampler| Modifier and Type | Method and Description | 
|---|---|
ContinuousDistribution.Sampler | 
createSampler(UniformRandomProvider rng)
Creates a sampler. 
 | 
double | 
getDegreesOfFreedom()
Gets the degrees of freedom parameter of this distribution. 
 | 
abstract double | 
getMean()
Gets the mean of this distribution. 
 | 
double | 
getSupportLowerBound()
Gets the lower bound of the support. 
 | 
double | 
getSupportUpperBound()
Gets the upper bound of the support. 
 | 
abstract double | 
getVariance()
Gets the variance of this distribution. 
 | 
double | 
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution. 
 | 
double | 
inverseSurvivalProbability(double p)
Computes the inverse survival probability function of this distribution. 
 | 
static TDistribution | 
of(double degreesOfFreedom)
Creates a Student's t-distribution. 
 | 
double | 
probability(double x0,
           double x1)
For a random variable  
X whose values are distributed according
 to this distribution, this method returns P(x0 < X <= x1). | 
double | 
survivalProbability(double x)
For a random variable  
X whose values are distributed according
 to this distribution, this method returns P(X > x). | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcumulativeProbability, density, logDensitypublic static TDistribution of(double degreesOfFreedom)
degreesOfFreedom - Degrees of freedom.IllegalArgumentException - if degreesOfFreedom <= 0public double getDegreesOfFreedom()
public double survivalProbability(double x)
X whose values are distributed according
 to this distribution, this method returns P(X > x).
 In other words, this method represents the complementary cumulative
 distribution function.
 By default, this is defined as 1 - cumulativeProbability(x), but
 the specific implementation may be more accurate.
x - Point at which the survival function is evaluated.x.public double inverseSurvivalProbability(double p)
X distributed according to this distribution, the
 returned value is:
 \[ x = \begin{cases} \inf \{ x \in \mathbb R : P(X \ge x) \le p\} & \text{for } 0 \le p \lt 1 \\ \inf \{ x \in \mathbb R : P(X \ge x) \lt 1 \} & \text{for } p = 1 \end{cases} \]
By default, this is defined as inverseCumulativeProbability(1 - p), but
 the specific implementation may be more accurate.
 
The default implementation returns:
ContinuousDistribution.getSupportLowerBound() for p = 1,ContinuousDistribution.getSupportUpperBound() for p = 0, orsurvivalProbability(x) - p.
     The bounds may be bracketed for efficiency.inverseSurvivalProbability in interface ContinuousDistributionp - Survival probability.(1-p)-quantile of this distribution
 (largest 0-quantile for p = 1).public abstract double getMean()
For degrees of freedom parameter \( v \), the mean is:
\[ \mathbb{E}[X] = \begin{cases} 0 & \text{for } v \gt 1 \\ \text{undefined} & \text{otherwise} \end{cases} \]
NaN if it is not defined.public abstract double getVariance()
For degrees of freedom parameter \( v \), the variance is:
\[ \operatorname{var}[X] = \begin{cases} \frac{v}{v - 2} & \text{for } v \gt 2 \\ \infty & \text{for } 1 \lt v \le 2 \\ \text{undefined} & \text{otherwise} \end{cases} \]
NaN if it is not defined.public double getSupportLowerBound()
inverseCumulativeProbability(0), i.e.
 \( \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \} \).
 The lower bound of the support is always negative infinity.
negative infinity.public double getSupportUpperBound()
inverseCumulativeProbability(1), i.e.
 \( \inf \{ x \in \mathbb R : P(X \le x) = 1 \} \).
 The upper bound of the support is always positive infinity.
positive infinity.public double probability(double x0, double x1)
X whose values are distributed according
 to this distribution, this method returns P(x0 < X <= x1).
 The default implementation uses the identity
 P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)probability in interface ContinuousDistributionx0 - Lower bound (exclusive).x1 - Upper bound (inclusive).x0 and x1,  excluding the lower
 and including the upper endpoint.public double inverseCumulativeProbability(double p)
X distributed according to this distribution, the
 returned value is:
 \[ x = \begin{cases} \inf \{ x \in \mathbb R : P(X \le x) \ge p\} & \text{for } 0 \lt p \le 1 \\ \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \} & \text{for } p = 0 \end{cases} \]
The default implementation returns:
ContinuousDistribution.getSupportLowerBound() for p = 0,ContinuousDistribution.getSupportUpperBound() for p = 1, orcumulativeProbability(x) - p.
     The bounds may be bracketed for efficiency.inverseCumulativeProbability in interface ContinuousDistributionp - Cumulative probability.p-quantile of this distribution
 (largest 0-quantile for p = 0).IllegalArgumentException - if p < 0 or p > 1public ContinuousDistribution.Sampler createSampler(UniformRandomProvider rng)
createSampler in interface ContinuousDistributionrng - Generator of uniformly distributed numbers.Copyright © 2018–2022 The Apache Software Foundation. All rights reserved.