numpy生成正态分布数组的问题

赵云
  • 12

randn(N, M, ...) 生成一个NM...的正态分布(平均值为0,标准差为1)的ndarray
normal(size=(N,M,...)) 生成一个NM...的正态(高斯)分布的ndarray

>>> import numpy as np
>>> np.random.normal(size=(3,4))
array([[-0.80403424, -2.26403495,  1.39152869, -0.90893755],
       [-0.2589969 , -1.31959684,  1.09861245, -0.53453221],
       [ 1.66536752, -0.78309767,  1.38870488,  1.0001    ]])
>>> np.random.randn(3,4)
array([[-0.28923004,  0.14990385, -0.22618601, -0.18700602],
       [ 0.39336849, -0.14007346, -0.15958946, -0.60184563],
       [ 1.68451529,  0.04972581,  0.50062887,  0.61770662]])

randn和normal是不是一个意思? 都是生成正态分布的ndarray? 到底是生成什么样的数组呢?比如这两个数组到底有什么性质,所以才被称为服从“正态分布”的数组呢?

“若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ=0,σ=1时的正态分布是标准正态分布。”

“正态分布的概率密度函数曲线呈钟形,因此人们又经常称之为钟形曲线。正态曲线呈钟型,两头低,中间高,左右对称,曲线与横轴间的面积总等于1。”

这个公式又是怎么回事?怎么得来的?

图片描述

概率论真的不好理解啊。

回复
阅读 11.1k
1 个回答

randn是normal的一个特殊情况 μ=0, σ=1。normal可以指定这两个参数。高斯分布,拉普拉斯分布,t分布都是用来描述样本特性的,这个你得自己补充知识了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏