我正在使用 Apache Commons lib使用 ChiSquareTest 计算 p 值:
我使用方法 chiSquareTest(double[] expected, long[] observed);但是我得到的值对我来说没有意义。所以我尝试了很多 ChiSquare Online Calculators 来找出这个函数计算的内容。
一个例子:
- 第 1 组:{25,25}
- 第 2 组:{30,20}
- (摘自维基百科,德国卡方检验文章)
P-值来自: http://www.quantpsy.org/chisq/chisq.htm和 http://vassarstats.net/newcs.html
P = 0.3149 and 0.31490284
0.42154642 and 0.4201
(with and without Yates Correction)
Apache Commons: 0.1489146731787664
代码:
ChiSquareTest tester = new ChiSquareTest();
long[] b = {25,25};
double[] a = {30,20};
tester.chiSquareTest(a,b);
我不明白的另一件事是需要有一个 long 和一个 double 数组。为什么不是两个长数组?
最佳答案
库中有两个函数:
- chiSquareTest(double[] 预期,long[] 观察)
- chiSquareTest(long[][] 值)
第一个(我在上面的问题中使用过)计算拟合优度。但我预料到了第二个的结果,即独立性测试。
答案是在 Apache Commons 用户邮件列表上给我的,一旦它存在,我将添加一个指向存档的链接。但它也写在 JavaDoc 中。
关于java - Apache 公地 : Weird results from ChiSquareTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333243/