QQ图,全称quantile-quantile plot,又称为分位图。通常用于判断一组数据是否服从某种理论分布,大多数情况用于判断是否服从正太分布。尽管Q-Q图不是正式的统计检验,但它提供了一种直观、简单方法来检查数据集是否为正态分布的。本文介绍如何使用Python创建QQ图。

正太分布数据示例

首先准备100个示例数据:

import numpy as np# 创建100个服从正太分布的数据集
np.random.seed(0)
data = np.random.normal(0,1, 1000)# 查看前10个数据
data[:10] array([ 1.76405235,  0.40015721,  0.97873798,  2.2408932 ,  1.86755799,-0.97727788,  0.95008842, -0.15135721, -0.10321885,  0.4105985 ])

我们可以使用statsmodels包中qqplot函数创建QQ图:

import statsmodels.api as sm
import matplotlib.pyplot as plt# 创建 Q-Q 图,并增加 45度线
fig = sm.qqplot(data, line='45')
plt.show()

QQ图的X轴现实理论分位数,这意味着显示不是实际数据,而是实际数据在正态分布下的位置。Y轴显示实际数据。这意味着如果数据值沿45度角的大致直线下降,那么数据分布服从正态分布。

我们可以看到上面的Q-Q图中数据值倾向于接近45度直线,这意味着数据可能是正态分布的。这并不奇怪,因为我们用numpy.random.normal()函数生成的100个数据值。

均匀分布数据示例

下面创建均匀分布数据集,然后利用该数据画QQ进行对比:

# 创建 100 均匀分布数据集
data = np.random.uniform(0,1, 1000)# 画QQ图
fig = sm.qqplot(data, line='45')
plt.show()

显然图中显示数据不遵循红色的45度线,这表明它们不服从正态分布。

如何使用Python画QQ图相关推荐

  1. python 画三维函数图-Python画三维图-----插值平滑数据

    一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...

  2. python 绘制q-q图代码

    python 绘制q-q图代码 今天,我们附上一份python绘制q-q图的代码 简单介绍一下思路 1.首先,我们需要对我们绘制的两份数据排序,然后,用散点图绘制在图例上 2.之后,绘制散点拟合曲线, ...

  3. python画折线图代码-python画折线示意图实例代码

    python画折线图方法 前做PPT要用到折线图,嫌弃EXCEL自带的看上去不好看,就用python写了一个画折线图的程序. import matplotlib.pyplot as plt x=[1, ...

  4. python画折线图详解-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  5. python画折线图详解-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  6. python画超长图-利用Python画图,千变万化,各种画图技巧!

    如图所示,利用Python的turtle画了一个美国队长盾牌的标志: # 所需依赖:python3 sublime Python代码: # print 打印 print('hello world!') ...

  7. python画折线图-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  8. python画折线图-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  9. Python画玫瑰图

    Python画玫瑰图 第一步,读取数据: 第二步,设置柱长: 第三步,设置角度: 第四步,设置颜色 第五步,做图; 普通型 中央空白型 半透明型 第六步,添加标签,美化图形. 第一步,读取数据: im ...

最新文章

  1. x20 android7.0性能,vivoX7Plus和vivoX20综合对比评测 看完这些优缺点再做判断
  2. Angular中怎样通过localStorage实现数据持久化-实现存储搜索历史为例
  3. html5 indexeddb 排序,HTML5 IndexedDB,Web SQL数据库和浏览器大战
  4. YbtOJ#791-子集最值【三维偏序】
  5. android资源透明背景,@谷歌android帝 这是你想要的,全局透明背景教程,两种方法...
  6. 读《纸本书变电子书是很小的事》有感
  7. java ftp 断点,java实现ftp断点续传
  8. 将含有自定义代码的Infopath模板发布到Sharepoint表单库中
  9. 计算机设备的存放,哪一种设备不能用于长期保存计算机数据
  10. Pycharm配置Git教程
  11. 2020华为软挑热身赛 个人总结
  12. 文件上传下载--DiskFileUpload
  13. Louvain 算法的核心思路以及数据结构(最完善版)
  14. python使用masscan扫描端口
  15. 论算法人的语言表达能力
  16. js生成随机数(数字+大小写字母)
  17. 侍魂胧月传说显示服务器满了,侍魂胧月传说满级之后做什么 满级每日必做任务详解[多图]...
  18. N诺刷题——字符串、排序、查找、链表
  19. ntoskrnl.exe(01)
  20. Docker+NETCore系列文章(三、Docker常用命令)

热门文章

  1. JavaScript简单实现随机抽奖案例
  2. 淘宝卖家缺货退款的常见问题解答
  3. 英语话题 Zodiac
  4. 跟着小甲鱼学python怎么样_跟着小甲鱼的python视频学习,小白能够接受吗?
  5. java计算机毕业设计基于springboo+vue的幼儿园管理系统
  6. cimco edit v5_网钛CMS PHP版 V5.32 更新下载
  7. HTTP代理IP可以用来刷票吗
  8. 【IBM MQ】AMQ6126问题解决思路
  9. 好未来单季营收2.24亿美元:同比降84% 张邦鑫持股26.3%
  10. rebar3使用介绍(四)依赖