Class TDistribution.NormalTDistribution

  • All Implemented Interfaces:
    ContinuousDistribution
    Enclosing class:
    TDistribution

    private static class TDistribution.NormalTDistribution
    extends TDistribution
    Specialisation of the T-distribution used when there are infinite degrees of freedom. In this case the distribution matches a normal distribution. This is used when the variance is not different from 1.0.

    This delegates all methods to the standard normal distribution. Instances are allowed to provide access to the degrees of freedom used during construction.

    • Field Detail

      • STANDARD_NORMAL

        private static final NormalDistribution STANDARD_NORMAL
        A standard normal distribution used for calculations. This is immutable and thread-safe and can be used across instances.
    • Constructor Detail

      • NormalTDistribution

        NormalTDistribution​(double degreesOfFreedom)
        Parameters:
        degreesOfFreedom - Degrees of freedom.
    • Method Detail

      • density

        public double density​(double x)
        Description copied from interface: ContinuousDistribution
        Returns the probability density function (PDF) of this distribution evaluated at the specified point 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.
        Parameters:
        x - Point at which the PDF is evaluated.
        Returns:
        the value of the probability density function at x.
      • probability

        public double probability​(double x0,
                                  double x1)
        Description copied from class: AbstractContinuousDistribution
        For a random variable 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)
        Specified by:
        probability in interface ContinuousDistribution
        Overrides:
        probability in class AbstractContinuousDistribution
        Parameters:
        x0 - Lower bound (exclusive).
        x1 - Upper bound (inclusive).
        Returns:
        the probability that a random variable with this distribution takes a value between x0 and x1, excluding the lower and including the upper endpoint.
      • logDensity

        public double logDensity​(double x)
        Description copied from interface: ContinuousDistribution
        Returns the natural logarithm of the probability density function (PDF) of this distribution evaluated at the specified point x.
        Parameters:
        x - Point at which the PDF is evaluated.
        Returns:
        the logarithm of the value of the probability density function at x.
      • cumulativeProbability

        public double cumulativeProbability​(double x)
        Description copied from interface: ContinuousDistribution
        For a random variable 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.
        Parameters:
        x - Point at which the CDF is evaluated.
        Returns:
        the probability that a random variable with this distribution takes a value less than or equal to x.
      • getMean

        public double getMean()
        Description copied from class: TDistribution
        Gets the mean of this distribution.

        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} \]

        Specified by:
        getMean in interface ContinuousDistribution
        Specified by:
        getMean in class TDistribution
        Returns:
        the mean, or NaN if it is not defined.
      • getVariance

        public double getVariance()
        Description copied from class: TDistribution
        Gets the variance of this distribution.

        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} \]

        Specified by:
        getVariance in interface ContinuousDistribution
        Specified by:
        getVariance in class TDistribution
        Returns:
        the variance, or NaN if it is not defined.