文章目录
KS检验
使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布
https://www.cnblogs.com/chaosimple/p/4090456.html
kstest方法直接用
from scipy import stats
# scipy包是一个高级的科学计算库,它和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算
data = [87,77,92,68,80,78,84,77,81,80,80,77,92,86,
76,80,81,75,77,72,81,72,84,86,80,68,77,87,
76,77,78,92,75,80,78]
# 样本数据,35位健康男性在未进食之前的血糖浓度
df = pd.DataFrame(data, columns =['value'])
u = df['value'].mean() # 计算均值
std = df['value'].std() # 计算标准差
stats.kstest(df['value'], 'norm', (u, std))
# .kstest方法:KS检验,参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差
# 结果返回两个值:statistic → D值,pvalue → P值
# p值大于0.05,为正态分布
此时,pvalue > 0.05,不拒绝原假设。因此上面的数据服从正态分布。且一般情况下, stats.kstest(df[‘value’], ‘norm’, (u, std))
一条语句就得到p值的结果。
参考: