ホームページ  >  記事  >  バックエンド開発  >  NumPy には移動平均を計算するための関数が組み込まれていないのはなぜですか?

NumPy には移動平均を計算するための関数が組み込まれていないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-15 14:14:03640ブラウズ

Why Doesn't NumPy Have a Built-in Function for Calculating Moving Averages?

Python NumPy / SciPy による移動平均の計算

時系列分析における移動平均の有用性にもかかわらず、NumPy と SciPy ではこの目的のためにスタンドアロン関数を提供すると、この省略の背後にある理論的根拠について疑問が生じます。

NumPy での移動平均の実装

NumPy で移動平均を実装するための 1 つの簡単なアプローチは次のとおりです。 np.cumsum 関数を使用して、配列の要素を累積します。結果の累積配列を適切にスライスして、移動平均を取得できます。

def moving_average(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n

この方法は比較的高速で、エラーが発生しやすい複雑な解法を回避します。

不足の理由バッテリーを含む機能

移動平均の実装は一見単純であるにもかかわらず、NumPy のコア機能に移動平均が含まれていない理由は、そのような演算の特殊な性質に関連している可能性があります。 NumPy は基本的な数値演算の提供に重点を置いていますが、時系列分析などの特殊なアルゴリズムは専用パッケージに任せられることがよくあります。このアプローチにより、NumPy はコア機能を維持し、ニッチなツールによる肥大化を回避できます。

以上がNumPy には移動平均を計算するための関数が組み込まれていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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