ホームページ >バックエンド開発 >Python チュートリアル >NumPy で移動平均を効率的に計算するにはどうすればよいですか?

NumPy で移動平均を効率的に計算するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 05:42:15116ブラウズ

How to Efficiently Calculate a Running Mean in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。