为什么 p 值和 ks 检验统计量会随着样本量的增加而减少?以这段 Python 代码为例:
import numpy as np
from scipy.stats import norm, ks_2samp
np.random.seed(0)
for n in [10, 100, 1000, 10000, 100000, 1000000]:
x = norm(0, 4).rvs(n)
y = norm(0, 4.1).rvs(n)
print ks_2samp(x, y)
结果是:
Ks_2sampResult(statistic=0.30000000000000004, pvalue=0.67507815371659508)
Ks_2sampResult(statistic=0.080000000000000071, pvalue=0.89375155241057247)
Ks_2sampResult(statistic=0.03499999999999992, pvalue=0.5654378910227662)
Ks_2sampResult(statistic=0.026599999999999957, pvalue=0.0016502962880920896)
Ks_2sampResult(statistic=0.0081200000000000161, pvalue=0.0027192461984023855)
Ks_2sampResult(statistic=0.0065240000000000853, pvalue=6.4573678008760032e-19)
直觉上我知道随着 n 的增长,测试“更加确定”这两个分布是不同的。但是如果样本量非常大,那么在诸如 Anderson Darling 检验或 t 检验之类的相似性检验中有什么意义,因为在这种情况下,当 n 非常大时,总是会发现分布是“显着”不同!?现在我想知道 p 值到底有什么意义。这在很大程度上取决于样本量...如果 p > 0.05 并且您希望它更低,则只需获取更多数据;如果 p < 0.05 并且您希望它更高,只需删除一些数据。
此外,如果两个分布相同,则 ks-test 统计量将为 0,p 值为 1。但在我的示例中,随着 n 的增加,ks-test 统计量表明分布随着时间变得越来越相似(减少) ,但根据 p 值,它们会随着时间的推移变得越来越不同(也越来越小)。