利用nump生成正态分布样本

Posted lfri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用nump生成正态分布样本相关的知识,希望对你有一定的参考价值。

numpy.random.randn(d0,d1,…,dn)

numpy.random.randn(d0,d1,…,dn)

返回一个或一组符合“标准正态分布“的样本。dn表格每个维度,返回值为指定维度的array。

标准正态分布—-standard normal distribution

标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。

1. 当没有参数时,返回单个数据

>>> np.random.randn()
0.2856573215723444

2. 指定维数

>>> np.random.randn(2,4)
array([[-1.80031882,  0.10318817,  1.05343294, -0.74251429],
       [-0.02053998,  0.58558613, -1.02284653,  0.33441884]])
>>> np.random.randn(2,2,2)
array([[[ 0.76631648, -1.94176884],
        [-1.08613881,  0.70950631]],

       [[-1.04016301, -0.15358818],
        [-0.95679036, -0.23024994]]])

 3. 生成符合$N(mu, sigma^2)$的样本

sigma * np.random.randn(...) + mu

>>> 2*np.random.randn()+1
-1.6004536471034108
>>> 2.5*np.random.randn(2,4)+3
array([[ 3.58233674, -0.8538981 ,  3.11623316,  3.15277312],
       [ 5.40095888, -1.34397929,  5.51338625,  6.74921732]])

numpy.random.standard_normal(size=None) 

numpy.random.standard_normal(size=None)

与前面的功能一模一样,也是生成符合“标准正态分布”的样本。不同之处在于其参数是元组形式。

>>> np.random.standard_normal()
-0.42487006671195265
>>> np.random.standard_normal(10)
array([ 0.78368072,  1.80768154, -0.49297587,  0.66436509,  0.35496744,
        0.52050209,  0.06490782, -0.6404993 , -1.37450919,  0.27419667])
>>> np.random.standard_normal((2,2))
array([[ 0.15698487, -1.1685891 ],
       [-1.11065158,  0.61010709]])
>>> 2*np.random.standard_normal((2,2))+1
array([[ 1.01941899,  1.46028102],
       [-0.39625573, -1.52947869]])

 

 

参考链接:

1. numpy.random.randn官方文档

2. numpy.random.standard_normal官方文档

3. CSDN周正己-numpy.random.randn()用法

以上是关于利用nump生成正态分布样本的主要内容,如果未能解决你的问题,请参考以下文章

机器学习——概率生成模型

利用Python的pip命令安装nump

多元正态分布样本上的 Kmean

nump中的为随机数产生器的seed

如何利用redis来进行分布式集群系统的限流设计

R:生成混合分布的函数