Class TTest

java.lang.Object
smile.stat.hypothesis.TTest

public class TTest extends Object
Student's t test. A t-test is any statistical hypothesis test in which the test statistic has a Student's t distribution if the null hypothesis is true. It is applied when the population is assumed to be normally distributed but the sample sizes are small enough that the statistic on which inference is based is not normally distributed because it relies on an uncertain estimate of standard deviation rather than on a precisely known value.

Among the most frequently used t tests are:

  • A test of whether the mean of a normally distributed population has a value specified in a null hypothesis.
  • A test of the null hypothesis that the means of two normally distributed populations are equal. Given two data sets, each characterized by its mean, standard deviation and number of data points, we can use some kind of t test to determine whether the means are distinct, provided that the underlying distributions can be assumed to be normal. All such tests are usually called Student's t tests, though strictly speaking that name should only be used if the variances of the two populations are also assumed to be equal; the form of the test used when this assumption is dropped is sometimes called Welch's t test. There are different versions of the t test depending on whether the two samples are
    • unpaired, independent of each other (e.g., individuals randomly assigned into two groups, measured after an intervention and compared with the other group),
    • or paired, so that each member of one sample has a unique relationship with a particular member of the other sample (e.g., the same people measured before and after an intervention).
    If the calculated p-value is below the threshold chosen for statistical significance (usually 0.05 or 0.01 level), then the null hypothesis which usually states that the two groups do not differ is rejected in favor of an alternative hypothesis, which typically states that the groups do differ.
  • A test of whether the slope of a regression line differs significantly from 0.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final double
    The degree of freedom of t-statistic.
    final String
    The type of test.
    final double
    p-value.
    final double
    t-statistic.
  • Constructor Summary

    Constructors
    Constructor
    Description
    TTest(String method, double t, double df, double pvalue)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    static TTest
    test(double[] x, double mean)
    Independent one-sample t-test whether the mean of a normally distributed population has a value specified in a null hypothesis.
    static TTest
    test(double[] x, double[] y)
    Test if the arrays x and y have significantly different means.
    static TTest
    test(double[] x, double[] y, boolean equalVariance)
    Test if the arrays x and y have significantly different means.
    static TTest
    test(double r, int df)
    Test whether the Pearson correlation coefficient, the slope of a regression line, differs significantly from 0.
    static TTest
    testPaired(double[] x, double[] y)
    Given the paired arrays x and y, test if they have significantly different means.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • method

      public final String method
      The type of test.
    • df

      public final double df
      The degree of freedom of t-statistic.
    • t

      public final double t
      t-statistic.
    • pvalue

      public final double pvalue
      p-value.
  • Constructor Details

    • TTest

      public TTest(String method, double t, double df, double pvalue)
      Constructor.
      Parameters:
      method - the type of test.
      t - the t-statistic.
      df - the degree of freedom.
      pvalue - the p-value.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • test

      public static TTest test(double[] x, double mean)
      Independent one-sample t-test whether the mean of a normally distributed population has a value specified in a null hypothesis. Small values of p-value indicate that the array has significantly different mean.
      Parameters:
      x - the sample values.
      mean - the mean.
      Returns:
      the test results.
    • test

      public static TTest test(double[] x, double[] y)
      Test if the arrays x and y have significantly different means. The data arrays are assumed to be drawn from populations with unequal variances. Small values of p-value indicate that the two arrays have significantly different means.
      Parameters:
      x - the sample values.
      y - the sample values.
      Returns:
      the test results.
    • test

      public static TTest test(double[] x, double[] y, boolean equalVariance)
      Test if the arrays x and y have significantly different means. Small values of p-value indicate that the two arrays have significantly different means.
      Parameters:
      x - the sample values.
      y - the sample values.
      equalVariance - true if the data arrays are assumed to be drawn from populations with the same true variance. Otherwise, The data arrays are allowed to be drawn from populations with unequal variances.
      Returns:
      the test results.
    • testPaired

      public static TTest testPaired(double[] x, double[] y)
      Given the paired arrays x and y, test if they have significantly different means. Small values of p-value indicate that the two arrays have significantly different means.
      Parameters:
      x - the sample values.
      y - the sample values.
      Returns:
      the test results.
    • test

      public static TTest test(double r, int df)
      Test whether the Pearson correlation coefficient, the slope of a regression line, differs significantly from 0. Small values of p-value indicate a significant correlation.
      Parameters:
      r - the Pearson correlation coefficient.
      df - the degree of freedom. df = n - 2, where n is the number of samples used in the calculation of r.
      Returns:
      the test results.