SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
データ同化とフィルタの紹介



             2012/9/8
           Tokyo.R #26
           @xiangze750

2012/9/8                 1
Agenda
   データ同化とは
   データ同化の応用範囲
   状態空間モデル
   予測と平滑化
   カルマンフィルタ
      – sspirパッケージ
      – いろいろなパッケージ
   パーティクルフィルタ
      – RcppSMCパッケージ
           –   非線形力学系とフィルタ
   まとめと課題
   Reference
2012/9/8                     2
自己紹介

   @xiangze750

   LSIメーカー勤務
画像圧縮、画像処理


普段使うプログラミング言語
C++, Verilog HDL, Perl, VBA, R


普段使う自然言語
日本語、英語、中国語



2012/9/8                         3
データ同化(Data Assimilation)とは
       ある未知のパラメータを含んだ方程式に基づいたシミュレーションの結果
        を実際の観測値を用いて補正する




  Figure 1. The representation of the NINO3.4 SST (red and blue lines:
  reproduced, black: observation). Coupled data assimilation (bottom panel)
  reproduces the state of the 1990's much better than simulation (top panel).

http://www.jamstec.go.jp/drc/maps/e/kadai/clm/clm_or_ap4.html

       2012/9/8            http://www.hzg.de/institute/coastal_research/cosyna/007914/index_0007914.html
                                                                                       4
データ同化の応用範囲

   流体力学的計算(Navier-Stokes 方程式に従う)
    –      数値的天気予報
    –      気候モデル(大気海洋結合モデル、エルニーニョの予測)
    –      津波のシミュレーション
    –      放射性物質の拡散予測http://www.cs.kyoto-u.ac.jp/wp-
           content/uploads/2012/06/03ishikawa.pdf




   その他
     –  遺伝子発現調節モデル
                                             予測対象のメカニズム(運動方程式が)ある程度
                                             わかっている。
                                             未知なパラメータが存在する
2012/9/8                                                 5
エルニーニョの予測
   海洋研究開発機構と東京大学によるエルニーニョの予測
• 大気と海洋の相互作用によって海水温度の深度分布を未知のパラメータ
  として推定し、予測に取り入れた。




            http://www.jamstec.go.jp/j/about/press_release/20100222/
2012/9/8                                                6
            http://www.jamstec.go.jp/drc/maps/e/kadai/clm/clm_or_ap4.html
遺伝子発現調節モデル

どのようにしてしましまが形成されるのか
 – ショウジョウバエの体節形成に関わる遺伝子




                   http://en.wikipedia.org/wiki/Drosophila_embryoge
                   nesis

 2012/9/8                            7
遺伝子発現調節モデル




           Modeling and Estimation of Dynamic EGFR Pathway
           by Data Assimilation Approach Using Time Series
           Proteomic Data
           http://www.jsbi.org/pdfs/journal1/GIW06/GIW06F032.pdf
2012/9/8   http://www.jsbi.org/pdfs/journal1/GIW06/GIW06F032Suppl.html
                                                                  8
データ同化の種類
                       逐次型                非逐次型
代表的手法                  アンサンブルカルマンフィルタ     4次元変分法

解                      周辺分布               状態ベクトル列の状態
                                          ベクトルの事後
数理的観点から                統計的推測              最適化

シミュレーションの規模            中〜小規模              超大規模も可能

使われている領域               すべて                気象、海洋予報

プログラムの実装               プラグイン化可能           エキスパートが最適な
                                          最適化手法を実装
High           performance スカラー並列計算機向き    ベクトル計算器向き
computing
シミュレーションモデル            尤度により可能            困難
の比較

               今回は逐次型を説明します。       樋口知之 編著 データ同化入門 p.14
    2012/9/8                              9
状態空間モデル

   システムモデル(発展方程式)
      –  n次元時系列xt=(x0t,x1t,x2t,...,xnt)
           –   予測対象(隠れた変数) xt

                                     一般の場合
                                     線形の場合
           –   モデル内の未知の要素 z (確率変数)


    真の発展方程式にはあるが値が未知のためシミュレーションモ
    デルに含むことができない変数を確率変数(システムノイズ)と
    して入れこむ。



2012/9/8                                  10
状態空間モデル

   観測モデル
      –  観測にはノイズがつきもの
           –   確率変数wtとしてノイズを表現する
                               一般の場合
                               線形の場合
   システムモデル&観測モデル


                           真の発展方程式にあってシミュ
                           


                           レーションモデルに含めない変数
                           を確率変数(システムノイズ)として
                           入れこむ
                           
                            2種類のノイズが含まれる

2012/9/8                               11
グラフィカルモデル

確率変数間の関係を矢印で結んだもの
時系列モデルの場合は変数が鎖状に並ぶ(隠れマルコフモデル)
逐次データ同化とは事後分布p(xt|y1:t-1)の推定
 x0        x1   x2   x3            xT-1    xT

                          ….



 y0                                yT-1    yT

                               確率変数
                               



                               x (隠れ変数)
                               



                               y 観測された変数
                               


2012/9/8                                  12
予測分布と計算法

   逐次データ同化とは事後分布p(xt|y1:t-1)の推定

   予測分布
   フィルタ分布
   平滑化分布


           x0   x1   x2   x3        xt-1   xt        xT-1 xT
                               ….               ….



           y0   y1                  yt-1 yt          yT-1 yT

2012/9/8                                               13
予測分布の計算手法

    ベイズの定理を用いる



    xt-1   xt

                     矢印を逆にたどって分布p(xt|y1:t-1)を推
                     測する。




    yt-1        yt



2012/9/8                            14
予測分布の計算手法

   予測分布
            xt-1の導入

            条件付き確率の式

            Xtとy1:t-1の独立性(グラフでつながって
            いない)




2012/9/8               15
予測分布の計算手法

フィルタ分布


           ベイズの定理(yt)

           条件付き確率の式(xt)


           ytとy1:t-1の独立性(グラフでつながって
           いない)

           Xtの導入

           条件付き確率の式(xt,分母)



2012/9/8                     16
平滑化(smoothing)

   xtより将来の一定期間の観測値を用いて推測する
       – 固定区間平滑化
       – 固定点平滑化
       – 固定ラグ平滑化
          • t:t+Lの区間を状態ベクトルとする




2012/9/8                   17
予測分布の代表的計算法

   カルマンフィルタ
      – 線形モデル、ガウシアンノイズの場合のみ
   アンサンブルカルマンフィルタ
      – 非線形、ガウシアンノイズに対応
   パーティクル(粒子)フィルタ
      – 非線形モデル、非ガウシアンノイズにも対応




2012/9/8                  18
カルマンフィルタ

   線形モデル、ガウシアンノイズの場合平均、分散が積分計
    算を実行することなく解析的に求まる。
      – モデル



           –   Prediction step

           –   Update(filter) step




2012/9/8                             19
カルマンフィルタ

   Prediction step

   Update(filter) step




                          Pk xkの共分散行列
                          



                          Sk ykの共分散行列
                          



                          Kk カルマン行列(Pk)のupdateで用い
                          


                          られる行列
2012/9/8                                 20
カルマンフィルタ

   Prediction stepとUpdate(filter) step




2012/9/8                                  21
カルマンフィルタ

   時系列解析との関係

           –   auto.arma関数の出力に推定されたカルマンフィ
               ルタのパラメータが保存されている。
           –   ARMAモデル



           –   KalmanLike,KalmanRun,
               KalmanSmooth,KalmanForecast関数が利用可能

                      http://www.slideshare.net/hamadakoichi/r-3836773

2012/9/8                                           22
カルマンフィルタ

library( forecast )
tsdisplay( BJsales )
r<-auto.arima(BJsales)
plot( forecast( r, h=10 ) ) #予測値(右図)
r$model #Kalman行列などが表示される。
KalmanForecast(10,r$model) #予測
#特定係数のarmaモデルによるシミュレー
  ション
simr<-armaSim( model=list( ar=c( 0.3,
   -0.3 ), d=2,ma=c( 0.5, 0.7 ) ), n=200)
#尤度の推定
r2<-KalmanLike(simr,r$model)         http://itbc-world.com/R_fm_library/r%E3%81%AE
                                     %E7%B5%B1%E8%A8%88%E9%96%A2%E6%95%B0/arim
                                     a%E3%83%A2%E3%83%87%E3%83%AB/

2012/9/8                                                   23
いろいろなカルマンフィルタパッケージ

   sspirパッケージ
         – 非ガウシアンノイズ(Poisson,二項分布)
         – Linear
   KFASパッケージ
       – 非ガウシアンノイズ、Linear




            http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf
           http://hosho.ees.hokudai.ac.jp/~kubo/ce/TimeSeriesData.html
           http://www.jstatsoft.org/v16/i01/paper
2012/9/8                                           24
いろいろなカルマンフィルタパッケージ

   相違点
      – 平滑化の実装
      – 非ガウシアンノイズへの対応
      – 逆行列の計算方法




2012/9/8 http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf
                                                             25
パーティクルフィルタ

   事後確率分布を多数の”粒子”で近似する
   利点
           –   非ガウシアンノイズ、非線形モデルに対応できる。
           –   並列化に向いている。

   欠点
           –   粒子数が少ないと分布をうまく近似できない
           –   多くの粒子が一カ所に集まる退化と呼ばれる現象が起こる。


応用例
           物体追跡(ロボットの位置推定など)


2012/9/8                          26
パーティクルフィルタ

   処理の流れ




2012/9/8     27
パーティクルフィルタ

   処理の流れ




2012/9/8     28
パーティクルフィルタ

   処理の流れ




2012/9/8     29
パーティクルフィルタ

   処理の流れ




2012/9/8     30
RcppSMC

    3種類のモデルのパーティクルフィルタが使用できる(らし
     い)。
        –  blockpfGaussianOpt
        – Linear
        – Nonlinear

sim <- simGaussian(len=250)
res <- blockpfGaussianOpt(sim$data,lag=5,plot=TRUE)




                                  http://d.hatena.ne.jp/teramonagi/20120411/1334153387

 2012/9/8                                                    31
MCMCの実行

   パーティクルフィルタはモンテカルロ法の一種と言える。
   MCMCpack
      – 使用できるモデルは限定されている。
   R2winBUGS
       – WinBUGS(or OpenBUGS)を呼び出している。
   RcppBUGS
           –   BUGSのc++実装、
           –   http://www.rinfinance.com/agenda/2012/talk/WhitArmstrong.pdf




2012/9/8                                                  32
MCMCの実行

   RcppBUGSの記述例
http://www.rinfinance.com/agenda/2012/talk/WhitArmstrong.pdf





    BUGS言語で隠れマルコフモデルを記述するのは大変そう。。。

2012/9/8                                                 33
パーティクルフィルタの実施例

   モデル Lorenz方程式




Sigma=10, b=8/3 r<=24 固定点
Sigma=10, b=8/3 24<r<=300 ストレンジアトラクタ
Sigma=10, b=8/3 r>330 リミットサイクル

2012/9/8                               34
パーティクルフィルタの実施例
    双子実験
       –  観測値の代わりにシミュレーションを行う。
       –  パーティクルフィルタなどの手法の検証ができる。


                  Yt




実験データ取得用のシミュレーション      データ同化用シミュレーション


 2012/9/8                    35
パーティクルフィルタの実施例

時系列、分布(N=100,r=4,固定点)



                        Yt




実験データ取得用のシミュレーション                データ同化用シミュレーション

                               収束している
                   https://github.com/xiangze/particlefilter_dynamical
2012/9/8                                       36
パーティクルフィルタの実施例

時系列、分布(N=100,r=4,固定点)




実際の値とparticleの平均値との差             particleの分散

                               収束している
                   https://github.com/xiangze/particlefilter_dynamical
2012/9/8                                       37
パーティクルフィルタの実施例

時系列、分布(N=100,r=28,ストレンジアトラクタ)



                      Yt




実験データ取得用のシミュレーション              データ同化用シミュレーション

                               収束している???
                 https://github.com/xiangze/particlefilter_dynamical
2012/9/8                                     38
パーティクルフィルタの実施例

時系列、分布(N=100,r=28,ストレンジアトラクタ)




実際の値とparticleの平均値との差      particleの分散
絶対値が大きい              時折particleが大きくばらける場合がある。
          パーティクルフィルタの性能を高める方法
          に関しては「データ同化入門」の7章 融合粒
 2012/9/8 子フィルタも参照                   39
まとめと課題

   データ同化の概念とその応用範囲を紹介した。
   逐次データ同化の手法としてカルマンフィルタ、パーティクルフィルタ
    を紹介した。
      –  カルマンフィルタは複数のパッケージで利用できる。
           –   RではパーティクルフィルタをRcppSMCで利用することが
               可能
           –   非線形モデルにおけるパーティクルフィルタを実装し動作の
               確認を試みた。
           –   平滑化の実装が課題




2012/9/8                            40
Reference

   ブログ
      –        http://d.hatena.ne.jp/teramonagi/20120411/1334153387
   スライド
      –  http://www.slideshare.net/horihorio/howtousetimeseries
      –  http://www.slideshare.net/hamadakoichi/r-3836773
   論文
           –   http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf
   本
           –   データ同化入門
           –   予測に生かす統計モデリングの基本
今回使用したコード
                   • https://github.com/xiangze/particlefilter_dynamical


2012/9/8                                                            41

Weitere ähnliche Inhalte

Was ist angesagt?

ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門Miyoshi Yuya
 
RStanとShinyStanによるベイズ統計モデリング入門
RStanとShinyStanによるベイズ統計モデリング入門RStanとShinyStanによるベイズ統計モデリング入門
RStanとShinyStanによるベイズ統計モデリング入門Masaki Tsuda
 
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章Shushi Namba
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデルMasashi Komori
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版Masahito Ohue
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数daiki hojo
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)Takashi J OZAKI
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布についてhoxo_m
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Hiroshi Shimizu
 
馬に蹴られるモデリング
馬に蹴られるモデリング馬に蹴られるモデリング
馬に蹴られるモデリングShushi Namba
 
ベイズ統計モデリングと心理学
ベイズ統計モデリングと心理学ベイズ統計モデリングと心理学
ベイズ統計モデリングと心理学Shushi Namba
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6禎晃 山崎
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用Tomonari Masada
 
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違いマハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違いwada, kazumi
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森Masashi Komori
 
Stanの事後処理 LTver
Stanの事後処理 LTverStanの事後処理 LTver
Stanの事後処理 LTverdaiki hojo
 

Was ist angesagt? (20)

ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
 
RStanとShinyStanによるベイズ統計モデリング入門
RStanとShinyStanによるベイズ統計モデリング入門RStanとShinyStanによるベイズ統計モデリング入門
RStanとShinyStanによるベイズ統計モデリング入門
 
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数
 
WAICとWBICのご紹介
WAICとWBICのご紹介WAICとWBICのご紹介
WAICとWBICのご紹介
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
馬に蹴られるモデリング
馬に蹴られるモデリング馬に蹴られるモデリング
馬に蹴られるモデリング
 
ベイズ統計モデリングと心理学
ベイズ統計モデリングと心理学ベイズ統計モデリングと心理学
ベイズ統計モデリングと心理学
 
PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6PRML 上 1.2.4 ~ 1.2.6
PRML 上 1.2.4 ~ 1.2.6
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用
 
マハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違いマハラノビス距離とユークリッド距離の違い
マハラノビス距離とユークリッド距離の違い
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
Stanの事後処理 LTver
Stanの事後処理 LTverStanの事後処理 LTver
Stanの事後処理 LTver
 
時系列分析入門
時系列分析入門時系列分析入門
時系列分析入門
 

Andere mochten auch

機械の代わりに人間が学習入門
機械の代わりに人間が学習入門機械の代わりに人間が学習入門
機械の代わりに人間が学習入門Shuyo Nakatani
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnetNagi Teramo
 
MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナーMCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナーTakashi Yamane
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較Hiroki Itô
 
カルマンフィルタについて
カルマンフィルタについてカルマンフィルタについて
カルマンフィルタについてtiny_ak
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 

Andere mochten auch (8)

機械の代わりに人間が学習入門
機械の代わりに人間が学習入門機械の代わりに人間が学習入門
機械の代わりに人間が学習入門
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
 
MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナーMCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナー
 
Ml ch7
Ml ch7Ml ch7
Ml ch7
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較
 
カルマンフィルタについて
カルマンフィルタについてカルマンフィルタについて
カルマンフィルタについて
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 

Ähnlich wie Data assim r

200730material fujita
200730material fujita200730material fujita
200730material fujitaRCCSRENKEI
 
ISMB読み会 2nd graph kernel
ISMB読み会 2nd graph kernelISMB読み会 2nd graph kernel
ISMB読み会 2nd graph kernel弘毅 露崎
 
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDTScan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDTKitsukawa Yuki
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介Taku Yoshioka
 
Risk based portfolio with large dynamic covariance matrices
Risk based portfolio with large dynamic covariance matricesRisk based portfolio with large dynamic covariance matrices
Risk based portfolio with large dynamic covariance matricesKei Nakagawa
 
第8回関西CV・PRML勉強会(Meanshift)
第8回関西CV・PRML勉強会(Meanshift)第8回関西CV・PRML勉強会(Meanshift)
第8回関西CV・PRML勉強会(Meanshift)Yutaka Yamada
 
[読会]Logistic regression models for aggregated data
[読会]Logistic regression models for aggregated data[読会]Logistic regression models for aggregated data
[読会]Logistic regression models for aggregated datashima o
 
Jubatusの特徴変換と線形分類器の仕組み
Jubatusの特徴変換と線形分類器の仕組みJubatusの特徴変換と線形分類器の仕組み
Jubatusの特徴変換と線形分類器の仕組みJubatusOfficial
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析Kunihiro Hisatsune
 
Akira Imakura
Akira ImakuraAkira Imakura
Akira ImakuraSuurist
 
Robust Vehicle Localization in Urban Environments Using Probabilistic Maps
Robust Vehicle Localization in Urban Environments Using Probabilistic MapsRobust Vehicle Localization in Urban Environments Using Probabilistic Maps
Robust Vehicle Localization in Urban Environments Using Probabilistic MapsKitsukawa Yuki
 
データ解析のための統計モデリング入門10章前半
データ解析のための統計モデリング入門10章前半データ解析のための統計モデリング入門10章前半
データ解析のための統計モデリング入門10章前半Shinya Akiba
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化Computational Materials Science Initiative
 

Ähnlich wie Data assim r (20)

Overview and Roadmap
Overview and RoadmapOverview and Roadmap
Overview and Roadmap
 
200730material fujita
200730material fujita200730material fujita
200730material fujita
 
ISMB読み会 2nd graph kernel
ISMB読み会 2nd graph kernelISMB読み会 2nd graph kernel
ISMB読み会 2nd graph kernel
 
bigdata2012ml okanohara
bigdata2012ml okanoharabigdata2012ml okanohara
bigdata2012ml okanohara
 
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDTScan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
 
自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介自動微分変分ベイズ法の紹介
自動微分変分ベイズ法の紹介
 
Risk based portfolio with large dynamic covariance matrices
Risk based portfolio with large dynamic covariance matricesRisk based portfolio with large dynamic covariance matrices
Risk based portfolio with large dynamic covariance matrices
 
第8回関西CV・PRML勉強会(Meanshift)
第8回関西CV・PRML勉強会(Meanshift)第8回関西CV・PRML勉強会(Meanshift)
第8回関西CV・PRML勉強会(Meanshift)
 
[読会]Logistic regression models for aggregated data
[読会]Logistic regression models for aggregated data[読会]Logistic regression models for aggregated data
[読会]Logistic regression models for aggregated data
 
Ibisml vhmm
Ibisml vhmmIbisml vhmm
Ibisml vhmm
 
Jokyokai
JokyokaiJokyokai
Jokyokai
 
ma52006id384
ma52006id384ma52006id384
ma52006id384
 
Jubatusの特徴変換と線形分類器の仕組み
Jubatusの特徴変換と線形分類器の仕組みJubatusの特徴変換と線形分類器の仕組み
Jubatusの特徴変換と線形分類器の仕組み
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析
 
Akira Imakura
Akira ImakuraAkira Imakura
Akira Imakura
 
Robust Vehicle Localization in Urban Environments Using Probabilistic Maps
Robust Vehicle Localization in Urban Environments Using Probabilistic MapsRobust Vehicle Localization in Urban Environments Using Probabilistic Maps
Robust Vehicle Localization in Urban Environments Using Probabilistic Maps
 
データ解析のための統計モデリング入門10章前半
データ解析のための統計モデリング入門10章前半データ解析のための統計モデリング入門10章前半
データ解析のための統計モデリング入門10章前半
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化
CMSI計算科学技術特論A (2015) 第12回 古典分子動力学法の高速化
 

Mehr von Xiangze

論文紹介 Amortized bayesian meta learning
論文紹介 Amortized bayesian meta learning論文紹介 Amortized bayesian meta learning
論文紹介 Amortized bayesian meta learningXiangze
 
Stochastic complexities of reduced rank regression証明概略
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略Xiangze
 
Gamma分布と仲間たち
Gamma分布と仲間たちGamma分布と仲間たち
Gamma分布と仲間たちXiangze
 
Stable multi scale kernel for topological machine learning
Stable multi scale kernel for topological machine learningStable multi scale kernel for topological machine learning
Stable multi scale kernel for topological machine learningXiangze
 
Pystan for nlp
Pystan for nlpPystan for nlp
Pystan for nlpXiangze
 
RcppEigen and SVD
RcppEigen and SVDRcppEigen and SVD
RcppEigen and SVDXiangze
 
Patentmap r xinagze
Patentmap r xinagzePatentmap r xinagze
Patentmap r xinagzeXiangze
 
Dynamic system in_r_xiangze
Dynamic system in_r_xiangzeDynamic system in_r_xiangze
Dynamic system in_r_xiangzeXiangze
 

Mehr von Xiangze (9)

論文紹介 Amortized bayesian meta learning
論文紹介 Amortized bayesian meta learning論文紹介 Amortized bayesian meta learning
論文紹介 Amortized bayesian meta learning
 
Stochastic complexities of reduced rank regression証明概略
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略
 
Gamma分布と仲間たち
Gamma分布と仲間たちGamma分布と仲間たち
Gamma分布と仲間たち
 
Stable multi scale kernel for topological machine learning
Stable multi scale kernel for topological machine learningStable multi scale kernel for topological machine learning
Stable multi scale kernel for topological machine learning
 
PyMC mcmc
PyMC mcmcPyMC mcmc
PyMC mcmc
 
Pystan for nlp
Pystan for nlpPystan for nlp
Pystan for nlp
 
RcppEigen and SVD
RcppEigen and SVDRcppEigen and SVD
RcppEigen and SVD
 
Patentmap r xinagze
Patentmap r xinagzePatentmap r xinagze
Patentmap r xinagze
 
Dynamic system in_r_xiangze
Dynamic system in_r_xiangzeDynamic system in_r_xiangze
Dynamic system in_r_xiangze
 

Data assim r

  • 1. データ同化とフィルタの紹介 2012/9/8 Tokyo.R #26 @xiangze750 2012/9/8 1
  • 2. Agenda  データ同化とは  データ同化の応用範囲  状態空間モデル  予測と平滑化  カルマンフィルタ – sspirパッケージ – いろいろなパッケージ  パーティクルフィルタ – RcppSMCパッケージ – 非線形力学系とフィルタ  まとめと課題  Reference 2012/9/8 2
  • 3. 自己紹介  @xiangze750  LSIメーカー勤務 画像圧縮、画像処理 普段使うプログラミング言語 C++, Verilog HDL, Perl, VBA, R 普段使う自然言語 日本語、英語、中国語 2012/9/8 3
  • 4. データ同化(Data Assimilation)とは ある未知のパラメータを含んだ方程式に基づいたシミュレーションの結果 を実際の観測値を用いて補正する Figure 1. The representation of the NINO3.4 SST (red and blue lines: reproduced, black: observation). Coupled data assimilation (bottom panel) reproduces the state of the 1990's much better than simulation (top panel). http://www.jamstec.go.jp/drc/maps/e/kadai/clm/clm_or_ap4.html 2012/9/8 http://www.hzg.de/institute/coastal_research/cosyna/007914/index_0007914.html 4
  • 5. データ同化の応用範囲  流体力学的計算(Navier-Stokes 方程式に従う) – 数値的天気予報 – 気候モデル(大気海洋結合モデル、エルニーニョの予測) – 津波のシミュレーション – 放射性物質の拡散予測http://www.cs.kyoto-u.ac.jp/wp- content/uploads/2012/06/03ishikawa.pdf  その他 – 遺伝子発現調節モデル 予測対象のメカニズム(運動方程式が)ある程度 わかっている。 未知なパラメータが存在する 2012/9/8 5
  • 6. エルニーニョの予測  海洋研究開発機構と東京大学によるエルニーニョの予測 • 大気と海洋の相互作用によって海水温度の深度分布を未知のパラメータ として推定し、予測に取り入れた。 http://www.jamstec.go.jp/j/about/press_release/20100222/ 2012/9/8 6 http://www.jamstec.go.jp/drc/maps/e/kadai/clm/clm_or_ap4.html
  • 8. 遺伝子発現調節モデル Modeling and Estimation of Dynamic EGFR Pathway by Data Assimilation Approach Using Time Series Proteomic Data http://www.jsbi.org/pdfs/journal1/GIW06/GIW06F032.pdf 2012/9/8 http://www.jsbi.org/pdfs/journal1/GIW06/GIW06F032Suppl.html 8
  • 9. データ同化の種類 逐次型 非逐次型 代表的手法 アンサンブルカルマンフィルタ 4次元変分法 解 周辺分布 状態ベクトル列の状態 ベクトルの事後 数理的観点から 統計的推測 最適化 シミュレーションの規模 中〜小規模 超大規模も可能 使われている領域 すべて 気象、海洋予報 プログラムの実装 プラグイン化可能 エキスパートが最適な 最適化手法を実装 High performance スカラー並列計算機向き ベクトル計算器向き computing シミュレーションモデル 尤度により可能 困難 の比較 今回は逐次型を説明します。 樋口知之 編著 データ同化入門 p.14 2012/9/8 9
  • 10. 状態空間モデル  システムモデル(発展方程式) – n次元時系列xt=(x0t,x1t,x2t,...,xnt) – 予測対象(隠れた変数) xt 一般の場合 線形の場合 – モデル内の未知の要素 z (確率変数) 真の発展方程式にはあるが値が未知のためシミュレーションモ デルに含むことができない変数を確率変数(システムノイズ)と して入れこむ。 2012/9/8 10
  • 11. 状態空間モデル  観測モデル – 観測にはノイズがつきもの – 確率変数wtとしてノイズを表現する 一般の場合 線形の場合  システムモデル&観測モデル 真の発展方程式にあってシミュ  レーションモデルに含めない変数 を確率変数(システムノイズ)として 入れこむ  2種類のノイズが含まれる 2012/9/8 11
  • 13. 予測分布と計算法  逐次データ同化とは事後分布p(xt|y1:t-1)の推定  予測分布  フィルタ分布  平滑化分布 x0 x1 x2 x3 xt-1 xt xT-1 xT …. …. y0 y1 yt-1 yt yT-1 yT 2012/9/8 13
  • 14. 予測分布の計算手法  ベイズの定理を用いる xt-1 xt 矢印を逆にたどって分布p(xt|y1:t-1)を推 測する。 yt-1 yt 2012/9/8 14
  • 15. 予測分布の計算手法  予測分布 xt-1の導入 条件付き確率の式 Xtとy1:t-1の独立性(グラフでつながって いない) 2012/9/8 15
  • 16. 予測分布の計算手法 フィルタ分布 ベイズの定理(yt) 条件付き確率の式(xt) ytとy1:t-1の独立性(グラフでつながって いない) Xtの導入 条件付き確率の式(xt,分母) 2012/9/8 16
  • 17. 平滑化(smoothing)  xtより将来の一定期間の観測値を用いて推測する – 固定区間平滑化 – 固定点平滑化 – 固定ラグ平滑化 • t:t+Lの区間を状態ベクトルとする 2012/9/8 17
  • 18. 予測分布の代表的計算法  カルマンフィルタ – 線形モデル、ガウシアンノイズの場合のみ  アンサンブルカルマンフィルタ – 非線形、ガウシアンノイズに対応  パーティクル(粒子)フィルタ – 非線形モデル、非ガウシアンノイズにも対応 2012/9/8 18
  • 19. カルマンフィルタ  線形モデル、ガウシアンノイズの場合平均、分散が積分計 算を実行することなく解析的に求まる。 – モデル – Prediction step – Update(filter) step 2012/9/8 19
  • 20. カルマンフィルタ  Prediction step  Update(filter) step Pk xkの共分散行列  Sk ykの共分散行列  Kk カルマン行列(Pk)のupdateで用い  られる行列 2012/9/8 20
  • 21. カルマンフィルタ  Prediction stepとUpdate(filter) step 2012/9/8 21
  • 22. カルマンフィルタ  時系列解析との関係 – auto.arma関数の出力に推定されたカルマンフィ ルタのパラメータが保存されている。 – ARMAモデル – KalmanLike,KalmanRun, KalmanSmooth,KalmanForecast関数が利用可能 http://www.slideshare.net/hamadakoichi/r-3836773 2012/9/8 22
  • 23. カルマンフィルタ library( forecast ) tsdisplay( BJsales ) r<-auto.arima(BJsales) plot( forecast( r, h=10 ) ) #予測値(右図) r$model #Kalman行列などが表示される。 KalmanForecast(10,r$model) #予測 #特定係数のarmaモデルによるシミュレー ション simr<-armaSim( model=list( ar=c( 0.3, -0.3 ), d=2,ma=c( 0.5, 0.7 ) ), n=200) #尤度の推定 r2<-KalmanLike(simr,r$model) http://itbc-world.com/R_fm_library/r%E3%81%AE %E7%B5%B1%E8%A8%88%E9%96%A2%E6%95%B0/arim a%E3%83%A2%E3%83%87%E3%83%AB/ 2012/9/8 23
  • 24. いろいろなカルマンフィルタパッケージ  sspirパッケージ – 非ガウシアンノイズ(Poisson,二項分布) – Linear  KFASパッケージ – 非ガウシアンノイズ、Linear http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf http://hosho.ees.hokudai.ac.jp/~kubo/ce/TimeSeriesData.html http://www.jstatsoft.org/v16/i01/paper 2012/9/8 24
  • 25. いろいろなカルマンフィルタパッケージ  相違点 – 平滑化の実装 – 非ガウシアンノイズへの対応 – 逆行列の計算方法 2012/9/8 http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf 25
  • 26. パーティクルフィルタ  事後確率分布を多数の”粒子”で近似する  利点 – 非ガウシアンノイズ、非線形モデルに対応できる。 – 並列化に向いている。  欠点 – 粒子数が少ないと分布をうまく近似できない – 多くの粒子が一カ所に集まる退化と呼ばれる現象が起こる。 応用例 物体追跡(ロボットの位置推定など) 2012/9/8 26
  • 27. パーティクルフィルタ  処理の流れ 2012/9/8 27
  • 28. パーティクルフィルタ  処理の流れ 2012/9/8 28
  • 29. パーティクルフィルタ  処理の流れ 2012/9/8 29
  • 30. パーティクルフィルタ  処理の流れ 2012/9/8 30
  • 31. RcppSMC  3種類のモデルのパーティクルフィルタが使用できる(らし い)。 – blockpfGaussianOpt – Linear – Nonlinear sim <- simGaussian(len=250) res <- blockpfGaussianOpt(sim$data,lag=5,plot=TRUE) http://d.hatena.ne.jp/teramonagi/20120411/1334153387 2012/9/8 31
  • 32. MCMCの実行  パーティクルフィルタはモンテカルロ法の一種と言える。  MCMCpack – 使用できるモデルは限定されている。  R2winBUGS – WinBUGS(or OpenBUGS)を呼び出している。  RcppBUGS – BUGSのc++実装、 – http://www.rinfinance.com/agenda/2012/talk/WhitArmstrong.pdf 2012/9/8 32
  • 33. MCMCの実行  RcppBUGSの記述例 http://www.rinfinance.com/agenda/2012/talk/WhitArmstrong.pdf  BUGS言語で隠れマルコフモデルを記述するのは大変そう。。。 2012/9/8 33
  • 34. パーティクルフィルタの実施例  モデル Lorenz方程式 Sigma=10, b=8/3 r<=24 固定点 Sigma=10, b=8/3 24<r<=300 ストレンジアトラクタ Sigma=10, b=8/3 r>330 リミットサイクル 2012/9/8 34
  • 35. パーティクルフィルタの実施例  双子実験 – 観測値の代わりにシミュレーションを行う。 – パーティクルフィルタなどの手法の検証ができる。 Yt 実験データ取得用のシミュレーション データ同化用シミュレーション 2012/9/8 35
  • 36. パーティクルフィルタの実施例 時系列、分布(N=100,r=4,固定点) Yt 実験データ取得用のシミュレーション データ同化用シミュレーション 収束している https://github.com/xiangze/particlefilter_dynamical 2012/9/8 36
  • 37. パーティクルフィルタの実施例 時系列、分布(N=100,r=4,固定点) 実際の値とparticleの平均値との差 particleの分散 収束している https://github.com/xiangze/particlefilter_dynamical 2012/9/8 37
  • 38. パーティクルフィルタの実施例 時系列、分布(N=100,r=28,ストレンジアトラクタ) Yt 実験データ取得用のシミュレーション データ同化用シミュレーション 収束している??? https://github.com/xiangze/particlefilter_dynamical 2012/9/8 38
  • 39. パーティクルフィルタの実施例 時系列、分布(N=100,r=28,ストレンジアトラクタ) 実際の値とparticleの平均値との差 particleの分散 絶対値が大きい 時折particleが大きくばらける場合がある。 パーティクルフィルタの性能を高める方法 に関しては「データ同化入門」の7章 融合粒 2012/9/8 子フィルタも参照 39
  • 40. まとめと課題  データ同化の概念とその応用範囲を紹介した。  逐次データ同化の手法としてカルマンフィルタ、パーティクルフィルタ を紹介した。 – カルマンフィルタは複数のパッケージで利用できる。 – RではパーティクルフィルタをRcppSMCで利用することが 可能 – 非線形モデルにおけるパーティクルフィルタを実装し動作の 確認を試みた。 – 平滑化の実装が課題 2012/9/8 40
  • 41. Reference  ブログ – http://d.hatena.ne.jp/teramonagi/20120411/1334153387  スライド – http://www.slideshare.net/horihorio/howtousetimeseries – http://www.slideshare.net/hamadakoichi/r-3836773  論文 – http://stat-www.berkeley.edu/~brill/Stat248/kalmanfiltering.pdf  本 – データ同化入門 – 予測に生かす統計モデリングの基本 今回使用したコード • https://github.com/xiangze/particlefilter_dynamical 2012/9/8 41