|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math.stat.inference.ChiSquareTestImpl
public class ChiSquareTestImpl
Implements Chi-Square test statistics defined in the ChiSquareTest interface.
| Field Summary | |
|---|---|
private DistributionFactory |
distributionFactory
Cached DistributionFactory used to create ChiSquaredDistribution instances |
| Constructor Summary | |
|---|---|
ChiSquareTestImpl()
Construct a ChiSquareTestImpl |
|
| Method Summary | |
|---|---|
private void |
checkArray(long[][] in)
Checks to make sure that the input long[][] array is rectangular, has at least 2 rows and 2 columns, and has all non-negative entries, throwing IllegalArgumentException if any of these checks fail. |
double |
chiSquare(double[] expected,
long[] observed)
Computes the Chi-Square statistic comparing observed and expected
freqeuncy counts. |
double |
chiSquare(long[][] counts)
Computes the Chi-Square statistic associated with a chi-square test of independence based on the input counts
array, viewed as a two-way table. |
double |
chiSquareTest(double[] expected,
long[] observed)
Returns the observed significance level, or p-value, associated with a Chi-square goodness of fit test comparing the observed
frequency counts to those in the expected array. |
boolean |
chiSquareTest(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 level alpha. |
double |
chiSquareTest(long[][] counts)
Returns the observed significance level, or p-value, associated with a chi-square test of independence based on the input counts
array, viewed as a two-way table. |
boolean |
chiSquareTest(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 level alpha. |
protected DistributionFactory |
getDistributionFactory()
Gets a DistributionFactory to use in creating ChiSquaredDistribution instances. |
private boolean |
isNonNegative(long[] in)
Returns true iff all entries of the input array are >= 0. |
private boolean |
isNonNegative(long[][] in)
Returns true iff all entries of (all subarrays of) the input array are >= 0. |
private boolean |
isPositive(double[] in)
Returns true iff all entries of the input array are > 0. |
private boolean |
isRectangular(long[][] in)
Returns true iff input array is rectangular. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private DistributionFactory distributionFactory
| Constructor Detail |
|---|
public ChiSquareTestImpl()
| Method Detail |
|---|
public double chiSquare(double[] expected,
long[] observed)
throws java.lang.IllegalArgumentException
ChiSquareTestobserved and expected
freqeuncy 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:
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquare in interface ChiSquareTestobserved - array of observed frequency countsexpected - array of expected frequency counts
java.lang.IllegalArgumentException - if preconditions are not met
or length is less than 2
public double chiSquareTest(double[] expected,
long[] observed)
throws java.lang.IllegalArgumentException,
MathException
ChiSquareTestobserved
frequency counts to those in the expected array.
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:
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquareTest in interface ChiSquareTestobserved - array of observed frequency countsexpected - array of exptected frequency counts
java.lang.IllegalArgumentException - if preconditions are not met
MathException - if an error occurs computing the p-value
public boolean chiSquareTest(double[] expected,
long[] observed,
double alpha)
throws java.lang.IllegalArgumentException,
MathException
ChiSquareTestalpha. Returns true iff the null hypothesis can be rejected
with 100 * (1 - alpha) percent confidence.
Example:
To test the hypothesis that observed follows
expected at the 99% level, use
chiSquareTest(expected, observed, 0.01)
Preconditions:
0 < alpha < 0.5
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquareTest in interface ChiSquareTestobserved - array of observed frequency countsexpected - array of exptected frequency countsalpha - significance level of the test
java.lang.IllegalArgumentException - if preconditions are not met
MathException - if an error occurs performing the test
public double chiSquare(long[][] counts)
throws java.lang.IllegalArgumentException
ChiSquareTestcounts
array, viewed as a two-way table.
The rows of the 2-way table are count[0], ... , count[count.length - 1]
Preconditions:
counts must have at least 2 columns and
at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquare in interface ChiSquareTestcounts - array representation of 2-way table
java.lang.IllegalArgumentException - if preconditions are not met
public double chiSquareTest(long[][] counts)
throws java.lang.IllegalArgumentException,
MathException
ChiSquareTestcounts
array, viewed as a two-way table.
The rows of the 2-way table are count[0], ... , count[count.length - 1]
Preconditions:
counts must have at least 2 columns and
at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquareTest in interface ChiSquareTestcounts - array representation of 2-way table
java.lang.IllegalArgumentException - if preconditions are not met
MathException - if an error occurs computing the p-value
public boolean chiSquareTest(long[][] counts,
double alpha)
throws java.lang.IllegalArgumentException,
MathException
ChiSquareTestalpha. 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 in count[0], ... , count[count.length - 1]
all correspond to the same underlying probability distribution at the 99% level, use
chiSquareTest(counts, 0.01)
Preconditions:
counts must have at least 2 columns and
at least 2 rows.
If any of the preconditions are not met, an
IllegalArgumentException is thrown.
chiSquareTest in interface ChiSquareTestcounts - array representation of 2-way tablealpha - significance level of the test
java.lang.IllegalArgumentException - if preconditions are not met
MathException - if an error occurs performing the test
private void checkArray(long[][] in)
throws java.lang.IllegalArgumentException
in - input 2-way table to check
java.lang.IllegalArgumentException - if the array is not validprotected DistributionFactory getDistributionFactory()
private boolean isRectangular(long[][] in)
in - array to be tested
java.lang.NullPointerException - if input array is null
java.lang.ArrayIndexOutOfBoundsException - if input array is emptyprivate boolean isPositive(double[] in)
in - array to be tested
java.lang.NullPointerException - if input array is nullprivate boolean isNonNegative(long[] in)
in - array to be tested
java.lang.NullPointerException - if input array is nullprivate boolean isNonNegative(long[][] in)
in - array to be tested
java.lang.NullPointerException - if input array is null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||