Package jdistlib

Class NonCentralT


public class NonCentralT extends GenericDistribution
  • Field Details

    • df

      protected double df
    • ncp

      protected double ncp
  • Constructor Details

    • NonCentralT

      public NonCentralT(double df, double ncp)
  • Method Details

    • density

      public static final double density(double x, double df, double ncp, boolean give_log)
          From Johnson, Kotz and Balakrishnan (1995) [2nd ed.; formula (31.15), p.516],
          the non-central t density is
      
            f(x, df, ncp) =
                  df^(df/2) * exp(-.5*ncp^2) /
                  (sqrt(pi)*gamma(df/2)*(df+x^2)^((df+1)/2)) *
                  sum_{k=0}^Inf  gamma((df + k + df)/2)*ncp^k /
                                  prod(1:k)*(2*x^2/(df+x^2))^(k/2)
      
      
          The functional relationship
      
                 f(x, df, ncp) = df/x *
                                    (F(sqrt((df+2)/df)*x, df+2, ncp) - F(x, df, ncp))
      
          is used to evaluate the density at x != 0 and
      
                 f(0, df, ncp) = exp(-.5*ncp^2) /
                                      (sqrt(pi)*sqrt(df)*gamma(df/2))*gamma((df+1)/2)
      
          is used for x=0.
      
          All calculations are done on log-scale to increase stability.
       
    • cumulative

      public static final double cumulative(double t, double df, double ncp, boolean lower_tail, boolean log_p)
    • quantile

      public static final double quantile(double p, double df, double ncp, boolean lower_tail, boolean log_p)
    • random

      public static final double random(double df, double ncp, RandomEngine random)
    • random

      public static final double[] random(int n, double df, double ncp, RandomEngine random)
    • density

      public double density(double x, boolean log)
      Specified by:
      density in class GenericDistribution
    • cumulative

      public double cumulative(double p, boolean lower_tail, boolean log_p)
      Specified by:
      cumulative in class GenericDistribution
    • quantile

      public double quantile(double q, boolean lower_tail, boolean log_p)
      Specified by:
      quantile in class GenericDistribution
    • random

      public double random()
      Specified by:
      random in class GenericDistribution