我试图测试数据是否遵循“正态”分布,但 kstest 没有按我预期的那样工作。Vy 使用normal
numpy 它“从正态(高斯)分布中抽取随机样本”。
from scipy.stats import kstest, norm
from numpy.random import seed, normal
seed(42)
data = normal(80, 6, 1000)
# data = norm.rvs(loc=80, scale=6, size=1000)
ksstat, p_value = kstest(data, "norm")
if p_value > 0.05:
print('it looks like Gaussian (fail to reject H0)')
else:
print('it doesnt looks like Gaussian (reject H0)')
我已经检查了两种生成正态分布的方法,numpy
但是scipy
这并没有给出这是一个正态分布的结果。
但是,通过转换(data - np.mean(data))/np.std(data)
我得到它是正态分布。
我在这里缺少什么?为什么它不直接与这个测试正常的结果?