python画qq图_python绘制散点图

python画qq图_python绘制散点图qq图有两个作用:1、检验一组数据是否服从某一分布。2、检验两个分布是否服从同一分布。qq图全称是quantile-quantileplot,从名称中可以了解到是和分位数相关的图。由于最近在做数据分析时用到了,然而看了一些博客,要么是qq图讲解的比较详尽但是没有使用Python;要么是使用Python语言但是没有讲清楚原理。基于此,想写一篇博客尽量讲清楚原理并且用Python实现出来。qq图原理…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

qq图有两个作用:1、检验一组数据是否服从某一分布。2、检验两个分布是否服从同一分布。qq图全称是quantile-quantile plot,从名称中可以了解到是和分位数相关的图。由于最近在做数据分析时用到了,然而看了一些博客,要么是qq图讲解的比较详尽但是没有使用Python;要么是使用Python语言但是没有讲清楚原理。基于此,想写一篇博客尽量讲清楚原理并且用Python实现出来。

qq图原理是比较两组数据的累计分布函数来判断两组数据是否是服从同一分布,所以第一步我们应该做两组数据的累计分布。首先,作为对比我们看一下标准正太分布的累计分布图。

from scipy import stats
import numpy as np
x = np.arange(-5, 5, 0.1)
y = stats.norm.cdf(x, 0, 1)
plt.plot(x, y)

python画qq图_python绘制散点图

然后,绘制目标数据(这里使用UCI机器学习数据库中的churn数据集)的累计分布函数图。

import pandas as pd
churn_raw_data = pd.read_csv('churn.txt')
day_minute = churn_raw_data['Day Mins']
sorted_ = np.sort(day_minute)
yvals = np.arange(len(sorted_))/float(len(sorted_))
plt.plot(sorted_, yvals)

python画qq图_python绘制散点图

直观上对比,目标累计分布函数图和标准正太累计分布函数图差异不大,事实是不是这样呢?最后我们就可以做qq图做对比。

x_label = stats.norm.ppf(yvals)  #对目标累计分布函数值求标准正太分布累计分布函数的逆
plt.scatter(x_label, sorted_)

python画qq图_python绘制散点图

既然做对比那么对比的标准是什么呢,我们说如果所有点基本上在一条直线上,我们可以说这两个分布是同一分布。所以根据qq图,我们得出结论目标数据组服从正太分布。

上面是为了说明qq图的原理以及怎么使用pyhton进行手动操作,作为数据分析领域里比较全能的Python,它当然也是有包可以直接绘制qq图。

stats.probplot(day_minute, dist="norm", plot=plt)
plt.show()

python画qq图_python绘制散点图

还是比较方便就可以绘制的,那么比较两幅 qq图发现我们的理解是没有问题的。 qq图可以比较直观的比较两个分布是否相同的,在数据分析时也是比较常用。

参考文献:

https://stackoverflow.com/questions/3209362/how-to-plot-empirical-cdf-in-matplotlib-in-python

https://stats.stackexchange.com/questions/139708/qq-plot-in-python

https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.stats.probplot.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169324.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle事务隔离级别_mysql查看事务隔离级别

    oracle事务隔离级别_mysql查看事务隔离级别Oracle事务隔离级别

    2022年10月14日
    3
  • 深入koa2源码

    深入koa2源码

    2021年6月19日
    113
  • 假装自己是黑客的代码_假装黑客的软件

    假装自己是黑客的代码_假装黑客的软件假装自己是“黑客”今天分享一个好玩的东西话不多说上图看起来是不是很酷炫?这个可以通过按数字或鼠标点击来打开字雨,卫星地图等页面。还有一些功能可以自己无聊的时候试一试哦。怎么做呢?一,最简单的方法在网页上输入网址:http://geekprank.com/hacker/二,如果要让别人看起来你厉害一点1.新建一个文档2.输入starthttp://geekprank.com/hacker/3.保存,名字自取,改后缀名为bat然后就能通过双击这个文件打开网址啦。。。三,实在懒得

    2022年9月28日
    2
  • 斯皮尔曼等级相关称名数据_等级相关系数中的等级怎么算

    斯皮尔曼等级相关称名数据_等级相关系数中的等级怎么算转自:http://blog.csdn.net/wsywl/article/details/58597511、简介在统计学中,斯皮尔曼等级相关系数以CharlesSpearman命名,并经常用希

    2022年8月5日
    10
  • High Quality Monocular Depth Estimation via Transfer Learning论文学习

    High Quality Monocular Depth Estimation via Transfer Learning论文学习HighQualityMonocularDepthEstimationviaTransferLearning贡献方法网络结构复杂性和性能学习损失函数增强策略实验结果数据集实验细节评估质量评估定性结果AblationStudies深度编码深度解码颜色增强泛化到其他数据集结论代码实现arXiv:1812.11941v2[cs.CV]10Mar2019贡献三个方面。第一,…

    2025年6月7日
    5
  • wcopy nfc pro智能读卡工具软件_手机NFC复制小区用的门禁卡[通俗易懂]

    wcopy nfc pro智能读卡工具软件_手机NFC复制小区用的门禁卡[通俗易懂]我们说一说目前的门禁卡到底有哪些类型呢?门禁卡一般分为:ID卡和IC卡。而EM卡、M1卡、CPU卡等等,都是这两种卡的细分。它们能够开门,都是基于RFID感应的原理来实现开门的。我们看一张图,在这张图中,能够看到一个数据名词,频率:ID卡的工作频率为125KHz频率,而IC卡的工作频率为13.56MHz,显然因为IC卡的频率高,所以,它的安全性比较高。小区基本上选择IC卡的概率会更高一…

    2022年5月22日
    332

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号