1D 配列のローリング ウィンドウ標準偏差に Numpy を使用する
numpy では、ローリング ウィンドウ関数を計算する必要がある操作が頻繁に発生します。 1D 配列上で。簡単なアプローチは、指定された Python コード スニペットに示すように、ループを使用することです。ただし、Numpy の强大機能を使用すると、より効率的な方法が利用できます。
Numpy でローリング ウィンドウ操作を実行する鍵は、ブログ投稿で紹介された Rolling_window 関数を利用することにあります。この関数は、入力配列を一連の重なり合うウィンドウに再形成し、効果的に 2D 配列を作成します。この 2D 配列に関数を適用すると、ウィンドウベースの計算が可能になります。
ローリング標準偏差を計算するには、numpy.std 関数を rolling_window 関数の出力に適用するだけです。次の変更されたコード スニペットは、このアプローチを示しています。
import numpy as np # Define the rolling window function def rolling_window(a, window): shape = a.shape[:-1] + (a.shape[-1] - window + 1, window) strides = a.strides + (a.strides[-1],) return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides) # Input array observations = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Calculate rolling standard deviations stdev = np.std(rolling_window(observations, 3), 1) # Print the results print(stdev)
このコード スニペットは、純粋な Numpy 演算を使用して、指定された 1D 配列のローリング標準偏差を効率的に計算し、ループの必要性を排除します。
以上がNumpy を使用して 1D 配列のローリング ウィンドウ標準偏差を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。