時系列分析:後退オペレータについて
時系列の勉強をしていると、後退オペレータ(Backshift Operator)というのが出てきます。このオペレータを使って時系列モデルを表現することで、簡潔で見通しの良い議論が可能になるようです。本投稿ではこれについて考察したいと思います。なお後退オペレータは、様々な呼び名があるようで、シフトオペレータ、時間シフトオペレータ、Backshift Operator、Backwardshift Operator など異なる記述で書かれています。
後退オペレータの定義
英語版Wikiでは次のように説明してあります
時系列分析において後退オペレータは時系列の要素に作用し、前の要素を生成する
In time series analysis, the lag operator (L) or backshift operator (B) operates on an element of a time series to produce the previous element.
つまり時系列のある時点の値を一時点前の に戻すような操作になります。
次のような時系列があったとすると
後退オペレータは以下のように定義されます。
ある時点の要素に後退オペレータを乗ずることで、一時点前の要素を得ることができます。
同様に二つ前の要素は
のようにアクセスできます。一般に時点前の要素は後退オペレータを用いて次のようにアクセスできます。
後退オペレータの多項式表現
後退オペレータを用いて時系列モデル(確率過程)を簡潔に表現するケースは多く見受けられます。その際に次のように後退オペレータの多項式を使って統一的にモデルを表現します。まずこのことを頭に入れて次の具体例を眺めると良いと思います。
後退オペレータの使いどころ
それでは具体例を見ていきましょう。以下の例はCourseraのここに記載している内容ほぼそのまんまです。
1. ランダムウォーク
まず以下のランダムウォークを考えます。
where
ランダムウォークを後退オペレータを用いて表すと
となります。
さらに後退オペレータの多項式を使って次のようになります。
where
ランダムウォーク自体がシンプルなので、さほど後退オペレータのありがたみは感じません。
2. MA(q)モデル
MA(q)モデルを見てみましょう。 ランダムウォークと同じですがMA過程なのでに対して後退オペレータを適用します
where
というのは簡潔ですね。
3. AR(p)モデル
またAR(p)過程は、次のようになります
where
というのも簡潔ですね。
4. ARMAモデル
上記のMA(q)とAR(p)を踏まえてARMAモデルも考えてみます。
where
ARMAモデルはのように大変スッキリした形で記述できることがわかります。ARモデルとMAモデルの表現も統一感があります。
5. 差分作用素
差分作用素は後退オペレータでも記述できます
1階差の場合:
2階差の場合:
一般に
後退オペレータは何なのか
ところで後退オペレータの実態は何なのでしょうか。ある関数に乗ずることで、をシフトさせるような作用素といえば、複素数が思い浮かびます。厳密ではないですが、後退オペレータは複素数そのものと考えて問題なさそうな気がします。
たとえば関数 があるとして、フーリエ級数に展開できるとすると
等間隔でサンプリングされたすると
これをにしたい場合、 を乗じてあげれば、なんかよさそうです。
なので、この場合で問題ないかなと思うのですが、どなたかご存知でしたら教えて下さい。
追記: 関数解析学の分野でシフト作用素として一般化されているものでした。折を見て、整理し直したいと思います。日々精進
参考文献
- Lag operator | WIKIPEDIA
- 経済・データの計量時系列分析 (統計ライブラリー) – 沖本 竜義
- Practical Time Series Analysis | Coursera
- Appendix B COMPLEX VARIABLES, THE SPECTRUM, AND LAG OPERATOR
- 時系列解析入門 – 北川 源四郎