Scipy的Kolmogorov–Smirnov检验输出

0 投票
1 回答
869 浏览
提问于 2025-04-18 16:51

我在Python中调用了KS检验函数,用来比较两个特征:大小和持续时间,但我对输出结果有点迷糊,不知道怎么解释。以下是我的代码:

from scipy.stats import ks_2samp
import csv

ds1=getColumn("TraceBG.csv",5)
ds2=getColumn("TraceFG.csv",5)
ds11=getColumn("TraceBG.csv",6)
ds12=getColumn("TraceFG.csv",6)

print "size: | ",ks_2samp(ds1,ds2)
print "duration: | ",ks_2samp(ds11,ds12)

我得到了这样的输出:

大小: | (0.25583333333333336, 0.0039023335557401583)

持续时间: | (0.11504409325067666, 0.092596990959821421)

我从scipy的KS检验网页上知道,第一个值是统计量,第二个值是p值。但是我该怎么具体解释这些值,来判断哪个特征更好呢?

1 个回答

1

KS检验是和一个假设有关的:被比较的两个组是从同一个总体中抽取出来的。

如果这个假设成立,那么p值就是在抽样的组之间观察到特定差异的概率。

对于大小来说,观察到的差异在0.3%的抽样中是可以预期的。

而对于持续时间,这种差异大约在9%的情况下会出现。

那么,哪个特征更好呢?如果任务是要区分两个不同的群体,大小可能会更有效。

撰写回答