1

numpy.random.multivariate_normal を使用して、30000 以上の変数でランダム サンプリングを実行しようとしましたが、常にすべてのメモリ (32G) を使用して終了しました。実際には、相関関係は球形であり、すべての変数は約 2500 の他の変数のみと相関しています。完全な共分散行列ではなく、球面共分散行列を指定する別の方法、またはメモリの使用量を減らす他の方法はありますか?

私のコードは次のようなものです:

cm = [] #covariance matrix  
for i in range(width*height):  
    cm.append([])  
    for j in range(width*height):  
        cm[i].append(corr_calc()) #corr is inversely proportional to the distance    
mean = [vth]*(width*height)  
cache_vth=numpy.random.multivariate_normal(mean,cm)
4

1 に答える 1