# Class Statistics

java.lang.Object
org.cicirello.math.stats.Statistics

public final class Statistics extends Object
Utility class of basic statistics.
• ## Method Summary

Modifier and Type
Method
Description
`static double`
```correlation(double[] X, double[] Y)```
Computes correlation coefficient for a pair of random variables.
`static double`
```correlation(int[] X, int[] Y)```
Computes correlation coefficient for a pair of random variables.
`static double[][]`
`correlationMatrix(double[][] data)`
Computes correlation matrix.
`static double[][]`
`correlationMatrix(int[][] data)`
Computes correlation matrix.
`static double`
```covariance(double[] X, double[] Y)```
Computes covariance for a pair of random variables.
`static double`
```covariance(int[] X, int[] Y)```
Computes covariance for a pair of random variables.
`static double`
`mean(double[] data)`
Computes mean of a dataset.
`static double`
`mean(int[] data)`
Computes mean of a dataset.
`static double`
```p(double t, int dof)```
Calculates a p-value from the t statistic and degrees of freedom from a t-test.
`static double`
`stdev(double[] data)`
Computes the sample standard deviation.
`static double`
`stdev(int[] data)`
Computes the sample standard deviation.
`static double`
```tTestUnequalVariances(double[] data1, double[] data2)```
Welch's t-test, also known as t-test with unequal variances.
`static double`
```tTestUnequalVariances(int[] data1, int[] data2)```
Welch's t-test, also known as t-test with unequal variances.
`static Number[]`
```tTestWelch(double[] data1, double[] data2)```
Welch's t-test, also known as t-test with unequal variances.
`static Number[]`
```tTestWelch(int[] data1, int[] data2)```
Welch's t-test, also known as t-test with unequal variances.
`static double`
`variance(double[] data)`
Computes variance of a population.
`static double`
`variance(int[] data)`
Computes variance of a population.
`static double`
`varianceSample(double[] data)`
Computes variance of a sample.
`static double`
`varianceSample(int[] data)`
Computes variance of a sample.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ## Method Details

• ### mean

public static double mean(int[] data)
Computes mean of a dataset.
Parameters:
`data` - The dataset.
Returns:
the mean of the data.
• ### mean

public static double mean(double[] data)
Computes mean of a dataset.
Parameters:
`data` - The dataset.
Returns:
the mean of the data.
• ### variance

public static double variance(int[] data)
Computes variance of a population.
Parameters:
`data` - The dataset.
Returns:
the variance of the data.
• ### variance

public static double variance(double[] data)
Computes variance of a population.
Parameters:
`data` - The dataset.
Returns:
the variance of the data.
• ### varianceSample

public static double varianceSample(int[] data)
Computes variance of a sample.
Parameters:
`data` - The dataset.
Returns:
the variance of the data.
• ### varianceSample

public static double varianceSample(double[] data)
Computes variance of a sample.
Parameters:
`data` - The dataset.
Returns:
the variance of the data.
• ### stdev

public static double stdev(int[] data)
Computes the sample standard deviation.
Parameters:
`data` - The dataset.
Returns:
the sample standard deviation.
• ### stdev

public static double stdev(double[] data)
Computes the sample standard deviation.
Parameters:
`data` - The dataset.
Returns:
the sample standard deviation.
• ### covariance

public static double covariance(int[] X, int[] Y)
Computes covariance for a pair of random variables.
Parameters:
`X` - Array of samples of first variable.
`Y` - Array of samples of second variable.
Returns:
the covariance of X and Y.
• ### covariance

public static double covariance(double[] X, double[] Y)
Computes covariance for a pair of random variables.
Parameters:
`X` - Array of samples of first variable.
`Y` - Array of samples of second variable.
Returns:
the covariance of X and Y.
• ### correlation

public static double correlation(int[] X, int[] Y)
Computes correlation coefficient for a pair of random variables.
Parameters:
`X` - Array of samples of first variable.
`Y` - Array of samples of second variable.
Returns:
the correlation coefficient of X and Y.
• ### correlation

public static double correlation(double[] X, double[] Y)
Computes correlation coefficient for a pair of random variables.
Parameters:
`X` - Array of samples of first variable.
`Y` - Array of samples of second variable.
Returns:
the correlation coefficient of X and Y.
• ### correlationMatrix

public static double[][] correlationMatrix(int[][] data)
Computes correlation matrix.
Parameters:
`data` - The data with random variables in rows and samples in columns.
Returns:
the correlation matrix, M, where M[i][j] is the correlation coefficient of data[i] and data[j].
• ### correlationMatrix

public static double[][] correlationMatrix(double[][] data)
Computes correlation matrix.
Parameters:
`data` - The data with random variables in rows and samples in columns.
Returns:
the correlation matrix, M, where M[i][j] is the correlation coefficient of data[i] and data[j].
• ### tTestUnequalVariances

public static double tTestUnequalVariances(double[] data1, double[] data2)
Welch's t-test, also known as t-test with unequal variances. The Welch's t-test can be used when variances are unequal and is also applicable if sample sizes differ.
Parameters:
`data1` - First dataset.
`data2` - Second dataset.
Returns:
The t statistic.
• ### tTestUnequalVariances

public static double tTestUnequalVariances(int[] data1, int[] data2)
Welch's t-test, also known as t-test with unequal variances. The Welch's t-test can be used when variances are unequal and is also applicable if sample sizes differ.
Parameters:
`data1` - First dataset.
`data2` - Second dataset.
Returns:
The t statistic.
• ### tTestWelch

public static Number[] tTestWelch(double[] data1, double[] data2)
Welch's t-test, also known as t-test with unequal variances. The Welch's t-test can be used when variances are unequal and is also applicable if sample sizes differ. This method computes both the t statistic, as well as the approximate degrees of freedom.
Parameters:
`data1` - First dataset.
`data2` - Second dataset.
Returns:
An array, a, of length 2 such that a[0] is the t statistic (as a Double object), and a[1] is the degrees of freedom (as an Integer object).
• ### tTestWelch

public static Number[] tTestWelch(int[] data1, int[] data2)
Welch's t-test, also known as t-test with unequal variances. The Welch's t-test can be used when variances are unequal and is also applicable if sample sizes differ. This method computes both the t statistic, as well as the approximate degrees of freedom.
Parameters:
`data1` - First dataset.
`data2` - Second dataset.
Returns:
An array, a, of length 2 such that a[0] is the t statistic (as a Double object), and a[1] is the degrees of freedom (as an Integer object).
• ### p

public static double p(double t, int dof)
Calculates a p-value from the t statistic and degrees of freedom from a t-test.
Parameters:
`t` - the t statistic
`dof` - the degrees of freedom
Returns:
p
Throws:
`ArithmeticException` - if the calculation of the incomplete beta function, required to compute p, fails to converge. The most likely cause if this occurs is excessively high degrees of freedom. However, this is highly unlikely to occur. Our testing has so far failed to cause this exception to occur even with dof as high as 10,000,000.