如何解释 Kolmogorov-Smirnov 检验的 p 值(python)?

机器算法验证 Python
2022-02-06 11:04:57

如果它们来自同一分布,我有两个我想测试的样本(使用 python)。为此,我使用 scipy.stats 中的统计函数 ks_2samp。它返回 2 个值,我发现如何解释它们很困难。请帮忙!

2个回答

正如 Stijn 所指出的,ks 检验返回一个 D 统计量和一个对应于 D 统计量的 p 值。D 统计量是两个样本的 CDF 之间的绝对最大距离(上)。这个数字越接近 0,这两个样本就越有可能来自相同的分布。查看 ks 测试的 Wikipedia 页面。它提供了一个很好的解释:https ://en.m.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test

ks 检验返回的 p 值与其他 p 值具有相同的解释。如果 p 值小于显着性水平,则拒绝两个样本来自同一分布的原假设。如果您对该过程感兴趣,可以在线找到将 D 统计量转换为 p 值的表格。

在 Google 搜索 ks_2samp 时,首先点击的是这个网站。在上面可以看到函数说明:

This is a two-sided test for the null hypothesis that 2 independent samples are drawn from the same continuous distribution.

Parameters : 
  a, b : sequence of 1-D ndarrays
  two arrays of sample observations assumed to be drawn from a continuous distribution, sample sizes can be different

Returns :   
  D : float,  KS statistic
  p-value : float, two-tailed p-value