pythonの状態空間モデルパッケージ「pykalman」を使ってみる
経緯
「状態空間モデルで分析」といえば現状RのdlmやKFASの領分なのですが、現在pythonの方が熱いし、何より、
モデリング以外をpythonで書いたのにモデリングだけRで書く
って気持ち悪くない?という事で、聞き込みしたり調べたりしたらどうやら「pykalman」なるパッケージが存在するという話を聞き、試して見たという感じ*1。
「状態空間モデルとはなんぞや?」みたいな話は気が向いたら別の日に書きます。状態空間モデル知らない人向けにこの記事書くの敷居高くない?とか言わない
また、今回は本当に導入だけです。pykalmanの使い方に関する、こみ入った話もいつかすると思います。
使い方
マニュアルはここです。 今更気づいたんですけど、最終更新が2012年でversionが1.0未満って考えるとちょっと使いづらいかもしれません。
インストール
マニュアルには色々書いてありますが、他の方法としてはpipでいけます。
$ pip install pykalman
動作確認
ひとまずgithubにあがっているexamplesのどれかを実行して見たら良いのではないでしょうか。 github.com
「examples/standard/plot_filter.py」を実行すると、以下のような図が出力されました。
この例は、指定した方程式に従う2次元の時系列をサンプリングして、それにフィルタリングとスムージングをかけているみたいですね。
とりあえずインストールと動作確認ができたところで、今回はおしまい。