python 判断一组数据是否符合正态分布

正态分布:

若随机变量x服从有个数学期望为μ,方差为σ2 的正态分布,记为N(μ,σ)

其中期望值决定密度函数的位置,标准差决定分布的幅度,当υ=0,σ=0 时的正态分布是标准正态分布

判断方法有画图/k-s检验

画图:

#导入模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

#构造一组随机数据
s = pd.DataFrame(np.random.randn(1000)+10,columns = ['value'])

#画散点图和直方图
fig = plt.figure(figsize = (10,6))
ax1 = fig.add_subplot(2,1,1) # 创建子图1
ax1.scatter(s.index, s.values)
plt.grid()

ax2 = fig.add_subplot(2,1,2) # 创建子图2
s.hist(bins=30,alpha = 0.5,ax = ax2)
s.plot(kind = 'kde', secondary_y=True,ax = ax2)
plt.grid()

结果如下:

使用ks检验:

#导入scipy模块
from scipy import stats

"""
kstest方法:KS检验,参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差
结果返回两个值:statistic → D值,pvalue → P值
p值大于0.05,为正态分布
H0:样本符合
H1:样本不符合
如何p>0.05接受H0 ,反之
"""
u = s['value'].mean() # 计算均值
std = s['value'].std() # 计算标准差
stats.kstest(s['value'], 'norm', (u, std))

结果是KstestResult(statistic=0.01441344628501079, pvalue=0.9855029319675546),p值大于0.05为正太分布

以上就是python 判断一组数据是否符合正态分布的详细内容,更多关于python 正态分布的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python求正态分布曲线下面积实例

    正态分布应用最广泛的连续概率分布,其特征是"钟"形曲线.这种分布的概率密度函数为: 其中,μ为均值,σ为标准差. 求正态分布曲线下面积有3σ原则: 正态曲线下,横轴区间(μ-σ,μ+σ)内的面积为68.268949%,横轴区间(μ-1.96σ,μ+1.96σ)内的面积为95.449974%,横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.730020%. 求任意区间内曲线下的面积,通常可以引用scipy包中的相关函数 norm函数生成一个给定均值和标准差的正态分布,cdf(x

  • python 实现检验33品种数据是否是正态分布

    我就废话不多说了,直接上代码吧! # -*- coding: utf-8 -*- """ Created on Thu Jun 22 17:03:16 2017 @author: yunjinqi E-mail:yunjinqi@qq.com Differentiate yourself in the world from anyone else. """ import pandas as pd import numpy as np import

  • Python使用numpy产生正态分布随机数的向量或矩阵操作示例

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力.一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到.如下代码,可以得到满足一维和二维正态分布的样本. 示例1(一维正态分布): # coding=utf-8 '''

  • Python求解正态分布置信区间教程

    正态分布和置信区间 正态分布(Normal Distribution)又叫高斯分布,是一种非常重要的概率分布.其概率密度函数的数学表达如下: 置信区间是对该区间能包含未知参数的可置信的程度的描述. 使用SciPy求解置信区间 import numpy as np import matplotlib.pyplot as plt from scipy import stats N = 10000 x = np.random.normal(0, 1, N) # ddof取值为1是因为在统计学中样本的标

  • Python数据可视化实现正态分布(高斯分布)

    正态分布(Normal distribution)又成为高斯分布(Gaussian distribution) 若随机变量X服从一个数学期望为.标准方差为的高斯分布,记为: 则其概率密度函数为: 正态分布的期望值决定了其位置,其标准差决定了分布的幅度.因其曲线呈钟形,因此人们又经常称之为钟形曲线.我们通常所说的标准正态分布是的正态分布: 概率密度函数 代码实现: # Python实现正态分布 # 绘制正态分布概率密度函数 u = 0 # 均值μ u01 = -2 sig = math.sqrt(

  • 使用python绘制3维正态分布图的方法

    今天使用python画了几个好玩的3D展示图,现在分享给大家. 先贴上图片 使用的python工具包为: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D 在贴代码之前,有必要从整体上了解这些图是如何画出来的.可以把上面每一个3D图片理解成一个长方体.输入数据是三维的,x轴y轴和z轴.在第三个图片里面有x.y和z坐标的标识.在第三张图片中,我们可以理解为,

  • 使用Python实现正态分布、正态分布采样

    多元正态分布(多元高斯分布) 直接从多元正态分布讲起.多元正态分布公式如下: 这就是多元正态分布的定义,均值好理解,就是高斯分布的概率分布值最大的位置,进行采样时也就是采样的中心点.而协方差矩阵在多维上形式较多. 协方差矩阵 一般来说,协方差矩阵有三种形式,分别称为球形.对角和全协方差.以二元为例: 为了方便展示不同协方差矩阵的效果,我们以二维为例.(书上截的图,凑活着看吧,是在不想画图了) 其实从这个图上可以很好的看出,协方差矩阵对正态分布的影响,也就很好明白了这三个协方差矩阵是哪里来的名字了

  • Python数据可视化正态分布简单分析及实现代码

    Python说来简单也简单,但是也不简单,尤其是再跟高数结合起来的时候... 正态分布(Normaldistribution),也称"常态分布",又名高斯分布(Gaussiandistribution),最早由A.棣莫弗在求二项分布的渐近公式中得到.C.F.高斯在研究测量误差时从另一个角度导出了它.P.S.拉普拉斯和高斯研究了它的性质.是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力. 正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人

  • 在python中画正态分布图像的实例

    1.正态分布简介 正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布.正态分布大家也都非常熟悉,下面做一些简单的介绍. 假设随机变量XX服从一个位置参数为μμ.尺度参数为σσ的正态分布,则可以记为: 而概率密度函数为 2.在python中画正态分布直方图 先直接上代码 import numpy as np import matplotlib.mlab as mlab import matplot

  • python 判断一组数据是否符合正态分布

    正态分布: 若随机变量x服从有个数学期望为μ,方差为σ2 的正态分布,记为N(μ,σ) 其中期望值决定密度函数的位置,标准差决定分布的幅度,当υ=0,σ=0 时的正态分布是标准正态分布 判断方法有画图/k-s检验 画图: #导入模块 import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline #构造一组随机数据 s = pd.DataFrame(np.random.randn(

  • python获取一组数据里最大值max函数用法实例

    本文实例讲述了python获取一组数据里最大值max函数用法.分享给大家供大家参考.具体如下: # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使用 max([1,2]) max((1,2)) # 还可以指定comparator function max('ah', 'bf', key=lambda x: x[1]) def comparator(x): return x[1] max('ah', 'bf', key=comparator) 希望本文所述对大家

  • Python中的数据可视化matplotlib与绘图库模块

    目录 一.条形图bar() 二.直方图 三.折线图 四.散点图+直线图 五.饼图 六.箱型图 七.plot函数参数 八.图像标注参数 九.Matplolib应用 matplotlib官方文档:https://matplotlib.org/stable/users/index.html matplotlib是一个绘图库,它可以创建常用的统计图,包括条形图.箱型图.折线图.散点图.饼图和直方图. 一.条形图bar() import matplotlib.pyplot as plt from matp

  • Python判断变量是否为Json格式的字符串示例

    Json介绍 全名JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于http请求中,所以对json的各种学习,是自然而然的事情. 本文主要介绍的是利用Python判断变量是否为Json格式的字符串,对大家日常学习工作具有一定的参考价值,下面话不多说,直接来看代码吧. 示例代码如下 # -*- coding=utf-8 -*- import json def check_json_

  • 利用Python代码实现数据可视化的5种方法详解

    前言 数据科学家并不逊色于艺术家.他们用数据可视化的方式绘画,试图展现数据内隐藏的模式或表达对数据的见解.更有趣的是,一旦接触到任何可视化的内容.数据时,人类会有更强烈的知觉.认知和交流. 数据可视化是数据科学家工作中的重要组成部分.在项目的早期阶段,你通常会进行探索性数据分析(Exploratory Data Analysis,EDA)以获取对数据的一些理解.创建可视化方法确实有助于使事情变得更加清晰易懂,特别是对于大型.高维数据集.在项目结束时,以清晰.简洁和引人注目的方式展现最终结果是非常

  • wtfPython—Python中一组有趣微妙的代码【收藏】

    wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样: 通过探寻产生这种结果的内部原因,可以让我们对Python里的一些细节有更广泛的认知. 1.字典键的隐式转换 some_dict = {} some_dict[5.5] = "Ruby" some_dict[5.0] = "JavaScript" some_dict[5] = "Python" 输出如下: >&

  • Python统计学一数据的概括性度量详解

    一.数据的概括性度量 1.统计学概括: 统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析.总结,并进而进行推断和预测,为相关决策提供依据和参考.统计学主要又分为描述统计学和推断统计学.给定一组数据,统计学可以摘要并且描述这份数据,这个用法称作为描述统计学.另外,观察者以数据的形态建立出一个用以解释其随机性和不确定性的数学模型,以之来推论研究中的步骤及母体,这种用法被称做推论统计学. 2.数据的概括性度量: 1)集中趋势的度量: 众数:众数(Mode

  • Python抓取数据到可视化全流程的实现过程

    目录 1.爬取目标网站:业绩预告_数据中心_同花顺财经 2.获取序号.股票代码.等你所需要的信息 3.组成DataFrame 4.处理数据 1.爬取目标网站:业绩预告_数据中心_同花顺财经 (ps:headers不会设置的可以看这篇:Python 用requests.get获取网页内容为空 ’ ’) import pandas as pd import numpy as np import matplotlib.pyplot as plt import re import requests##把

  • 使用Python对EXCEL数据的预处理

    一.熟悉数据 我们将EXCEL中的数据导入之后,需要对数据进行大致性的了解,当对数据充分地了解之后,才便于后期的分析工作. 该部分涉及到四个基本方法,分别为“shape”“info”“head”“describe”.下面会具体介绍四者的用法与功能. 以下是我准备好的一组简单的excel数据: 其中:“编号”“姓名”“识别码”“时间”称为索引列:左边的“1”“2”···“6”称为索引行. 通过第一篇的方法,将数据导入python中.代码与输出结果如下所示: import pandas as pd

随机推荐