Scipy的Kolmogorov–Smirnov检验输出
我在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%的情况下会出现。
那么,哪个特征更好呢?如果任务是要区分两个不同的群体,大小可能会更有效。