« 研究関連20140630 | 最新のページに戻る | 研究関連20140731 »

■ 「状態空間モデル入門」講義に出てきた

明日総研大の大学院講義で「状態空間モデル入門」小山慎介(統計科学専攻)というのがあるので勉強してくる。島崎さんのPLoS Comput Biolとか理解できるようになることを期待して。

予習中。「神経科学と統計科学の対話3」State Space Methods in Neuronal Data Analysis (Z Chen) パート1及びスライド。動画はパート2およびパート3まであり。


「状態空間モデル入門」講義参加してきた。あいにく出席者が少なくて残念なかんじだったが、おかげでバンバン質問してマンツーマン的に教わることができた。講義としてはまず確率的因果推論とマルコフ過程の概論から。

確率的因果推論っていうけど、以前ブログで「ラットの因果推論」について採り上げたときに、原因の確率を手計算していたけど、あれがまさに確率的因果推論であって、PRML8章の「グラフィカルモデル」というやつのこと。たとえば遺伝の話で言えば、メンデルの法則っていうforwardモデルがあるから、先祖から子孫で表現型がどのような確率で伝わるかわかる。ベイズの法則を使えば逆向きの推定ができて、ある子孫の表現型から先祖の表現型の確率を推定できる。

マルコフ過程のほうはPRML13章の「系列データ」に出てくるあれ。状態量x(t)が直前のx(t-1)だけで決まる。隠れマルコフモデルでは、計測値y(t)と見えない状態値x(t)とに変換式P(y(t)|x(t))があって、x(t)がマルコフ過程になっている状態空間モデルの特殊例(取り扱いしやすい例)だということですっきりまとまった。

ベイジアンのグラフィカルモデルでは有向でループのないツリー状構造が扱われるのに対して、マルコフ過程ではx(t-1)だけでx(t)が決まるという、枝のない特殊例であるということも理解した。

カルマンフィルターも状態空間モデルの特殊例で、隠れマルコフモデルが離散的であるのに対して、カルマンフィルターは連続的であり、ノイズがガウシアンであるという仮定が入ってる。

隠れマルコフモデルでは、いったん計測値y(1:t-1)が入手できれば、現在の状態値x(t)の確率密度分布p(x(t)|y(1:t-1))を計算するのにチャップマン=コルモゴロフ方程式を使ってやればよい。

M1ニューロン活動から運動の方向をデコードするような例の場合、ニューロン活動も運動も自己相関が高いので運動の方向は急には変わらない、つまり自己相関が高いのでマルコフ過程の仮定を置くことができて、デコーディングがうまくいく。

実際にチャップマン=コルモゴロフ方程式を使う際には

p(x(t)|y(1:t)) ∝ p(y(t)|x(t)) * p(x(t)|y(1:t-1))

でベイズの公式を使う。規格化するために分母を計算しないといけないのでパーティクルフィルタとか使ったりとかいろいろテクがある。講義では省略されてたけど、ここが難しいし、時間がかかる部分であることはわかる。

けっきょく状態空間モデルでは見えない状態x(t)を計測値y(t)から推測するためにベイズ推定を使うので、x(t)からy(t)を生成するモデルがうまく作れないとダメな推定を行ってしまうことになる。


後半の講義では、小山さんのJ Comput Neurosci. 2010 Comparison of brain-computer interface decoding algorithms in open-loop and closed-loop controlを元にした話をしてた。

ここでは、デコーディングをする際に、1) population vector => 2) ordinary least squares => 3) nonlinear least squares => 4) loglinear least squares => 5) state space model とモデルを変えるごとに拘束条件をゆるめてより自由なモデリングができること、そしてこれらのなかでM1ニューロンのデコーディング(Andy Schwartzのデータを利用)にはどの拘束条件が効いているかを検討した話を聞いてきた。

結論としてはopen loopのデコーディングでは「サンプルしたニューロン集団のなかでpreferred directionが一様に分布している」という1)での縛りが聞いているのだけれど、closed loopでは動物が学習してくれるのでこの縛りは重大でなくなる。それでも5)でadaptiveのノイズのスムージングをしてくれることがデコーディングの性能に効いているという点ではclosed loopでもopen loopでも変わらん、というものだった。

これはモデル推定のパラダイムだから、たとえば状態空間のモデルとして複数のものを作って、それらからより良いモデルを選択するということも可能。


状態空間モデルは自由度が高いので、島崎さんの論文のように高次相関を状態空間モデルに組み込んでやれば、時々刻々と高次相関が出たり消えたりする(セルアセンブリの形成)のを推定することができる。多細胞同時記録神経スパイク時系列データの状態空間モデルおよび動的スパイク相関の状態空間モデル やっとこのへんわかってきた。

状態空間モデルでは、データの追加にともなってそのつどベイズ更新をしてゆくから、たとえば電極埋め込んで長期間デコーディングをしてゆくときとだんだん記録が悪くなっていくのだけど、そのときにデコーダーを逐次アップデートしてゆくことができるわけで、それはよさそう。ざっとググってみたかんじタイトル的にこの論文が該当するか:Neural Comput. 2011 "Adaptive decoding for brain-machine interfaces through Bayesian parameter updates."


状態空間モデルがうまくいけば、状態量 x(t-1) -> x(t) -> x(t+1) といった推移を推定できるわけで、究極的にはそれがスパイキングネットワークモデルでの推移則を決めるための拘束条件にできればいい。こうすると力学系的アプローチにつながる。夢見過ぎだろうか?

それはそれとして、時系列の解析で見えない過程から測定値への変換のモデルを作って、測定値から見えない過程を推定する、というのはまさに生理学者がやりたいことそのものなので、いろんなところに使えるということがわかる。


ニューロン活動だけでなくって、サリエンシーに基づいた視覚探索の場面でも使えるだろう。サリエンシーにもとづいてどのように目を動かすか、IORとかattention apertureとかいくつかパラメータを作って、モデルを作ってパラメータフィッティングとか最近やってるんだけど、これってまさに状態空間じゃね?

とか思ってふと考えてみたら、NTT木村さんがやってたのってまさにベイジアンな隠れマルコフモデルによるアプローチだった。A stochastic model of human visual attention with a dynamic Bayesian network いまのいままで繋がってなかったomg!!! ということでなにすればいいか判明した!


お勧めエントリ


月別過去ログ