精华内容
下载资源
问答
  • python绘制正态分布图像
    千次阅读
    2021-03-31 20:22:20

    正态分布

    公式: f ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2πσ2 1e2σ2(xμ)2

    Python代码

    import numpy as np
    import matplotlib.pyplot as plt
    import math
     
    # 定义正态分布函数
    def normal_distribution(x, mu, sigma):
        return np.exp( -1 * ( (x-mu) ** 2) / ( 2 * (sigma ** 2)) ) / (math.sqrt( 2 * np.pi ) * sigma)
    
    # 初始化mu, sigma
    mu, sigma = 160, 8.65
    x = np.linspace( mu - 6 * sigma, mu + 6 * sigma, 100)
    y = normal_distribution(x, mu, sigma)
    plt.plot(x, y, 'r', label='mu = {0},sigma = {1}'.format(mu, sigma))
    plt.legend()
    plt.grid()
    plt.show()
    

    结果

    Figure_5

    参考资料

    python绘制正态分布(高斯分布)

    更多相关内容
  • 今天小编就为大家分享一篇在python画正态分布图像的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 其实从这个上可以很好的看出,协方差矩阵对正态分布的影响,也就很好明白了这三个协方差矩阵是哪里来的名字了。可以看出,球形协方差矩阵,会产生圆形(二维)或者球形(三维)的等高线,对角协方差矩阵和全协方
  • 目录   1、scipy库中各分布对应的方法   2、stats中各分布的常用方法及其功能   3、正态分布的概率密度函数及其图象 ...    3)python绘制t分布和正态分布的概率密度函数对比   6、F分布的概率密度函数
  • 正态分布应用最广泛的连续概率分布,其特征是“钟”形曲线。这种分布的概率密度函数为: 其中,μ为均值,σ为标准差。 求正态分布曲线下面积有3σ原则: 正态曲线下,横轴区间(μ-σ,μ+σ)内的面积为68.268949...
  • 正态分布(Normal distribution)又成为高斯分布(Gaussian distribution) ...# Python实现正态分布 # 绘制正态分布概率密度函数 u = 0 # 均值μ u01 = -2 sig = math.sqrt(0.2) # 标准差δ sig01 = mat
  • 今天使用python画了几个好玩的3D展示,现在分享给大家。 先贴上图片 使用的python工具包为: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D 在贴代码...
  • 今天小编就为大家分享一篇Python求解正态分布置信区间教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 分布是用来描述事件...#寻找真知派#图1 考试成绩分布图(正态分布)事件的分布类型有很多种,比如指数分布、t分布、泊松分布等,每种分布都对应于一个概率密度函数(连续随机变量)或概率质量函数(离散随机变量)。通...

    分布是用来描述事件(通常用随机变量X表示)发生规律的数学工具,比如X~N(78, 9)描述了某个考试科目考试成绩的分布情况,服从均值为78,方差为9的正态分布。我们常用直方图或概率密度曲线来展示分布特点(如下图)。#寻找真知派#

    47f90ab0d4d886265bffcd23b3b336bf.png

    图1 考试成绩分布图(正态分布)

    事件的分布类型有很多种,比如指数分布、t分布、泊松分布等,每种分布都对应于一个概率密度函数(连续随机变量)或概率质量函数(离散随机变量)。通过这个函数,我们就可以估算某个事件发生的概率(反之亦可)。这为我们认识问题、分析问题提供了强有力的工具。

    4255f20f30f486d319fc8016ce045250.png

    图2 指数分布

    2c007c5894b269e7982fa2dfd84530c4.png

    图3 泊松分布

    在所有的分布种类中,正态分布是一个很神奇的分布。大多数自然现象和社会事件都服从正态分布,比如身高、收入水平、智力水平等。正态分布的特点是分布曲线是左右对称的,极端现象发生的概率小,而通常现象的发生率高。如图1的成绩分布,大多数学生的成绩在70-85之间,极少数高分和低分。正态分布反映了“普通情况是大多数,极端情况是少数且不失偏颇(极大极小机会均等)”的客观规律。有人将其誉为“上帝创造的公平机制”。

    81a0960ebe84fd930690f6dbb98d2f00.png

    图4 N(μ,σ2)正态分布的概率密度函数

    另外,根据中心极限定理,任何分布,随着其自由度或样本量的增大,其均值都会服从正态分布,也就是说正态分布是所有分布的终极形态。任何一种分布,通过数据变换(如对数化或Box-Cox变换),都可以转化为正态分布,然后进一步求解。在统计分析和机器学习中,正态分布起着基础性的关键作用,也就是说如果没有正态分布,就没有这些数据分析方法。

    为什么会这样呢?因为正态分布最具普遍性,而且是最简洁最容易计算的分布。其中心趋势(均值、中位数、众数)均相等,且整个分布仅需指定两个参数——均值μ和方差σ2。

    下面我们来看一个例子:

    一个5000人的生活区,放置了45个水龙头。假如在某一时刻1个人用水的概率是1%,(1)试分析发生排队的可能性有多高?(2)至少要装多少个水龙头,才能以95%以上的概率保证不拥挤?

    我们先来看第一个问题。

    用水事件服从二项分布,即ζ~B(5000,0.01)。其均值μ=5000*0.01=50,方差σ2=49.5,标准差σ=7.04。 那么出现排队的概率就是

    921df76e633ef2d747ad6a4ddf60e780.png

    二项分布下的概率计算

    但上述公式求解非常麻烦。我们可以根据德莫佛——拉普拉斯中心极限定理,将上述问题转化为正态分布N(50,49.5),予以求解。

    0117ff51a362f8f0a3a270cacc1dba11.png

    转化为标准正态分布,进行概率计算

    所以发生排队的概率P(ζ > 45) = 1 − 0.2389 = 0.7611。用水出现拥挤是大概率事件,亟待改善。

    现在我们再来看第二个问题,需要多少个水龙头才能保证95%的可能性不排队呢?即

    253219da53e8c57632f5639275bae6ab.png

    我们可以将上式转化为标准正态分布的形式

    163aed28d29954e866496b3e81134cb8.png

    于是我们得到了

    0cd9865db98c64500869a9e897145e86.png

    2ac1991825c072b4aa5fdf299f62e21f.png

    m>=61.6,即m=62。需要再增加17个水龙头,便可保证有95%的可能性不排队。#技术技能超级玩家#

    @头条号

    展开全文
  • python正态分布画图

    2018-03-27 11:37:21
    用matplotlib和jupyter notebook绘制了正态函数的概率密度函数和概率累积函数
  • 赛马正态分布图1.制作IQ数据图import numpy as npimport pandas as pdimport matplotlib.pyplot as plt#使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个...

    2364064e0bc9

    赛马正态分布图

    1.制作IQ数据图

    import numpy as np

    import pandas as pd

    import matplotlib.pyplot as plt

    #使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式

    *#inline表示将图表嵌入到Notebook中。

    %matplotlib inline

    #为了使画出来的图支持 retina格式

    %config InlineBackend.figure_format = 'retina'

    iq_data = pd.read_csv('IQscore.csv')

    len(iq_data)

    70

    iq = iq_data['IQ']

    mean = iq.mean()

    mean

    100.82857142857142

    std = iq.std()

    std

    15.015905990389498

    #normfun正态分布函数,mu: 均值,sigma:标准差,pdf:概率密度函数,np.exp():概率密度函数公式

    def normfun(x,mu, sigma):

    pdf = np.exp(-((x - mu)**2) / (2* sigma**2)) / (sigma * np.sqrt(2*np.pi))

    return pdf

    # x的范围为60-150,以1为单位,需x根据范围调试

    x = np.arange(60, 150,1)

    # x数对应的概率密度

    y = normfun(x, mean, std)

    # 参数,颜色,线宽

    plt.plot(x,y, color='g',linewidth = 3)

    #数据,数组,颜色,颜色深浅,组宽,显示频率

    plt.hist(iq, bins =7, color = 'r',alpha=0.5,rwidth= 0.9, normed=True)

    plt.title('IQ distribution')

    plt.xlabel('IQ score')

    plt.ylabel('Probability')

    plt.show()

    2364064e0bc9

    智商正态分布图

    2. 制作赛马数据图

    import numpy as np

    import pandas as pd

    import matplotlib.pyplot as plt

    %matplotlib inline

    %config InlineBackend.figure_format = 'retina'

    stakes_data = pd.read_csv('stakes.csv')

    len(stakes_data)

    89

    stakes = stakes_data['time']

    mean = stakes.mean()

    mean

    149.22101123595513

    std = stakes.std()

    std

    1.6278164717748154

    def normfun(x,mu, sigma):

    pdf = np.exp(-((x - mu)**2) / (2* sigma**2)) / (sigma * np.sqrt(2*np.pi))

    return pdf

    stakes.max()

    153.19999999999999

    stakes.min()

    146.0

    x = np.arange(145, 155,0.2)

    y = normfun(x, mean, std)

    plt.plot(x,y,'g',linewidth = 3)

    plt.hist(stakes, bins = 6,color = 'b',alpha=0.5, rwidth= 0.9, normed=True)

    plt.title('stakes distribution')

    plt.xlabel('stakes time')

    plt.ylabel('Probability')

    plt.show()

    2364064e0bc9

    赛马正态分布图

    结论:

    1.概率密度函数是图形中的一条线,而概率则是这条线下方一定数值内的面积。

    2.求某一个精确数值的概率为0.因为对应的面积趋近于0

    3.直方图与正态分布图不完全对应,只有当n充分大,才能更接近于正态分布。

    展开全文
  • python画正态分布图像

    万次阅读 多人点赞 2018-01-24 18:06:08
    1.正态分布简介 正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。 假设随机变量X服从一个位置...

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
    欢迎大家star,留言,一起学习进步

    1.正态分布简介

    正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。
    假设随机变量 X X X服从一个位置参数为 μ \mu μ、尺度参数为 σ \sigma σ的正态分布,则可以记为:
    X ∼ N ( μ , σ 2 ) {\displaystyle X\sim N(\mu ,\sigma ^{2})} XN(μ,σ2)
    而概率密度函数为
    f ( x ) = 1 σ 2 π   e − ( x − μ ) 2 2 σ 2 {\displaystyle f(x)={1 \over \sigma {\sqrt {2\pi }}}\,e^{-{(x-\mu )^{2} \over 2\sigma ^{2}}}} f(x)=σ2π 1e2σ2(xμ)2

    2.在python中画正态分布直方图

    先直接上代码

    import numpy as np
    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt
    
    
    def demo1():
        mu ,sigma = 0, 1
        sampleNo = 1000
        np.random.seed(0)
        s = np.random.normal(mu, sigma, sampleNo)
    
        plt.hist(s, bins=100, normed=True)
        plt.show()
    

    上面是一个标准正态分布的直方图。最后输出的图像为:
    这里写图片描述

    很多同学心里会有疑惑:这个图像看上去虽然是有点奇怪,虽然形状有点像正态分布,但是差得还比较多嘛,不能算是严格意义上的正态分布。
    为什么会有这种情况出现呢?其实原因很简单,代码中我们设定的smapleno = 1000。这个数量并不是很大,所以整个图像看起来分布并不是很规则,只是有大致的正态分布的趋势。如果我们将这个参数加大,相当于增加样本数量,那么整个图像就会更加接近正态分布的形状。跟抛硬币的原理一致,抛的次数越多,正面与反面的出现概率更接近50%。
    如果我们将sampleno设置为1000000,分布图像如下。
    这里写图片描述

    下面这个图像是不是看起来就漂亮多了!

    ##3.画直方图与概率分布曲线

    import numpy as np
    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt
    
    def demo2():
        mu, sigma , num_bins = 0, 1, 50
        x = mu + sigma * np.random.randn(1000000)
        # 正态分布的数据
        n, bins, patches = plt.hist(x, num_bins, normed=True, facecolor = 'blue', alpha = 0.5)
        # 拟合曲线
        y = mlab.normpdf(bins, mu, sigma)
        plt.plot(bins, y, 'r--')
        plt.xlabel('Expectation')
        plt.ylabel('Probability')
        plt.title('histogram of normal distribution: $\mu = 0$, $\sigma=1$')
    
        plt.subplots_adjust(left = 0.15)
        plt.show()
    

    最后得到的图像为:
    这里写图片描述

    展开全文
  • 来源:可乐的数据分析之路作者:可乐今天这篇文章接2个月以前的那篇文章离散型随机变量的概率分布,继续来聊聊连续型随机变量的概率分布,以及用Python如何实现。并非所有的数据都是连续的,根据数据类型的不同,有...
  • 正态分布(用python画出相应的

    千次阅读 2022-02-10 19:31:19
    正态分布 正态分布代表了宇宙中大多数情况的运转状态。大量的随机变量被证明是正态分布的。 若随机变量X服从一个数学期望为???? 、方差为????^2的正态分布,记为N(???? ,????^2)。其概率密度函数为正态分布的期望...
  • 用excel、matlab、python绘制正态分布图

    千次阅读 2021-03-23 20:18:38
    用excel、matlab、python绘制正态分布图excel绘图matlab绘图python绘图 为加深对统计知识的理解,老师要求用excel和matlab绘图,在这想介绍3个常见的绘图软件来绘制正态分布密度函数曲线和正态分布分布函数曲线。 ...
  • 利用python绘制正态分布曲线

    千次阅读 2021-01-11 22:56:48
    使用Python绘制正态分布曲线,借助matplotlib绘图工具; #-*-coding:utf-8-*-"""python绘制标准正态分布曲线"""# ==============================================================import numpy as npimport ...
  • python正态分布 Python-正态分布 (Python - Normal Distribution) Advertisements 广告 Previous Page 上一页 Next Page 下一页 The normal distribution is a form presenting data by arranging the...
  • 在机器学习的世界中,以概率分布为核心的研究大都聚焦于正态分布。...▲1893 年人类身高分布图,作者:Alphonse Bertillon本文的主要内容如下:概率分布是什么正态分布意味着什么正态分布的变量有哪些如何使用 P...
  • 使用Python绘制正态分布曲线,借助matplotlib绘图工具; $$ f(x) = \dfrac{1}{\sqrt{2\pi}\sigma}\exp(-\dfrac{(x-\mu)^2}{2\sigma^2}) $$ #-*-coding:utf-8-*-"""python绘制标准正态分布曲线"""# =================...
  • Python读取excel生成正态分布图

    千次阅读 2020-04-04 15:04:46
    Python读取exce生成正态分布图 需求背景: 在制造业工厂为了统计产品尺寸的分布程度,需要制作正态分布图,excel 中没有专门的概率分布图制作比较麻烦。使用python容易实现。 运行环境: win10 win8 win7 64位操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,705
精华内容 8,282
关键字:

python画正态分布图

友情链接: mcroll.rar