语境
我正在使用scipy's
ks_samp来应用 Kolmogorov-Smirnov-test。
我使用的数据是双重的:
- 我有一个数据集
d1
,它是应用于机器学习模型预测的评估指标m1
(即MASE - Mean Average Scaled Error)。这些大约是 6.000 个数据点,这意味着使用 6.000 个预测的 MASE 结果m1
。 - 我的第二个数据集与我使用的第二个模型的差异
d2
类似,与.d1
m2
m1
两个数据集的分布如下:
可以看出,分布看起来非常相似。我想通过 Kolmogorov-Smirnov 检验来强调这一事实。但是,我应用的结果k2_samp
表明相反:
from scipy.stats import ks_2samp
k2_samp(d1, d2)
# Ks_2sampResult(statistic=0.04779414731236298, pvalue=3.8802872942682265e-10)
据我了解,这样的 pvalue 表明分布不同(拒绝 H0)。但从图像上可以看出,它绝对应该。
问题
- 我是否误解了 Kolmogorov-Smirnov 的用法,并且此测试不适用于用例/分发类型?
- 如果第一个可以回答是,我还有什么选择?
编辑
下面是叠加图。从交叉验证的答案和评论中得出结论,我认为“中间”的分歧可能是原因,因为 KS 在那里很敏感。