Почему 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 тест «увереннее», эти два распределения различны. Но если размер выборки очень велик, какой смысл в таких тестах на подобие, как этот, и, скажем, в тесте Андерсона Дарлинга или в t-тесте, потому что в таких случаях, когда n очень велико, распределения всегда будут определяться как "значительно" отличается! Теперь мне интересно, что на самом деле точки р-значения. Это сильно зависит от размера выборки ... если p> 0,05 и вы хотите, чтобы он был ниже, просто получите больше данных; и если р <0,05, и вы хотите, чтобы оно было выше, просто удалите некоторые данные.
Кроме того, если бы эти два распределения были идентичны, статистика ks-теста была бы равна 0, а значение p равно 1. Но в моем примере при увеличении n статистика ks-теста предполагает, что распределения становятся все более и более похожими со временем (уменьшается) , но в соответствии с p-значением они становятся все больше и больше со временем (также уменьшается).