【问题标题】:Python - How to generate a Gaussian Random Vector using Scipy.Stats.Multivariate_NormalPython - 如何使用 Scipy.Stats.Multivariate_Normal 生成高斯随机向量
【发布时间】:2018-10-14 02:54:16
【问题描述】:

我想做和

一样的事
x = np.random.multivariate_normal(mean, cov, (n, 1))

其中 mean 是一个长度为 n 的向量,cov 是一个 nxn 方阵,但使用 scipy.stats.multivariate_normal 代替

【问题讨论】:

    标签: python numpy scipy gaussian


    【解决方案1】:

    要从scipy.stats 的分布中采样,请使用.rvs 方法。

    例子:

    >>> from scipy import stats
    >>> 
    >>> n = 3
    >>> mn = np.random.random(n)
    >>> cov = np.random.random((2*n, n)) - 0.5
    >>> cov = cov.T@cov
    >>> 
    >>> frzn = stats.multivariate_normal(mn, cov)
    >>> frzn
    <scipy.stats._multivariate.multivariate_normal_frozen object at 0x7f156ea782b0>
    >>> frzn.rvs(n)
    array([[ 1.38391348,  0.65518546, -0.79541539],
           [ 0.36422157, -0.49308578,  0.94995824],
           [-0.73152442, -0.06003768, -0.28373662]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-16
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 2010-09-18
      • 2011-08-09
      • 2021-09-22
      相关资源
      最近更新 更多