1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ時系列解析

Connected

演習

MA(1) 時系列のシミュレーション

この課題では、statsmodels の arima_process モジュールを使って、パラメータ \(\small \theta\) が異なる複数の MA(1) 時系列をシミュレーションし、プロットします。前の章で AR(1) モデルに対して行ったのと同様です。ここでは、\(\small \theta\) が大きい正の値の場合と大きい負の値の場合を確認します。

前の章と同様に、係数を入力する際はラグ 0 の係数 1 を含める必要があります。ただし、AR モデルの章と異なり、MA 係数の符号は直感どおりになります。たとえば、\(\small \theta=-0.9\) の MA(1) 過程では、MA パラメータを表す配列は ma = np.array([1, -0.9]) となります。

指示

100 XP
  • arima_process モジュールからクラス ArmaProcess をインポートします。
  • シミュレーションした MA(1) 過程をプロットします。
    • 上で説明したとおり、ma1 は MA パラメータ [1, \(\small \theta\)] の配列を表します。AR パラメータ配列はラグ 0 の係数 1 のみを含みます。
    • パラメータ ar1 と ma1 を使って、ArmaProcess(ar,ma) クラスのインスタンス MA_object1 を作成します。
    • 直前に作成したオブジェクト MA_object1 から、メソッド .generate_sample() を使って 1000 点をシミュレーションし、サブプロットにプロットします。
  • もう一方の MA パラメータについても同様に繰り返します。