数据集地址:http://jse.amstat.org/datasets/normtemp.dat.txt

数据集描述:总共只有三列:体温、性别、心率

  1. #代码
  2.  
  3. from scipy import stats as st
  4. import matplotlib.pyplot as plt
  5. import pandas as pd
  6.  
  7. #防止乱码
  8. mpl.rcParams['font.sans-serif'] = [u'SimHei']
  9. mpl.rcParams['axes.unicode_minus'] = False
  10.  
  11. #读入数据
  12.  
  13. data = pd.read_csv('http://jse.amstat.org/datasets/normtemp.dat.txt',sep='\s+',header=None,names='temperature;Gender;Heart rate'.split(';'))
  14.  
  15. #数据描述
  16.  
  17. data['temperature'].describe()

输出:

  1. count 130.000000
  2. mean 98.249231
  3. std 0.733183
  4. min 96.300000
  5. 25% 97.800000
  6. 50% 98.300000
  7. 75% 98.700000
  8. max 100.800000
  1. #四种方法验证
  2.  
  3. #1 shapiro方法来检验体温是否符合正态分布
  4.  
  5. print(st.shapiro(data['temperature']))
  6.  
  7. #(0.9865769743919373, 0.2331680953502655) 第二个数为P值,大于0.05
  8.  
  9. #2 normaltest方法验证体温是否符合正态分布
  10.  
  11. print(st.normaltest(data['temperature'], axis=None))
  12.  
  13. #NormaltestResult(statistic=2.703801433319236, pvalue=0.2587479863488212) 第二个数为P值,大于0.05
  14.  
  15. #3 kstest方法来检验体温是否符合正态分布
  16.  
  17. u = data['temperature'].mean()
  18. std = data['temperature'].std()
  19. print(st.kstest(data['temperature'], 'norm',(u,std)))
  20.  
  21. #KstestResult(statistic=0.06472685044046644, pvalue=0.645030731743997) 第二个数为P值,大于0.05
  22.  
  23. #4 anderson方法来检验体温是否符合正态分布
  24.  
  25. print(st.anderson(data['temperature']))
  26.  
  27. #AndersonResult(statistic=0.5201038826714353, critical_values=array([0.56 , 0.637, 0.765, 0.892, 1.061]), significance_level=array([15. , 10. , 5. , 2.5, 1. ]))
  28.  
  29. #显著性水平为[15. , 10. , 5. , 2.5, 1. ],statistic小于critical_values,该检验不能拒绝为正态分布,即该检验为正态分布。
  1. anderson方法说明:
    https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.anderson.html#scipy.stats.anderson
  1. normal/exponenential
  2. 15%, 10%, 5%, 2.5%, 1%
  3.  
  4. logistic
  5. 25%, 10%, 5%, 2.5%, 1%, 0.5%
  6.  
  7. Gumbel
  8. 25%, 10%, 5%, 2.5%, 1%
  9.  
  10. If the returned statistic is larger than these critical values then for the corresponding significance level,
    the null hypothesis that the data come from the chosen distribution can be rejected.

#绘图

  1. x = data['temperature']
  2. x = x.sort_values()
  3. loc,scale = st.norm.fit(x)
  4. plt.plot(x, st.norm.pdf(x,loc,scale),'b-',label = 'norm')
  5. plt.show()

使用 Python 验证数据集中的体温是否符合正态分布的更多相关文章

  1. Python验证数据的抽样分布类型

    假如要对一份统计数据进行分析,一般其来源来自于社会调研/普查,所以数据不是总体而是一定程度的抽样.对于抽样数据的分析,就可以结合上篇统计量及其抽样分布的内容,判断数据符合哪种分布.使用已知分布特性,可 ...

  2. 《零起点,python大数据与量化交易》

    <零起点,python大数据与量化交易>,这应该是国内第一部,关于python量化交易的书籍. 有出版社约稿,写本量化交易与大数据的书籍,因为好几年没写书了,再加上近期"前海智库 ...

  3. python 小数据池,代码块, is == 深入剖析

    python小数据池,代码块的最详细.深入剖析   一. id is == 二. 代码块 三. 小数据池 四. 总结 一,id,is,== 在Python中,id是什么?id是内存地址,那就有人问了, ...

  4. python和数据科学(Anaconda)

    Python拥有着极其丰富且稳定的数据科学工具环境.遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke).在这篇文章中,我会一步一步指导你怎么进入这个PyData丛林. 你可 ...

  5. 用 Python 排序数据的多种方法

    用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

  6. 【C#】让工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据

    ----------------更新:2014-04-21--------------- 蒙doggo兄指教,得知有更好的方法可以代替蹩脚的0尺寸Button法,即调用窗体的验证方法Form.Vali ...

  7. 微信支付java版V3验证数据合法性

    [TOC] 1. 微信支付java版V3验证数据合法性 概要:使用微信支付接口时,微信会返回或回调给商户XML数据,开发者需要验证微信返回的数据是否合法. 特别提醒:商户系统对于支付结果通知的内容一定 ...

  8. RSA签名和验证数据

    private const string PubKey = "BgIAAACkAABSU0ExAAQAAAEAAQAxg/L6l3AyA+Zd7Hm7ESCcS4CcgY8PvwE2arRv ...

  9. python爬虫+数据可视化项目(关注、持续更新)

    python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...

随机推荐

  1. 基于docker搭建Jenkins+Gitlab+Harbor+Rancher架构实现CI/CD操作(续)

    说明:前期的安装,请转向https://www.cnblogs.com/lq-93/p/11824039.html (4).查看gitlab镜像是否启动成功 docker inspect  容器id  ...

  2. esp8266 smartconfig-智能配网分析和使用及注意事项

    基本知识:   乐鑫⾃主研发的 ESP-TOUCH 协议采⽤的是 Smart Config(智能配置)技术,帮助⽤户将 采⽤ ESP8266EX 和 ESP32 的设备(以下简称“设备”)连接⾄ Wi ...

  3. pssh系列工具

    一.pssh简介及安装 首先我们来了解下什么是pssh,它是干嘛用的?pssh是一个python编写可以在多台服务器上执行命令的工具,也可以实现文件复制.换而言之就是一个批量管理多台服务器的一个小工具 ...

  4. C++中对封装的语法支持——静态成员

    静态成员(变量与函数) 1.静态成员变量的语法.访问.特点(共享.类内声明类外初始化) 静态成员变量在class中只做声明,并没有初始化所以不会分配内存. (1) 非静态成员变量必须通过对象来访问. ...

  5. centos下安装composer

    centos下,yum 安装没效果,按照官网的安装方法: curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/ ...

  6. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  7. 作业要求20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8751 一.小组情况 队名:扛把子 组长:迟俊文 组员:宋晓丽 梁梦瑶 韩 ...

  8. 【集训Day3 离散化】矩形覆盖

    矩形覆盖(planting) [问题描述] 给定在一个平面坐标系上的N(1 <= N <= 100)个矩形区域,这N个矩形可能有相互覆盖的部分.求平面上被所有矩形覆盖的总面积,重复部分只算 ...

  9. 老男孩python 自学day09 函数开始

    什么是函数? 函数用关键字def定义 语法: def 函数名(形参): 函数体 return 调用 函数名(实参) 命名规则:和变量一样 1. 由数字, 字母, 下划线组成 2. 不能数字开头. 更不 ...

  10. 解密面试中的套路,你都get到了么?

    如果大家有关注一些测试类的公众号或者论坛的话,肯定会发现很多文章都在表示现在行业的寒冬冷潮来了!然后有很多测试行业从业者,或者转行测试行业者都表示:工作好难找,公司跑了千千万,依然拿不到一个offer ...