2017-03-26 8 views
1

私はを使用して、多変量正規分布からサンプルを描画しています。このように:Scipy多変量法線:決定論的サンプルを描画する方法は?

from scipy.stats import multivariate_normal 
# Assume we have means and covs 
mn = multivariate_normal(mean = means, cov = covs) 
# Generate some samples 
samples = mn.rvs() 

サンプルは実行ごとに異なります。どのように私はいつも同じサンプルを得るのですか?私が何か期待していた :

mn = multivariate_normal(mean = means, cov = covs, seed = aNumber) 

または

samples = mn.rsv(seed = aNumber) 

答えて

4

を2つの方法があります。

  1. rvs()方法はrandom_state引数を受け入れます。その値は、 を整数シード、またはnumpy.random.RandomStateのインスタンスにすることができます。

    In [46]: mn = multivariate_normal(mean=[0,0,0], cov=[1, 5, 25]) 
    
    In [47]: mn.rvs(size=5, random_state=12345) 
    Out[47]: 
    array([[-0.51943872, 1.07094986, -1.0235383 ], 
         [ 1.39340583, 4.39561899, -2.77865152], 
         [ 0.76902257, 0.63000355, 0.46453938], 
         [-1.29622111, 2.25214387, 6.23217368], 
         [ 1.35291684, 0.51186476, 1.37495817]]) 
    
    In [48]: mn.rvs(size=5, random_state=12345) 
    Out[48]: 
    array([[-0.51943872, 1.07094986, -1.0235383 ], 
         [ 1.39340583, 4.39561899, -2.77865152], 
         [ 0.76902257, 0.63000355, 0.46453938], 
         [-1.29622111, 2.25214387, 6.23217368], 
         [ 1.35291684, 0.51186476, 1.37495817]]) 
    
  2. あなたがnumpyののグローバル乱数ジェネレータのシードを設定することができます。この例 で、Iは、整数の種を使用しています。これはrandom_stateが指定されていない場合multivariate_normal.rvs()が使用する発電機である:

    In [54]: mn = multivariate_normal(mean=[0,0,0], cov=[1, 5, 25]) 
    
    In [55]: np.random.seed(123) 
    
    In [56]: mn.rvs(size=5) 
    Out[56]: 
    array([[ 0.2829785 , 2.23013222, -5.42815302], 
         [ 1.65143654, -1.2937895 , -7.53147357], 
         [ 1.26593626, -0.95907779, -12.13339622], 
         [ -0.09470897, -1.51803558, -4.33370201], 
         [ -0.44398196, -1.4286283 , 7.45694813]]) 
    
    In [57]: np.random.seed(123) 
    
    In [58]: mn.rvs(size=5) 
    Out[58]: 
    array([[ 0.2829785 , 2.23013222, -5.42815302], 
         [ 1.65143654, -1.2937895 , -7.53147357], 
         [ 1.26593626, -0.95907779, -12.13339622], 
         [ -0.09470897, -1.51803558, -4.33370201], 
         [ -0.44398196, -1.4286283 , 7.45694813]]) 
    
関連する問題