【问题标题】:Using Python, generate 100 X 100 random matrix whose entries are sampled from the normal distribution使用 Python,生成 100 X 100 随机矩阵,其条目从正态分布中采样
【发布时间】:2021-02-02 18:10:37
【问题描述】:

使用 numpy.random 生成随机向量。用 Python 编写代码,生成一个 100 X 100 的随机矩阵,其条目是来自正态分布的样本。


这是我制作的,我不确定这是否正确。我也有关于正态分布的问题。我的随机数应该来自某个池吗?比如 $[0,1]$ 或者是否有可能得到超出这个范围的值?

这是在 Jupyter Notebook 中编写的代码:

import numpy as np
a = np.random.randn(100,100)
a
array([[-0.42952803, -0.55136761, -0.45544016, ..., -0.54125441,
     2.31481612,  0.93721055],
   [-0.2440975 , -0.10233273, -0.06972217, ..., -0.25760561,
     0.48431004, -0.91599734],
   [-1.39176645, -0.79784139, -0.21914249, ...,  2.38224209,
     1.57696294,  0.48747715],
   ...,
   [ 0.38458431, -1.75968742,  1.64696889, ...,  1.43273609,
    -0.74896945,  0.48588267],
   [ 1.22934075,  1.27112809, -0.40593726, ...,  0.63584471,
     0.11152366, -2.23030795],
   [ 1.5910005 ,  0.29184142, -0.01811951, ..., -0.25800051,
    -0.09681777,  0.40182752]])

【问题讨论】:

    标签: python matrix jupyter-notebook normal-distribution


    【解决方案1】:

    您所做的是正确的,但有几点需要注意。

    首先,np.random.randn() 专门用于从标准正态分布(平均值为 0,标准差为 1)中绘制。根据您的问题,这听起来像是您想要的,但请注意您也可以使用np.random.normal(mu, sd, size=(100, 100)),其中mu 是您要从中采样的正态分布的平均值,sd 是标准偏差。

    关于您关于值应该在什么范围内的问题,它们肯定不限于[0, 1]。正态分布是定义在所有实数上的连续概率密度函数,因此理论上您可以看到任何实数,但观察到每个值的概率会随着您远离均值而降低。

    有关一般正态分布的更多信息,我建议阅读 Wolfram 的 this page

    【讨论】:

      【解决方案2】:

      我认为您正在做的事情会起作用,但是,numpy 文档建议您使用 numpy.random.standard_normal

      有关更多详细信息,请参阅 the note 以获取 numpy.random.randn 文档。

      所以这看起来像......

      import numpy as np
      
      mat = np.random.standard_normal(size=(100, 100))
      mat.size()
      

      产生

      array([[ 0.19635784,  0.19134202, -0.90622914, ..., -0.1487657 ,
               0.210058  , -0.06616276],
             [ 0.37758747, -1.96359795, -0.1302543 , ...,  0.27463501,
               0.5956493 ,  0.95462422],
             [-0.06986621,  1.6122695 , -0.91379974, ...,  0.94488747,
              -0.05906328, -1.09491503],
             ...,
             [ 0.04273415, -0.7566953 ,  0.34079966, ..., -0.2154078 ,
              -1.42879529, -0.7601603 ],
             [ 0.87875502, -0.18143793, -0.97638314, ...,  0.19633813,
               1.19428871, -1.9585137 ],
             [ 0.75305984,  0.26421749, -1.06839234, ..., -1.10464615,
              -0.25891926,  1.2184856 ]])
      

      【讨论】:

        猜你喜欢
        • 2016-07-07
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 2015-03-23
        • 1970-01-01
        • 2016-05-10
        • 2020-08-26
        相关资源
        最近更新 更多