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

 更新时间:2019年07月08日 10:47:36   作者:bitcarmanlee  
今天小编就为大家分享一篇在python中画正态分布图像的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.正态分布简介

正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。

假设随机变量XX服从一个位置参数为μμ、尺度参数为σσ的正态分布,则可以记为:

而概率密度函数为

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()

最后得到的图像为:

以上这篇在python中画正态分布图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • keras中的卷积层&池化层的用法

    keras中的卷积层&池化层的用法

    这篇文章主要介绍了keras中的卷积层&池化层的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python多线程采集二手房源数据信息流程详解

    Python多线程采集二手房源数据信息流程详解

    这篇文章主要介绍了Python多线程采集二手房源数据信息流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-05-05
  • Pycharm正版2022.2.2 官方翻译插件更新tkk失败不能用问题及解决方案

    Pycharm正版2022.2.2 官方翻译插件更新tkk失败不能用问题及解决方案

    这篇文章主要介绍了Pycharm正版2022.2.2 | 官方翻译插件更新tkk失败解决, 出现tkk问题的是这个翻译插件,本教程只解决该翻译插件不能用的问题,需要的朋友可以参考下
    2022-11-11
  • Python基础语法之容器详解

    Python基础语法之容器详解

    这篇文章主要介绍了Python基础语法之容器的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-09-09
  • Python使用sqlalchemy实现连接数据库的帮助类

    Python使用sqlalchemy实现连接数据库的帮助类

    这篇文章主要为大家详细介绍了Python如何使用sqlalchemy实现连接数据库的帮助类,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考下
    2024-02-02
  • Python 列表与链表的区别详解

    Python 列表与链表的区别详解

    这篇文章主要介绍了Python 列表与链表的区别详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • Python实现字典去除重复的方法示例

    Python实现字典去除重复的方法示例

    这篇文章主要介绍了Python实现字典去除重复的方法,涉及Python字典遍历、文件读取、去除重复等相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • Python常用配置文件ini、json、yaml读写总结

    Python常用配置文件ini、json、yaml读写总结

    用的配置文件格式有ini、json、yaml等,下面简单给大家介绍下,Python如何读写这几种格式的文件,对Python读写ini、json、yaml配置文件相关知识感兴趣的朋友一起看看吧
    2021-07-07
  • Python scikit-learn 做线性回归的示例代码

    Python scikit-learn 做线性回归的示例代码

    本篇文章主要介绍了Python scikit-learn 做线性回归的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • python绘制直方图的方法

    python绘制直方图的方法

    这篇文章主要为大家详细介绍了python绘制直方图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08

最新评论