本次的正态分布检验的数据描述为What’s Normal? – Temperature, Gender, and Heart Rate中的数据,其中数据源中包含体温、性别和心率三个数据。这次我们选择文章中的一个问题来实现,即样本的中的体温是否符合正态分布。
正态性检验通过样本数据来判断总体是否服从正态分布的检验称为正态性检验。
以下的数据为了方便起见,data.txt中只包含了体温一列。
1、通过直方图初步判断样本数据是否符合正态分布 import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdatas = pd.read_table(r'D:normal_testdata.txt', encoding='utf-8',names = ['Temperature'])fig = plt.figure(figsize = (10,6))ax2 = fig.add_subplot(1,1,1)datas.hist(bins=50,ax = ax2)datas.plot(kind = 'kde', secondary_y=True,ax = ax2)plt.grid()plt.show()输出结果如下图
从输出结果图可以看出直方图呈现出很明显的正态分布特性。
输出结果为:
KstestResult(statistic=0.06472685044046644, pvalue=0.645030731743997)从输出结果来看pvalue为0.645,大于0.05,因此可以接受体温符合正态分布的假设。
总结以上两种检验方法的输出结果说明样本的体温数据符合正态分布。
参考文献What’s Normal? – Temperature, Gender, and Heart Rate
测试数据集
数据分析之正态分布检验及python实现
极速赛车买前5名的方法ture'].std() # 计算标准差# kstest方法中的参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差# 返回两个值:statistic → D值,pvalue → P值# 当p值大于0.05,说明待检验的数据符合为正态分布result = stats.kstest(df['Temperature'], 'norm', (u, std))print(result)输出结果为:
KstestResult(statistic=0.06472685044046644, pvalue=0.645030731743997)从输出结果来看pvalue为0.645,大于0.05,因此可以接受体温符合正态分布的假设。
总结以上两种检验方法的输出结果说明样本的体温数据符合正态分布。
参考文献What’s Normal? – Temperature, Gender, and Heart Rate
测试数据集
数据分析之正态分布检验及python实现