Ary*_*yer 5 python statistics scipy
我有两个二维的数据集:(X1,Y1)和(X2,Y2)。我希望能够计算KS测试统计量,以确定这两个数据集的值是来自相同还是不同的分布。我之前使用过scipy.stats.ks_2samp,但这是比较一维中的两个数据集或两个样本的概率分布。但是,在这种情况下,我不拘泥于概率分布,而是两个样本的离散x和y值。在这种情况下,我如何继续在python中获取ks测试值?对于每个参数X1,Y1,X2和Y2,我都有单独的numpy数组。谢谢!
该笔记本提供了一个用于 2D KS 测试的 Python 实现,有 2 个样本。该
(断开的链接).py
文件可以在此处下载。代码看起来是C
代码的翻译,如果样本量很大,效率可能会出现问题。
该算法首先在两篇论文中提出
一个很好的介绍和C
实现可以在
出版社,WH 等人。1992 年,C 语言的数值配方,第 14.7 节,第 645 页。
C++/Fortran
您可以在本书的其他版本中找到实现。
这里有一篇标题为“Beware the Kolmogorov-Smirnov test”的文章也与该主题相关,您可能想看看。
我还使用 numpy 编写了一个 python 实现,它应该比引用的笔记本具有更好的性能。您可以在此处找到代码。
在任何申请之前,您最好将代码(无论使用哪一个)与原始论文/书籍一起检查。2d KS 测试的 python 实现比 numpy/scipy 中的其他约定测试要少得多。