如何在scipy.stats.anderson_ksamp中传递两个数据集?能否举例说明?
Anderson函数只需要一个参数,而且这个参数应该是一个一维数组。所以我在想,怎么才能把两个不同的数组传进去进行比较呢?谢谢!
1 个回答
9
把所有的组放到一个 list
里(在这个例子中可以是两个数组或者四个数组),然后把这个列表传给 scipy.stats.anderson_ksamp
。
In [12]:
import scipy.stats as ss
#data from From the example given by Scholz and Stephens (1987, p.922)
x1=[38.7, 41.5, 43.8, 44.5, 45.5, 46.0, 47.7, 58.0]
x2=[39.2, 39.3, 39.7, 41.4, 41.8, 42.9, 43.3, 45.8]
x3=[34.0, 35.0, 39.0, 40.0, 43.0, 43.0, 44.0, 45.0]
x4=[34.0, 34.8, 34.8, 35.4, 37.2, 37.8, 41.2, 42.8]
ss.anderson_ksamp([x1,x2,x3,x4])
Out[12]:
(4.4797806271353506,
array([ 0.49854918, 1.3236709 , 1.91577682, 2.49304213, 3.24593219]),
0.0020491057074350956)
这个函数会返回三个值,1:标准化的 k 样本 Anderson-Darling 检验统计量;2:不同显著性水平(25%、10%、5%、2.5%、1%)的临界值;3:p 值。
在这个例子中,p 值是 0.002,这意味着我们可以得出结论,样本来自不同的总体。