假设检验实践

做~自己de王妃 提交于 2020-01-20 10:10:44

1、人体体温的总体均值是否为98.6华氏度?
2、人体的温度是否服从正态分布?
3、人体体温中存在的异常数据是哪些?
4、男女体温是否存在明显差异?
5、体温与心率间的相关性(强?弱?中等?)
数据源:https://pan.baidu.com/s/1mcq3d1V9bqzNftcseLEqbQ

1、

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sn
data = pd.read_excel("C:\\Users\\xiongwei\\Desktop\\eight1.xlsx")

#体温的总体均值是否为98.6华氏度?
#这问题就是一双侧检验问题,H0:μ=98.6 H1≠98.6
Temperature_mean = np.mean(data['Temperature'])
Temperature_std = np.std(data['Temperature'],ddof=1)
Temperature_intveral = stats.norm.interval(0.95,Temperature_mean,Temperature_std)
print(Temperature_intveral)

输出的结果为
在这里插入图片描述
98.6刚刚好落在置信区间内,所以我们可以相信总体均值为98.6华氏度,置信水平为0.95

2、

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

sn.distplot(data['Temperature'],hist=True,kde=True)
plt.show()
print(stats.normaltest(data['Temperature']))

在这里插入图片描述
在这里插入图片描述
P值为0.25>0.05所以我们判定人体的体温分布符合正态分布

3、

lower_point = Temperature_mean - (Temperature_std*3)
high_point = Temperature_mean + (Temperature_std*3)

print(data[data['Temperature']<lower_point])
print(data[data['Temperature']>high_point])

输出的异常结果如下:
在这里插入图片描述

4、

#两个总体均值之差的假设检验问题
#H0 男女体温没有明显差异
#H1 男女体温有明显差异
male_Temperature = data.loc[data['Gender'] == 1]
female_Temperature = data.loc[data['Gender'] == 2]
print("男性的数量%d"%len(male_Temperature))
print("女性的数量%d"%len(female_Temperature))
#不确定两总体方差是否相等时,应先利用levene检验,检验两总体是否具有方差齐性。
#如果返回结果的p值远大于0.05,那么我们认为两总体具有方差齐性。
#如果两总体不具有方差齐性,需要加上参数equal_val并设定为False。
levene=stats.levene(male_Temperature['Temperature'],female_Temperature['Temperature'])
print(levene)

sex_Temperature=stats.ttest_ind(male_Temperature['Temperature'],female_Temperature['Temperature'],equal_var=False)
print(sex_Temperature)
#p值小于0.05拒绝原假设,男女体温存在明显差异

在这里插入图片描述

5、

#Q5体温与心率间的相关性(强?弱?中等?) p值表示出现极端值的概率
T_H_pearsonr=stats.pearsonr(data['Temperature'],data['HeartRate'])
print(T_H_pearsonr)

在这里插入图片描述
相关系数为0.25为弱相关性

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!