ホームページ >バックエンド開発 >Python チュートリアル >NumPy で移動平均を効率的に計算するにはどうすればよいですか?
NumPy と SciPy での移動平均の計算
データ分析では、移動平均とも呼ばれる移動平均の計算が一般的です。時系列の変動を平滑化する演算。この手法には、指定されたサイズのウィンドウを入力配列に沿ってスライドさせ、各ステップでウィンドウ内の値の平均を計算することが含まれます。
NumPy アプローチ
NumPy, Python の科学計算用ライブラリとしてよく知られており、移動平均を計算する便利な方法を提供します。 np.convolve 関数を利用すると、畳み込み演算を効率的に適用してこれを実現できます。コードは次のとおりです。
import numpy as np # Define the input array array = np.array([1, 2, 3, 4, 5]) # Specify the window size window_size = 3 # Calculate the running mean using convolution running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')
畳み込み演算を理解する
畳み込み演算は、基本的にウィンドウ内の値の加重合計を実行します。移動平均には、各重みが 1/window_size である均一カーネルを使用します。これにより、ウィンドウ内のすべての値が計算された平均に均等に寄与することが保証されます。
境界効果の処理
np.convolve の mode パラメーターは、境界効果が処理中にどのように処理されるかを決定します。畳み込み。 「有効」モードは、畳み込み演算が配列サイズに影響を与えない結果を返します。これは、移動平均の長さが入力配列からウィンドウ サイズを引いたものになり、実質的に端の値が無視されることを意味します。境界効果を別の方法で処理する必要がある場合は、「full」や「same」など、np.convolve でサポートされている他のモードを検討できます。
したがって、NumPy の畳み込み機能を利用することで、実行中の1D 配列の平均値を使用して、時系列データを簡単に平滑化し、分析するためのツールを提供します。
以上がNumPy で移動平均を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。