欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

numpy.random.normal详解

发布时间:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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(默认值)并且loc和scale均为标量,那么就会返回一个值。否则会返回np.broadcast(loc, scale).size个值
  • 返回值:
变量名数据类型功能
outn维数组或标量从含参的正态分布中抽取的随机样本
  • 备注:

高斯分布的概率密度函数为 p(x)=12πσ2e−(x−μ)22σ2p(x)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}p(x)=2πσ21e2σ2(xμ)2其中μ\muμ代表均值,σ\sigmaσ代表标准差,标准差的平方σ2\sigma^2σ2称作方差。 函数在均值位置点取到峰值,当标准差增大的时候,其宽度也会增加(函数在x−σx-\sigmaxσx+σx+\sigmax+σ之间的面积为其总面积的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

总结

以上是生活随笔为你收集整理的numpy.random.normal详解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。