numpy.random.normal详解

numpy.random.normal

  • 用例:
    numpy.random.normal(loc=0.0, scale=1.0, size=None)

  • 功能:
    从正态(高斯)分布中抽取随机样本。
    棣莫佛第一次提出正态分布的概率密度函数(由于其外形形似铃铛,亦称为钟形曲线),在其后200年,高斯和拉普拉斯也分别发现了正态分布的概率密度函数。自然界中有许多符合正态分布的案例。例如,它可以描述样本受大量微小随机扰动影响的常见分布,其中,每个扰动都有自己独特的分布。

  • 参数:

变量名数据类型功能
loc浮点型数据或者浮点型数据组成的数组分布的均值(中心)
scale浮点型数据或者浮点型数据组成的数组分布的标准差(宽度)
size整数或者整数组成的元组,可选参数输出值的维度。如果给定的维度为(m, n, k),那么就从分布中抽取m * n * k个样本。如果size为None(默认值)并且locscale均为标量,那么就会返回一个值。否则会返回np.broadcast(loc, scale).size个值
  • 返回值:
变量名数据类型功能
outn维数组或标量从含参的正态分布中抽取的随机样本
  • 备注:

高斯分布的概率密度函数为 p ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 p(x)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} p(x)=2πσ2 1e2σ2(xμ)2其中 μ \mu μ代表均值, σ \sigma σ代表标准差,标准差的平方 σ 2 \sigma^2 σ2称作方差。 函数在均值位置点取到峰值,当标准差增大的时候,其宽度也会增加(函数在 x − σ x-\sigma xσ x + σ x+\sigma x+σ之间的面积为其总面积的0.607倍)。这意味着numpy.random.normal更有可能返回靠近均值的样本而不是那些远离均值的样本。

  • 示例:

从分布中抽取样本:

import numpy as np
mu, sigma = 0, 0.1      # 均值和标准差
s = np.random.normal(mu, sigma, 1000)

检验均值和方差:

abs(mu - np.mean(s)) < 0.01

True

abs(sigma - np.std(s, ddof=1)) < 0.01

True
利用直方图对样本进行可视化,并绘制其概率密度函数:

import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(s, 30, normed=True, color='b')
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2) ), linewidth=2, color='r')
plt.show()

在这里插入图片描述

github链接
https://github.com/wzy6642/numpy-translate

评论 3 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

zhenyu wu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值