View Javadoc

1   /*
2    * Copyright 2005 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.commons.math.stat.inference;
17  
18  import org.apache.commons.math.MathException;
19  import org.apache.commons.math.stat.descriptive.StatisticalSummary;
20  
21  /**
22   * A collection of static methods to create inference test instances or to
23   * perform inference tests.
24   *
25   * @since 1.1
26   * @version $Revision: 209144 $ $Date: 2005-07-04 16:30:05 -0700 (Mon, 04 Jul 2005) $ 
27   */
28  public class TestUtils  {
29      /**
30       * Prevent instantiation.
31       */
32      protected TestUtils() {
33          super();
34      }
35      
36      /** Singleton TTest instance initialized using configured factory */
37      private static TTest tTest = TestFactory.newInstance().createTTest();
38     
39      /** Singleton ChiSquareTest instance initialized using configured factory */
40      private static ChiSquareTest chiSquareTest = 
41          TestFactory.newInstance().createChiSquareTest();
42      
43      /**
44       * Return a (singleton) TTest instance.  Does not create a new instance.
45       * 
46       * @return a TTest instance
47       */
48      public static TTest getTTest() {
49          return tTest;
50      }
51      
52      /**
53       * Return a (singleton) ChiSquareTest instance.  Does not create a new instance.
54       * 
55       * @return a ChiSquareTest instance
56       */
57      public static ChiSquareTest getChiSquareTest() {
58          return chiSquareTest;
59      }
60      
61      /**
62       * @see org.apache.commons.math.stat.inference.TTest#homoscedasticT(double[], double[])
63       */
64      public static double homoscedasticT(double[] sample1, double[] sample2)
65          throws IllegalArgumentException {
66          return tTest.homoscedasticT(sample1, sample2);
67      }
68  
69      /**
70       * @see org.apache.commons.math.stat.inference.TTest#homoscedasticT(org.apache.commons.math.stat.descriptive.StatisticalSummary, org.apache.commons.math.stat.descriptive.StatisticalSummary)
71       */
72      public static double homoscedasticT(StatisticalSummary sampleStats1,
73          StatisticalSummary sampleStats2)
74          throws IllegalArgumentException {
75          return tTest.homoscedasticT(sampleStats1, sampleStats2);
76      }
77  
78      /**
79       * @see org.apache.commons.math.stat.inference.TTest#homoscedasticTTest(double[], double[], double)
80       */
81      public static boolean homoscedasticTTest(double[] sample1, double[] sample2,
82              double alpha)
83          throws IllegalArgumentException, MathException {
84          return tTest. homoscedasticTTest(sample1, sample2, alpha);
85      }
86  
87      /**
88       * @see org.apache.commons.math.stat.inference.TTest#homoscedasticTTest(double[], double[])
89       */
90      public static double homoscedasticTTest(double[] sample1, double[] sample2)
91          throws IllegalArgumentException, MathException {
92          return tTest.homoscedasticTTest(sample1, sample2);
93      }
94  
95      /**
96       * @see org.apache.commons.math.stat.inference.TTest#homoscedasticTTest(org.apache.commons.math.stat.descriptive.StatisticalSummary, org.apache.commons.math.stat.descriptive.StatisticalSummary)
97       */
98      public static double homoscedasticTTest(StatisticalSummary sampleStats1,
99          StatisticalSummary sampleStats2)
100         throws IllegalArgumentException, MathException {
101         return tTest.homoscedasticTTest(sampleStats1, sampleStats2);
102     }
103 
104     /**
105      * @see org.apache.commons.math.stat.inference.TTest#pairedT(double[], double[])
106      */
107     public static double pairedT(double[] sample1, double[] sample2)
108         throws IllegalArgumentException, MathException {
109         return tTest.pairedT(sample1, sample2);
110     }
111 
112     /**
113      * @see org.apache.commons.math.stat.inference.TTest#pairedTTest(double[], double[], double)
114      */
115     public static boolean pairedTTest(double[] sample1, double[] sample2,
116         double alpha)
117         throws IllegalArgumentException, MathException {
118         return tTest.pairedTTest(sample1, sample2, alpha);
119     }
120 
121     /**
122      * @see org.apache.commons.math.stat.inference.TTest#pairedTTest(double[], double[])
123      */
124     public static double pairedTTest(double[] sample1, double[] sample2)
125         throws IllegalArgumentException, MathException {
126         return tTest.pairedTTest(sample1, sample2);
127     }
128 
129     /**
130      * @see org.apache.commons.math.stat.inference.TTest#t(double, double[])
131      */
132     public static double t(double mu, double[] observed)
133         throws IllegalArgumentException {
134         return tTest.t(mu, observed);
135     }
136 
137     /**
138      * @see org.apache.commons.math.stat.inference.TTest#t(double, org.apache.commons.math.stat.descriptive.StatisticalSummary)
139      */
140     public static double t(double mu, StatisticalSummary sampleStats)
141         throws IllegalArgumentException {
142         return tTest.t(mu, sampleStats);
143     }
144 
145     /**
146      * @see org.apache.commons.math.stat.inference.TTest#t(double[], double[])
147      */
148     public static double t(double[] sample1, double[] sample2)
149         throws IllegalArgumentException {
150         return tTest.t(sample1, sample2);
151     }
152 
153     /**
154      * @see org.apache.commons.math.stat.inference.TTest#t(org.apache.commons.math.stat.descriptive.StatisticalSummary, org.apache.commons.math.stat.descriptive.StatisticalSummary)
155      */
156     public static double t(StatisticalSummary sampleStats1,
157             StatisticalSummary sampleStats2)
158         throws IllegalArgumentException {
159         return tTest.t(sampleStats1, sampleStats2);
160     }
161 
162     /**
163      * @see org.apache.commons.math.stat.inference.TTest#tTest(double, double[], double)
164      */
165     public static boolean tTest(double mu, double[] sample, double alpha)
166         throws IllegalArgumentException, MathException {
167         return tTest.tTest(mu, sample, alpha);
168     }
169 
170     /**
171      * @see org.apache.commons.math.stat.inference.TTest#tTest(double, double[])
172      */
173     public static double tTest(double mu, double[] sample)
174         throws IllegalArgumentException, MathException {
175         return tTest.tTest(mu, sample);
176     }
177 
178     /**
179      * @see org.apache.commons.math.stat.inference.TTest#tTest(double, org.apache.commons.math.stat.descriptive.StatisticalSummary, double)
180      */
181     public static boolean tTest(double mu, StatisticalSummary sampleStats,
182         double alpha)
183         throws IllegalArgumentException, MathException {
184         return tTest. tTest(mu, sampleStats, alpha);
185     }
186 
187     /**
188      * @see org.apache.commons.math.stat.inference.TTest#tTest(double, org.apache.commons.math.stat.descriptive.StatisticalSummary)
189      */
190     public static double tTest(double mu, StatisticalSummary sampleStats)
191         throws IllegalArgumentException, MathException {
192         return tTest.tTest(mu, sampleStats);
193     }
194 
195     /**
196      * @see org.apache.commons.math.stat.inference.TTest#tTest(double[], double[], double)
197      */
198     public static boolean tTest(double[] sample1, double[] sample2, double alpha)
199         throws IllegalArgumentException, MathException {
200         return tTest.tTest(sample1, sample2, alpha);
201     }
202 
203     /**
204      * @see org.apache.commons.math.stat.inference.TTest#tTest(double[], double[])
205      */
206     public static double tTest(double[] sample1, double[] sample2)
207         throws IllegalArgumentException, MathException {
208         return tTest.tTest(sample1, sample2);
209     }
210 
211     /**
212      * @see org.apache.commons.math.stat.inference.TTest#tTest(org.apache.commons.math.stat.descriptive.StatisticalSummary, org.apache.commons.math.stat.descriptive.StatisticalSummary, double)
213      */
214     public static boolean tTest(StatisticalSummary sampleStats1,
215         StatisticalSummary sampleStats2, double alpha)
216         throws IllegalArgumentException, MathException {
217         return tTest. tTest(sampleStats1, sampleStats2, alpha);
218     }
219 
220     /**
221      * @see org.apache.commons.math.stat.inference.TTest#tTest(org.apache.commons.math.stat.descriptive.StatisticalSummary, org.apache.commons.math.stat.descriptive.StatisticalSummary)
222      */
223     public static double tTest(StatisticalSummary sampleStats1,
224         StatisticalSummary sampleStats2)
225         throws IllegalArgumentException, MathException {
226         return tTest.tTest(sampleStats1, sampleStats2);
227     }
228 
229     /**
230      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquare(double[], long[])
231      */
232     public static double chiSquare(double[] expected, long[] observed)
233         throws IllegalArgumentException {
234         return chiSquareTest.chiSquare(expected, observed);
235     }
236 
237     /**
238      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquare(long[][])
239      */
240     public static double chiSquare(long[][] counts) 
241         throws IllegalArgumentException {
242         return chiSquareTest.chiSquare(counts);
243     }
244 
245     /**
246      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquareTest(double[], long[], double)
247      */
248     public static boolean chiSquareTest(double[] expected, long[] observed,
249         double alpha)
250         throws IllegalArgumentException, MathException {
251         return chiSquareTest.chiSquareTest(expected, observed, alpha);
252     }
253 
254     /**
255      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquareTest(double[], long[])
256      */
257     public static double chiSquareTest(double[] expected, long[] observed)
258         throws IllegalArgumentException, MathException {
259         return chiSquareTest.chiSquareTest(expected, observed);
260     }
261 
262     /**
263      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquareTest(long[][], double)
264      */
265     public static boolean chiSquareTest(long[][] counts, double alpha)
266         throws IllegalArgumentException, MathException {
267         return chiSquareTest. chiSquareTest(counts, alpha);
268     }
269 
270     /**
271      * @see org.apache.commons.math.stat.inference.ChiSquareTest#chiSquareTest(long[][])
272      */
273     public static double chiSquareTest(long[][] counts)
274         throws IllegalArgumentException, MathException {
275         return chiSquareTest. chiSquareTest(counts);
276     }
277 
278 }