在Python中,使用Kolmogorov-Smirnov检验(Kolmogorov-Smirnov test)来评估拟合优度是一种非参数检验方法,它可以用来比较两个样本的累积分布函数(CDF)或检验单个样本是否符合理论分布。
scipy.stats
进行Kolmogorov-Smirnov检验Python的scipy.stats
模块提供了kstest
函数,可以方便地进行Kolmogorov-Smirnov检验。
假设我们有一组数据,我们想检验这组数据是否符合正态分布。
import numpy as np
from scipy.stats import kstest, norm
# 生成一些数据
data = np.random.normal(loc=0, scale=1, size=1000)
# 进行Kolmogorov-Smirnov检验
# 'norm'表示理论分布为正态分布,args=(0, 1)表示正态分布的参数(均值和标准差)
statistic, p_value = kstest(data, 'norm', args=(0, 1))
print(f"KS统计量: {statistic}")
print(f"P值: {p_value}")
假设我们有两个样本,我们想检验它们的分布是否相同。
import numpy as np
from scipy.stats import kstest
# 生成两个样本
sample1 = np.random.normal(loc=0, scale=1, size=1000)
sample2 = np.random.normal(loc=1, scale=1, size=1000)
# 进行Kolmogorov-Smirnov检验
statistic, p_value = kstest(sample1, sample2)
print(f"KS统计量: {statistic}")
print(f"P值: {p_value}")
通过以上步骤,你可以使用Python中的scipy.stats
模块进行Kolmogorov-Smirnov检验,评估拟合优度或比较两个样本的分布。
领取专属 10元无门槛券
手把手带您无忧上云