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

Connected

演習

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

この演習では、statsmodels の arima_process モジュールを使って、パラメータ \(\small \phi\) の異なる複数の AR(1) 時系列をシミュレーションしてプロットします。正の大きな \(\small \phi\) と負の大きな \(\small \phi\) の AR(1) モデルを扱いますが、ぜひご自身のパラメータでも試してみてください。

arima_process モジュールを使う際には、いくつかの約束事があります。第一に、これらのルーチンは AR モデルと MA モデルの両方を扱えるように一般化されています。MA モデルは次のセクションで扱いますので、ここでは MA の部分は無視してかまいません。第二に、係数を入力するときは、遅延 0 の係数 1 を必ず含め、その他の係数の符号は(信号処理の時系列文献に合わせるために)これまで使ってきたものと逆になります。たとえば \(\small \phi=0.9\) の AR(1) 過程では、AR パラメータを表す配列は ar = np.array([1, -0.9]) となります。

指示

100 XP
  • arima_process モジュールからクラス ArmaProcess をインポートします。
  • シミュレーションした AR 過程をプロットします。
    • 上記の説明どおり、AR パラメータ配列 [1, \(\small -\phi\)] を表す ar1 を用意します。MA パラメータ配列 ma1 は、当面は遅延 0 の係数 1 のみを持ちます。
    • パラメータ ar1 と ma1 を使って、クラス ArmaProcess(ar,ma) のインスタンス AR_object1 を作成します。
    • 作成したオブジェクト AR_object1 からメソッド .generate_sample() を使って 1000 点のデータをシミュレーションし、サブプロットにプロットします。
  • 別の AR パラメータについても同様に繰り返します。