二维 Kolmogorov-Smirnov

机器算法验证 多元分析 kolmogorov-smirnov 测试
2022-02-11 22:02:01

我想运行一些二维 Kolmogorov–Smironov 检验以确定二维分布是否与参考相匹配。

有没有我可以以相对简单的方式使用的包或应用程序?还是有其他更可取的算法?我只有基本的统计知识。

3个回答

Python 实现

我已经使用 numpy 编写了一个 python 实现。您可以在此处找到代码,您可以在代码中的文档字符串中找到更多信息。

这是另一个(不是我的)。本 Notebook为 2D KS 测试提供了一个 Python 实现,包含 2 个样本。.py文件可以在这里下载。该代码似乎是C代码的直接翻译,如果样本量很大,效率可能会成为问题。

但是,您最好在使用前检查原始论文/书籍的代码(无论是哪一个)。2d KS 测试的 python 实现比 R 中的检查少得多。

更多信息

该算法最初是在两篇论文中开发的(如我所见)

一个很好的介绍和C实现可以在

这里有一篇题为当心 Kolmogorov-Smirnov 测试也与该主题相关的帖子,您可能想看看。它鼓励使用重采样方法来评估给定 KS 距离的 p 值。

Justel、Pena 和 Zamar 在“拟合优度的多变量 Komogorov-Smirnov 检验”中描述了 Kolmogorov-Smirnov 检验的二维扩展@Procrastinator 的评论表明可能还有其他此类提议。

但是,我还没有看到一个具有简单实现的包。

根据您想要执行的操作,Tarn Duong 的 R ks 包中的 kde.test() 可能更有用。

你可能会发现这个 Matlab 代码很有用。

http://www.mathworks.com/matlabcentral/fileexchange/38617-two-dimensional-2d-paired-kolmogorov-smirnov-test