2017-08-11 19 views
2

私は形状(T、N)の非常に大きなデータセットを持っていると私はnumpy.correlateのようにPythonで自己相関関数を計算したいと思います:(!)多次元データの自己相関関数を効率的に計算するにはどうすればよいですか?

c[k] = sum_n sum_t a[t, n] * a[t+k, n] 

が、すべてのサンプルNとなしを合計する使用forループ。 「有効な」モードによる計算で十分である。ただし、この関数は1次元配列のみを許可します。これを行うには速い方法がありますか?

+0

[scipy.signal.correlate2d](https://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.signal.correlate2d.html)はどうですか? – crazyGamer

+0

残念ながら、この関数は異なるサンプル間のすべての相互相関を計算します。しかし、私はN方向を合計しながらT方向のみの相関を計算したいと思います。 – Benti

+0

correlate1dはどのようにして各行に適用されますか:https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.ndimage.filters.correlate1d.html? – Divakar

答えて

0

私はこれが尋ねられましたbeforeを実現しました。フーリエ変換を実行し、パワースペクトルを計算することはトリックを行うことができます!

関連する問題