状態空間に入門してみる[コンセプト編①]
前回の記事では状態空間モデルに入門する前の下準備として,時系列分析の必要性を自分なりに整理してみました。
今回はコンセプト編と銘打ちまして,状態空間法がどういう思想に基づいてデータを解析するのか,その概念的な理解を目的として整理したいと思います。
テキストは前回に引き続き,Commandeur & Koopman本こと『状態空間時系列分析入門』です。
- 作者: J.J.F.コマンダー,S.J.クープマン,Jacques J.F. Commandeur,Sime Jan Koopman,和合肇
- 出版社/メーカー: シーエーピー出版
- 発売日: 2008/09/01
- メディア: 単行本
- 購入: 2人 クリック: 4回
- この商品を含むブログを見る
前回にも記載しましたが,この本の章立てを最初に載せておきます。
第1章 はじめに
第2章 ローカル・レベル・モデル
第3章 ローカル線形トレンド・モデル
第4章 季節要素のあるローカル・レベル・モデル
第5章 説明変数のあるローカル・レベル・モデル
第6章 干渉変数のあるローカル・レベル・モデル
第7章 英国シートベルト法とインフレーション・モデル
第8章 単変量状態空間モデルの一般的な取り扱い
第9章 多変量時系列分析
第10章 時系列分析に対する状態空間法とボックス-ジェンキンス法
第11章 実践的な状態空間モデリング
第12章 おわりに
今回の記事では,同一の具体例(データ)に対して最もシンプルなモデルからパラメータを一つずつ追加していく形で状態空間法の具体例を示している前半,第1章~第7章の内容をぼんやりとまとめつつ,状態空間モデルのおおまかな考え方をぼやっと理解できることを目指します。
細かな話,詳しい話は後半に関する記事に譲るものとして,とにもかくにも状態空間モデルについてのスキーマを作ってしまおう,ということです。
このコンセプト編は2回に分けて書こうと思っています。
①では状態空間モデルの考え方を確認し,②ではこの手法で導入される「状態」というものの各要素について掘り下げていくつもりです。
前回の復習と通常の時系列解析の問題点
本題に入る前に前回の復習ですが,時系列分析には次に挙げるような2つの目標がありました。
- 時系列における先の「予測」
- 各時点での挙動の「説明・記述」
しかしながら,通常の時系列解析,いわゆるBox-Jenkins法がベースとしているARIMAモデル*1などにはいくつかの問題点があることが指摘されているようです。*2
具体的には,時点間での欠測に弱いことが重大な問題として挙げられます。
たとえば,昨日のデータから今日の予測をするという場合に,昨日のデータがなければ予測のしようがないわけで,時点で欠測したデータがあるという状況では普通に手法を適用することができません。
こうした問題に対処可能であり,かつ柔軟にモデルを組み立てることができる方法として,目下勉強中の状態空間モデルがあると言えましょう。*3
状態空間モデルへ
先に挙げた時系列データの分析における2つの目的を達成しつつ,誤差が相関するといった重大な問題を解決するために回帰分析の枠組みを拡張するというのが時系列分析の基本的な考え方となるわけですが,状態空間モデルではこれを担うものとして状態(State)というものを考えます。
テキストであるCommandeur,Koopman(2007)(和合 訳(2008)*4)の第1章では,この状態(State)について次のように述べられています。
時系列分析は,時間を通じて観測される観測値のダイナミックな動きを明らかにする主要な方法である。ダイナミックな性質はデータから直接観測することはできないと仮定されている。時点での観測されないダイナミックなプロセスは,時系列の状態と呼ばれる。*5
こうした観測値と状態との関係は,次のようなパス図として視覚化できると思います。
言葉としては,時点において,観測された変数としての観測値と,その背後に存在して影響を与える観測されない変数(潜在変数)としての状態が別々に存在しており,それぞれが次の時点の自分自身に対して影響を与えると言うことができるでしょう。
こうした関係を,状態空間モデルでは状態に関する式である状態方程式と,観測値に関する式である観測方程式という2つの式を用いて表現します。
余談(?)ながら,この方法はもともと制御工学で発展してきたもののようで,ある製品を作るための大きな装置があるとき,この装置のある部位が正常に動作しているかどうかは中身を空けて覗き見ることができないという状況においても,その部位に入ってくるものと出てくるもの,つまり入出力はわかるのでそれらから中の状態を推測できるのだ!という感じで考えられ発展してきたのだったように思います。
このあたりの話は完全にどこかでちらっと見たレベルなので,あまりあてにしないでくださりますと助かります。
状態(State)とは?
状態空間モデルでは状態というものが観測値の背後に存在しており,それが観測値に影響を与えるという構造を考えることがわかったところで,この状態について概観してみたいと思います。
時系列の状態は,いくつかの要素によって成り立つことが知られています。
この要素は役割で分類を行うと次のように2種類に分けることができます。
- 「時系列を適切に記述する役割のもの」
- 「時系列の基礎的な動きを説明するもの」
前者に該当するものとしては
- レベル(切片)
- 傾き(トレンド)
- 季節
後者に該当するものとしては
- 説明変数
- 干渉変数
というものがあります。
各要素についてはボリュームの関係からコンセプト編②の記事で詳しく書くつもりです。
これらの要素は,時点間での変動を認めるか否かという視点からも2種類に分けることができます。
- 確定的状態(時点間で変動なし)
- 確率的状態(時点間で変動あり)
したがって,状態の要素は次のように整理できます。*6
説明変数についてはたとえばテスト得点のようなものを継続して収集することを想定すれば時点間で変動する確率変数なので確率的なものですが,データの性質によっては定数であることもありうることを考慮して,カッコつきで確定的の方にも入れてあります。
表を見ていただければわかると思うのですが,記述的な役割を担う3つの要素は,確定的なものと確率的なものの両方があります。
これらによって時系列の折れ線を柔軟に表現することができるようになるのが状態空間法の強みと言えます。
今回のまとめ
今回は,時系列分析から状態空間法へということで,通常の時系列分析では対応できない問題にも簡単に対処ができることを最初に確認しました。
次に,状態空間モデルでは観測値に関する方程式である観測方程式とは別に,それに影響を与える状態(State)についての状態方程式というものを考えることを確認し,パス図によって状態空間モデルのイメージ化を図りました。
最後に,初出概念である「状態」を概観するため,状態を構成する「要素」をその役割(記述/説明)と時点間での変動を認めるか否かというふたつの観点から種類に分類し,こうした多様な要素によって柔軟なモデリングができることを確認しました。
ということで,状態空間に入門してみる修行の旅,コンセプト編①でした。
ぼんやーりとこういうことを考えてるのね,ということを今回の記事でおさえつつ,次回のコンセプト編②では4種類に分類した状態の要素各々について確認していければと思います。
*1:Auto Regression Integration Movement Average model,自己回帰和分移動平均モデル
*2:こうした問題点についてはここで挙げているテキストだと第10章に記載があるものと思いますが,まだ目を通していません。すみません。
*3:個人的には,異なる仕組みで成り立つ手法である以上,当然関心の違いや機能の違いがあるはずなので,適用のしやすさはあるかもしれませんがどちらの手法がより良いというのはないと思います。
*4:以下訳者省略いたします,すみません。
*5:太字は本文まま。
*6:面倒だったのでエクセルで表をつくったらとても汚くなりました。不覚です。