でこぼこの移動平均

Dekobokono Yi Dong Ping Jun



トピックを開始する前に、移動平均とは何かを理解しましょう。統計では、移動平均はデータ ポイントを計算して分析するための手法です。完全なデータセットから一連の異なるサブセットの平均を作成することにより、データ ポイントを計算します。したがって、移動平均は、時間の経過に伴う情報系列の典型的な変化を捉える測定値です。移動は、最も柔軟で頻繁に使用されるテクニカル分析指標の 1 つです。使い方がとても簡単なので、プロの投資家は統計の特定のデータセットの手段としてそれを採用しています。また、日次または分単位のデータを使用して、より短い期間の移動平均を計算することもできます。たとえば、10 日間の移動平均を決定する場合、この例では、過去 10 日間のいずれかの終値を合計するだけです。日を計算し、結果を 10 で割ります。翌日には、過去 10 日間の価格も計算されます。つまり、初日の価格は計算されません。むしろ昨日の価格に置き換えられます。このように移動日ごとにデータが変化することを移動平均線と呼びます。移動平均の目的は、トレンドの開始を決定し、その進行状況を追跡し、発生した場合に反転を報告することです。移動平均を計算する式は、Ft = (Dt1+Dt2+Dt3…+Dtn)/n です。ここで、Dt は期間 t の需要、Ft は時間 t の予測です。

構文:

次のようなさまざまな方法で移動平均を計算できます。

方法 1:

NumPy. 絶頂 ( )

指定された配列の要素の合計を返します。 cumsum() の出力を配列のサイズで割ることにより、移動平均を計算できます。







方法 2:

NumPy. . 平均 ( )

以下のパラメータがあります。



a: 平均化される配列形式のデータ。



axis: データ型は int で、オプションのパラメーターです。





weight: これも配列であり、オプションのパラメーターです。 1-D 形状と同じ形状にすることができます。 1 次元の場合、a 配列と同じ長さでなければなりません。

NumPy には移動平均を計算する標準関数がないように見えるため、他の方法で実行できることに注意してください。



方法 3:

移動平均を計算するために使用できる別の方法は次のとおりです。

例えば 畳み込む ( a モード = '満杯' )

この構文では、a は最初の入力次元であり、v は 2 番目の入力次元値です。 Mode はオプションの値で、full、same、valid のいずれかです。

例 # 01:

さて、Numpy の移動平均について詳しく説明するために、例を挙げましょう。この例では、NumPy の convolve 関数で配列の移動平均を取り出します。したがって、要素として 1,2,3,4,5 を持つ配列「a」を取得します。次に、np.convolve 関数を呼び出し、その出力を「b」変数に格納します。その後、変数「b」の値を出力します。この関数は、入力配列の移動合計を計算します。出力を印刷して、出力が正しいかどうかを確認します。

その後、同じ convolve メソッドを使用して出力を移動平均に変換します。移動平均を計算するには、移動合計をサンプル数で割るだけです。しかし、ここでの主な問題は、これが移動平均であるため、現在の場所に応じてサンプル数が変化し続けることです。したがって、この問題を解決するには、単純に分母のリストを作成し、これを平均に変換する必要があります。

そのために、分母用に別の変数「denom」を初期化しました。範囲トリックを使用したリストの理解は簡単です。この配列には 5 つの異なる要素があるため、各場所のサンプル数は 1 から 5 になり、5 から 1 に戻ります。したがって、単純に 2 つのリストを一緒に追加し、それらを「denom」パラメーターに格納します。ここで、この変数を出力して、システムが真の分母を与えているかどうかを確認します。その後、移動合計を分母で割り、出力を「c」変数に格納して出力します。コードを実行して結果を確認しましょう。

輸入 でこぼこ なので 例えば

a = [ 1 2 3 4 5 ]

b = 例えば 畳み込む ( a 例えば 好きなもの ( a ) )

印刷する ( 「ムービングサム」 b )

名前 = リスト ( 範囲 ( 1 5 ) ) + リスト ( 範囲 ( 5 0 - 1 ) )

印刷する ( 「分母」 名前 )

c = 例えば 畳み込む ( a 例えば 好きなもの ( a ) ) / 名前

印刷する ( '移動平均 ' c )

コードが正常に実行されると、次の出力が得られます。最初の行では、「Moving Sum」を出力しました。元の配列と同じように、配列の先頭に「1」、末尾に「5」があることがわかります。残りの数値は、配列のさまざまな要素の合計です。

たとえば、配列の 3 番目のインデックスの 6 は、入力配列から 1、2、および 3 を追加した結果です。 4 番目のインデックスの 10 は、1、2、3、および 4 から得られます。15 は、すべての数を合計することから得られます。これで、出力の 2 行目に配列の分母が出力されました。

出力から、すべての分母が正確であることがわかります。つまり、分母を移動和配列で割ることができます。ここで、出力の最後の行に移動します。最後の行では、移動平均配列の最初の要素が 1 であることがわかります。1 の平均は 1 であるため、最初の要素は正しいです。 1+2/2 の平均は 1.5 になります。出力配列の 2 番目の要素が 1.5 であるため、2 番目の平均も正しいことがわかります。 1,2,3 の平均は 6/3=2 になります。また、出力が正しくなります。したがって、出力から、配列の移動平均の計算に成功したと言えます。

結論

このガイドでは、移動平均について学びました: 移動平均とは何か、その用途は何か、移動平均の計算方法.数学とプログラミングの両方の観点から詳細に研究しました。 NumPy には、移動平均を計算するための特定の関数やプロセスはありません。しかし、移動平均を計算できる他のさまざまな関数があります。移動平均を計算する例を作成し、例のすべてのステップを説明しました。移動平均は、既存のデータを利用して将来の結果を予測するための便利なアプローチです。