Interface ChiSquareTest
-
- All Known Subinterfaces:
UnknownDistributionChiSquareTest
- All Known Implementing Classes:
ChiSquareTestImpl
public interface ChiSquareTestAn interface for Chi-Square tests.This interface handles only known distributions. If the distribution is unknown and should be provided by a sample, then the
UnknownDistributionChiSquareTestextended interface should be used instead.- Version:
- $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description doublechiSquare(double[] expected, long[] observed)doublechiSquare(long[][] counts)Computes the Chi-Square statistic associated with a chi-square test of independence based on the inputcountsarray, viewed as a two-way table.doublechiSquareTest(double[] expected, long[] observed)Returns the observed significance level, or p-value, associated with a Chi-square goodness of fit test comparing theobservedfrequency counts to those in theexpectedarray.booleanchiSquareTest(double[] expected, long[] observed, double alpha)Performs a Chi-square goodness of fit test evaluating the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts, with significance levelalpha.doublechiSquareTest(long[][] counts)Returns the observed significance level, or p-value, associated with a chi-square test of independence based on the inputcountsarray, viewed as a two-way table.booleanchiSquareTest(long[][] counts, double alpha)Performs a chi-square test of independence evaluating the null hypothesis that the classifications represented by the counts in the columns of the input 2-way table are independent of the rows, with significance levelalpha.
-
-
-
Method Detail
-
chiSquare
double chiSquare(double[] expected, long[] observed) throws java.lang.IllegalArgumentExceptionComputes the Chi-Square statistic comparingobservedandexpectedfrequency counts.This statistic can be used to perform a Chi-Square test evaluating the null hypothesis that the observed counts follow the expected distribution.
Preconditions:
- Expected counts must all be positive.
- Observed counts must all be >= 0.
- The observed and expected arrays must have the same length and their common length must be at least 2.
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
observed- array of observed frequency countsexpected- array of expected frequency counts- Returns:
- chiSquare statistic
- Throws:
java.lang.IllegalArgumentException- if preconditions are not met
-
chiSquareTest
double chiSquareTest(double[] expected, long[] observed) throws java.lang.IllegalArgumentException, MathExceptionReturns the observed significance level, or p-value, associated with a Chi-square goodness of fit test comparing theobservedfrequency counts to those in theexpectedarray.The number returned is the smallest significance level at which one can reject the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts.
Preconditions:
- Expected counts must all be positive.
- Observed counts must all be >= 0.
- The observed and expected arrays must have the same length and their common length must be at least 2.
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
observed- array of observed frequency countsexpected- array of expected frequency counts- Returns:
- p-value
- Throws:
java.lang.IllegalArgumentException- if preconditions are not metMathException- if an error occurs computing the p-value
-
chiSquareTest
boolean chiSquareTest(double[] expected, long[] observed, double alpha) throws java.lang.IllegalArgumentException, MathExceptionPerforms a Chi-square goodness of fit test evaluating the null hypothesis that the observed counts conform to the frequency distribution described by the expected counts, with significance levelalpha. Returns true iff the null hypothesis can be rejected with 100 * (1 - alpha) percent confidence.Example:
To test the hypothesis thatobservedfollowsexpectedat the 99% level, usechiSquareTest(expected, observed, 0.01)Preconditions:
- Expected counts must all be positive.
- Observed counts must all be >= 0.
- The observed and expected arrays must have the same length and their common length must be at least 2.
-
0 < alpha < 0.5
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
observed- array of observed frequency countsexpected- array of expected frequency countsalpha- significance level of the test- Returns:
- true iff null hypothesis can be rejected with confidence 1 - alpha
- Throws:
java.lang.IllegalArgumentException- if preconditions are not metMathException- if an error occurs performing the test
-
chiSquare
double chiSquare(long[][] counts) throws java.lang.IllegalArgumentExceptionComputes the Chi-Square statistic associated with a chi-square test of independence based on the inputcountsarray, viewed as a two-way table.The rows of the 2-way table are
count[0], ... , count[count.length - 1]Preconditions:
- All counts must be >= 0.
- The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
- The 2-way table represented by
countsmust have at least 2 columns and at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
counts- array representation of 2-way table- Returns:
- chiSquare statistic
- Throws:
java.lang.IllegalArgumentException- if preconditions are not met
-
chiSquareTest
double chiSquareTest(long[][] counts) throws java.lang.IllegalArgumentException, MathExceptionReturns the observed significance level, or p-value, associated with a chi-square test of independence based on the inputcountsarray, viewed as a two-way table.The rows of the 2-way table are
count[0], ... , count[count.length - 1]Preconditions:
- All counts must be >= 0.
- The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
- The 2-way table represented by
countsmust have at least 2 columns and at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
counts- array representation of 2-way table- Returns:
- p-value
- Throws:
java.lang.IllegalArgumentException- if preconditions are not metMathException- if an error occurs computing the p-value
-
chiSquareTest
boolean chiSquareTest(long[][] counts, double alpha) throws java.lang.IllegalArgumentException, MathExceptionPerforms a chi-square test of independence evaluating the null hypothesis that the classifications represented by the counts in the columns of the input 2-way table are independent of the rows, with significance levelalpha. Returns true iff the null hypothesis can be rejected with 100 * (1 - alpha) percent confidence.The rows of the 2-way table are
count[0], ... , count[count.length - 1]Example:
To test the null hypothesis that the counts incount[0], ... , count[count.length - 1]all correspond to the same underlying probability distribution at the 99% level, usechiSquareTest(counts, 0.01)Preconditions:
- All counts must be >= 0.
- The count array must be rectangular (i.e. all count[i] subarrays must have the same length).
- The 2-way table represented by
countsmust have at least 2 columns and at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentExceptionis thrown.- Parameters:
counts- array representation of 2-way tablealpha- significance level of the test- Returns:
- true iff null hypothesis can be rejected with confidence 1 - alpha
- Throws:
java.lang.IllegalArgumentException- if preconditions are not metMathException- if an error occurs performing the test
-
-