SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
北川源四郎「時系列解析入門」 第 9 章
柏野 雄太
バクフー株式会社
July 8, 2015
注意
この本は名著ではありますが,役割的に「時系列解析のチートシート」
的な存在で,全体的に記述があっさりしすぎています.
特に 9 章,10 章の状態空間モデルの部分は記述が少なすぎますので,
以下の書籍等で足りない部分を補う必要があります.
カルマンフィルタは通常工学部の大学 4 年生から修士 1 年のときに,
半期の講義+演習でガッツリやるようなレベルです.
状態空間モデル:
樋口知之「予測にいかす統計モデリングの基礎」
樋口知之+「データ同化入門」
カルマンフィルタ:
足立修一・丸田一郎「カルマンフィルタの基礎」
R のパッケージ dlm:
Petris+「R によるベイジアン動的線型モデル」
状態空間モデルの古典的入門書:
コマンダー&クープマン「状態空間時系列分析入門」
2 / 1
状態空間モデル
状態空間モデル
xn = Fnxn−1 + Gnvn (9.1)
yn = Hnxn + wn (9.2)
yn: 観測される時系列 次元 l
xn: 状態 (state) 次元 k
vn: システムノイズ(状態ノイズ) 平均ベクトル 0, 分散共分散行列 Qn
に従う m 次元の正規白色ノイズ
wn: 観測ノイズ 平均ベクトル 0, 分散共分散行列 Rn に従う l 次元の正
規白色ノイズ
Fn: k × k 次元
Gn: k × m 次元
Hn: l × k 次元
3 / 1
状態空間モデルの解釈
状態空間モデル
xn = Fnxn−1 + Gnvn (9.1)
yn = Hnxn + wn (9.2)
回帰モデルとしての解釈:
観測モデルは観測 yn を表現する回帰モデルで,xn が回帰係数,シス
テムモデルはその時間発展
信号理論としての解釈:
システムモデルは信号発生メカニズム,観測モデルはノイズが付加さ
れる様子を記述.
4 / 1
状態空間モデルの例: AR モデル
AR モデル
yn =
m∑
i=1
aiyn−i + vn (9.3)
xn = Fxn−1 + Gvn (9.4)
xn = (yn, yn−1, . . . , yn−m+1)T
F =





a1 a2 · · · am
1
...
1 0





, G =





1
0
...
0





(9.5)
H =
(
1 0 · · · 0
)
5 / 1
カルマンフィルタによる状態の推定
観測値 Yj =⇒ xn の推定
Yj が与えられたときの xn の条件付き分布 p(xn|Yj) を求める問題
j < n: 予測 (prediction)
j = n: フィルタ (filtering)
j > n: 平滑 (smooting)
6 / 1
カルマンフィルタ Kalman filter
[条件付き平均と共分散]
xn|j ≡ E(xn|Yj)
Vn|j ≡ E
(
(xn − xn|j)(xn − xn|j)T
)
(9.11)
[一期先予測]
xn|n−1 = Fnxn−1|n−1
Vn|n−1 = FnVn−1|n−1FT
n + GnQnGT
n (9.12)
[フィルタ]
Kn = Vn|n−1HT
n (HnVn|n−1HT
n + Rn)−1
xn|n = xn|n−1 + Kn(yn − Hnxn|n−1)
Vn|n = (I − KnHn)Vn|n−1 (9.13)
7 / 1
カルマンフィルタの逐次計算
x1|0 −→ x2|0 −→ x3|0 −→ x4|0 −→ x5|0 −→
⇓
x1|1 =⇒ x2|1 −→ x3|1 −→ x4|1 −→ x5|1 −→
⇓
x1|2 ←− x2|2 =⇒ x3|2 −→ x4|2 −→ x5|2 −→
⇓
x1|3 ←− x2|3 ←− x3|3 =⇒ x4|3 −→ x5|3 −→
⇓
x1|4 ←− x2|4 ←− x3|4 ←− x4|4 =⇒ x5|4 −→
⇓
[ノーテーション] ⇓: フィルタ, =⇒: 予測, ←−: 平滑化, −→: 長期予測
8 / 1
9.3 平滑化のアルゴリズム
YN = y1, · · · , yN が与えられたとき,途中状態の xn を推定する.
[固定区間平滑化]
An = Vn|nFT
n+1V −1
n+1|n
xn|N = xn|n + An(xn+1|N − xn+1|n)
Vn|N = Vn|n + An(Vn+1|N − Vn+1|n)AT
n (9.14)
9 / 1
9.4 状態の長期予測
Yn = {y1, · · · , yn} に基づいて,1 期先予想をクリア消し,j 期先の状
態 xn+j(j > 1) を推定する.
カルマンフィルタにより一期先の xn+1|n と xn+1|n を求める.
yn+1 は得られないが,Yn+1 = Yn と仮定する =⇒
xn+1|n+1 = xn+1|n, Vn+1|n+1 = Vn+1|n
カルマンフィルタの n + 1 期に対する 1 期先アルゴリズムから 2 期先
予測が得られる.
xn+2|n = Fn+2xn+1|n
Vn2|n = Fn+2Vn+1|nFT
n+2 + Gn+2Qn+2GT
n+2 (9.15)
[長期予測]
xn+i|n = Fn+ixn+i−1|n
Vni|n = Fn+iVn+i−1|nFT
n+i + Gn+iQn+iGT
n+i (9.16)
10 / 1
9.5 時系列の予測
Yn が与えられたときの yn+j の平均,分散共分散行列を
yn+j ≡ E(yn+j|Yn), dn+j|n ≡ Cov(yn+j|Yn) とすると,
yn+j|n = E(Hn+jxn+j + wn+j|Yn)
= Hn+jxn+j|n (9.17)
dn+j|n = Cov(Hn+jxn+j + wn+j|Yn)
= Hn+jCov(xn+j|Yn)HT
n+j + Hn+jCov(xn+j, wn+j|Yn)
+ Cov(xn+j, wn+j|Yn)HT
n+j + Cov(wn+j|Yn)
= Hn+jVn+j|nHT
n+j + Rn+j (9.18)
注: yn|n−1, dn|n−1 はカルマンフィルタ (9.13) ですでにもとめられている
11 / 1
9.5 時系列の予測  BLSALLFOOD の例
Figure: AR モデルの長期予測分布
12 / 1
9.6 時系列モデルの尤度計算とパラメータ推定
時系列モデルの尤度
l(θ) = −
1
2
{
lNlog2π +
N∑
n=1
log|dn|n−1|
+
N∑
n=1
(yn − yn|n−1)T
d−1
n|n−1(yn − yn|n−1)
}
(9.23)
ただし,このままでは計算が大変.
データに欠損がない AR の場合はユール・ウォーカー,最小二乗法,
PARCOR 法などのほうがいい.
仕方なく (9.23) を計算する場合でも,次元圧縮を考える.
13 / 1
9.6 時系列モデルの尤度計算とパラメータ推定
次元圧縮の方法: 時系列の次元が l = 1 で wn の分散が Rn = σ2 で一定の
場合
1 R = 1 としてカルマンフィルタ (カルマンゲインを計算すると R = σ2
でも R = 1 でも同じ)
2 以下の式により ˆσ2 を求める
ˆσ2
=
1
N
N∑
n=1
(yn − yn|n−1)2
˜dn|n−1
(9.28)
3 以下の式により対数尤度 l(θ∗) を求める
l(θ∗
) = −
1
2
{
Nlog2πˆσ2
+
N∑
n=1
log ˜dn|n−1+N
}
(9.29)
4 1, 2, 3 のステップを繰り返して,対数尤度 l(θ∗) を最大化して,最尤
推定値 θ∗ を求める
14 / 1
9.7 欠損値の補間
時系列の状態空間モデルを用いると欠測値があっても厳密に尤度計算
ができ,パラメータの最尤推定値を求めることができる.
l(θ) = −
1
2
∑
n∈I(N)
{
llog2π + log|dn|n−1+N |
+ (yn − yn|n−1)T
d−1
n|n−1+N (yn − yn|n−1)
}
(9.31)
パラメータが決まりモデルが与えられたら,カルマンフィルタの予測
分布 {xn|n−1, Vn|n−1},フィルタ分布 {xn|n, Vn|n} が求まり,その後で
平滑値 xn|N から欠測値 yn|N = Hnxn|n を求める.
推定誤差分散は dn|N = HnVn|N HT
n + Rn
15 / 1
9.7 欠損値の補間: BLSALLFOOD の例
Figure: 欠測値の補間
16 / 1
Python 版 カルマンフィルター
Python 版 カルマンフィルターの更新式
from␣numpy␣import␣dot
x␣=␣dot(F,␣x)␣+␣dot(B,␣u)
P␣=␣dot(F,␣P).dot(F.T)␣+␣Q
y␣=␣z␣-␣dot(H,␣x)
S␣=␣dot(H,␣P).dot(H.T)␣+␣R
K␣=␣dot(P,␣H.T).dot(np.linalg.inv(S))
x␣=␣x␣+␣dot(K,y)
P␣=␣(I␣-␣dot(K,␣H)).dot(P)
17 / 1
MATLAB 版 カルマンフィルター
MATLAB 版 カルマンフィルターの更新関数
function␣[xhat_new,P_new,␣G]␣=␣kf(A,␣B,␣Bu,␣C,␣Q,␣R,␣u,␣y,␣xhat,␣P)
␣␣xhat␣=␣xhat(:);
␣␣u␣=␣u(:);
␣␣y␣=␣y(:);
␣␣xhatm␣=␣A*xhat␣+␣Bu*u;
␣␣Pm␣=␣A*P*A’␣+␣B*Q*B’;
␣␣G␣=␣Pm*C/(C’*Pm*C␣+␣R);
␣␣xhat_new␣=␣xhatm␣+␣G*(y␣-␣C’*xhatm);
␣␣P_new␣=␣(eye(size(A))␣-␣G*C’)*Pm;
end
18 / 1

Contenu connexe

Tendances

研究について思うところ | What i think about research (in Japanese)
研究について思うところ | What i think about research (in Japanese)研究について思うところ | What i think about research (in Japanese)
研究について思うところ | What i think about research (in Japanese)Yuta Itoh
 
Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介Chihiro Kusunoki
 
データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度Seiichi Uchida
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知Hideo Terada
 
因果推論を用いた 群衆移動の誘導における介入効果推定
因果推論を用いた 群衆移動の誘導における介入効果推定因果推論を用いた 群衆移動の誘導における介入効果推定
因果推論を用いた 群衆移動の誘導における介入効果推定Koh Takeuchi
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!takehikoihayashi
 
ベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるitoyan110
 
「計算社会科学入門」5章 ネットワーク
「計算社会科学入門」5章 ネットワーク「計算社会科学入門」5章 ネットワーク
「計算社会科学入門」5章 ネットワークFujio Toriumi
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)Hidetoshi Matsui
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫るKen'ichi Matsui
 
密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知- Core Concept Technologies
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
ファクター投資と機械学習
ファクター投資と機械学習ファクター投資と機械学習
ファクター投資と機械学習Kei Nakagawa
 
機械学習研究の現状とこれから
機械学習研究の現状とこれから機械学習研究の現状とこれから
機械学習研究の現状とこれからMLSE
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するTakahiro Kubo
 
リスクベースポートフォリオの高次モーメントへの拡張
リスクベースポートフォリオの高次モーメントへの拡張リスクベースポートフォリオの高次モーメントへの拡張
リスクベースポートフォリオの高次モーメントへの拡張Kei Nakagawa
 
統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回Hikaru GOTO
 

Tendances (20)

正準相関分析
正準相関分析正準相関分析
正準相関分析
 
研究について思うところ | What i think about research (in Japanese)
研究について思うところ | What i think about research (in Japanese)研究について思うところ | What i think about research (in Japanese)
研究について思うところ | What i think about research (in Japanese)
 
Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介
 
Chapter2.3.6
Chapter2.3.6Chapter2.3.6
Chapter2.3.6
 
データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
 
因果推論を用いた 群衆移動の誘導における介入効果推定
因果推論を用いた 群衆移動の誘導における介入効果推定因果推論を用いた 群衆移動の誘導における介入効果推定
因果推論を用いた 群衆移動の誘導における介入効果推定
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
 
ベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づける
 
「計算社会科学入門」5章 ネットワーク
「計算社会科学入門」5章 ネットワーク「計算社会科学入門」5章 ネットワーク
「計算社会科学入門」5章 ネットワーク
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
 
非劣性試験の入門
非劣性試験の入門非劣性試験の入門
非劣性試験の入門
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫る
 
密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
ファクター投資と機械学習
ファクター投資と機械学習ファクター投資と機械学習
ファクター投資と機械学習
 
機械学習研究の現状とこれから
機械学習研究の現状とこれから機械学習研究の現状とこれから
機械学習研究の現状とこれから
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
リスクベースポートフォリオの高次モーメントへの拡張
リスクベースポートフォリオの高次モーメントへの拡張リスクベースポートフォリオの高次モーメントへの拡張
リスクベースポートフォリオの高次モーメントへの拡張
 
統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回統計的因果推論勉強会 第1回
統計的因果推論勉強会 第1回
 

En vedette

深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...Yuta Kashino
 
Gunosy2015 09-16ts
Gunosy2015 09-16tsGunosy2015 09-16ts
Gunosy2015 09-16tsYuta Kashino
 
Opendata@tokyowebmining
Opendata@tokyowebminingOpendata@tokyowebmining
Opendata@tokyowebminingYuta Kashino
 
PyDataTokyo201-05-22
PyDataTokyo201-05-22PyDataTokyo201-05-22
PyDataTokyo201-05-22Yuta Kashino
 
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20Yuta Kashino
 
Chainer meetup2016 03-19pub
Chainer meetup2016 03-19pubChainer meetup2016 03-19pub
Chainer meetup2016 03-19pubYuta Kashino
 
Deep learning Libs @twm
Deep learning Libs @twmDeep learning Libs @twm
Deep learning Libs @twmYuta Kashino
 
機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回Yuta Kashino
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくるYuta Kashino
 
Gunosy go2015 06-02
Gunosy go2015 06-02Gunosy go2015 06-02
Gunosy go2015 06-02Yuta Kashino
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読むYuta Kashino
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02Yuta Kashino
 
PyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメPyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメYuta Kashino
 
線形カルマンフィルタの導出
線形カルマンフィルタの導出線形カルマンフィルタの導出
線形カルマンフィルタの導出Fumiya Watanabe
 
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!Nagi Teramo
 
R勉強会@東京 - Tokyo.Rの紹介
R勉強会@東京 - Tokyo.Rの紹介R勉強会@東京 - Tokyo.Rの紹介
R勉強会@東京 - Tokyo.Rの紹介Yohei Sato
 
Tokyor10 opening
Tokyor10 openingTokyor10 opening
Tokyor10 openingYohei Sato
 

En vedette (20)

深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
Gunosy2015-06-03
Gunosy2015-06-03Gunosy2015-06-03
Gunosy2015-06-03
 
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
FLAME: Probabilistic Model Combining Aspect Based Opinion Mining and Collabor...
 
Gunosy2015-08-05
Gunosy2015-08-05Gunosy2015-08-05
Gunosy2015-08-05
 
Gunosy2015 09-16ts
Gunosy2015 09-16tsGunosy2015 09-16ts
Gunosy2015 09-16ts
 
Opendata@tokyowebmining
Opendata@tokyowebminingOpendata@tokyowebmining
Opendata@tokyowebmining
 
PyDataTokyo201-05-22
PyDataTokyo201-05-22PyDataTokyo201-05-22
PyDataTokyo201-05-22
 
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
 
Chainer meetup2016 03-19pub
Chainer meetup2016 03-19pubChainer meetup2016 03-19pub
Chainer meetup2016 03-19pub
 
Deep learning Libs @twm
Deep learning Libs @twmDeep learning Libs @twm
Deep learning Libs @twm
 
機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
 
Gunosy go2015 06-02
Gunosy go2015 06-02Gunosy go2015 06-02
Gunosy go2015 06-02
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読む
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
 
PyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメPyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメ
 
線形カルマンフィルタの導出
線形カルマンフィルタの導出線形カルマンフィルタの導出
線形カルマンフィルタの導出
 
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
 
R勉強会@東京 - Tokyo.Rの紹介
R勉強会@東京 - Tokyo.Rの紹介R勉強会@東京 - Tokyo.Rの紹介
R勉強会@東京 - Tokyo.Rの紹介
 
Tokyor10 opening
Tokyor10 openingTokyor10 opening
Tokyor10 opening
 

Plus de Yuta Kashino

時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.stsYuta Kashino
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったかYuta Kashino
 
ベイジアンディープニューラルネット
ベイジアンディープニューラルネットベイジアンディープニューラルネット
ベイジアンディープニューラルネットYuta Kashino
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計Yuta Kashino
 
Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Yuta Kashino
 
確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdwardYuta Kashino
 

Plus de Yuta Kashino (11)

時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts
 
Python kansai2019
Python kansai2019Python kansai2019
Python kansai2019
 
Mlse20190208
Mlse20190208Mlse20190208
Mlse20190208
 
Ml15m2018 10-27
Ml15m2018 10-27Ml15m2018 10-27
Ml15m2018 10-27
 
Pydata2017 11-29
Pydata2017 11-29Pydata2017 11-29
Pydata2017 11-29
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか
 
Pycon2017
Pycon2017Pycon2017
Pycon2017
 
ベイジアンディープニューラルネット
ベイジアンディープニューラルネットベイジアンディープニューラルネット
ベイジアンディープニューラルネット
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計
 
Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12
 
確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward
 

Dernier

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Dernier (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

Gunosy2015 07-07

  • 1. 北川源四郎「時系列解析入門」 第 9 章 柏野 雄太 バクフー株式会社 July 8, 2015
  • 2. 注意 この本は名著ではありますが,役割的に「時系列解析のチートシート」 的な存在で,全体的に記述があっさりしすぎています. 特に 9 章,10 章の状態空間モデルの部分は記述が少なすぎますので, 以下の書籍等で足りない部分を補う必要があります. カルマンフィルタは通常工学部の大学 4 年生から修士 1 年のときに, 半期の講義+演習でガッツリやるようなレベルです. 状態空間モデル: 樋口知之「予測にいかす統計モデリングの基礎」 樋口知之+「データ同化入門」 カルマンフィルタ: 足立修一・丸田一郎「カルマンフィルタの基礎」 R のパッケージ dlm: Petris+「R によるベイジアン動的線型モデル」 状態空間モデルの古典的入門書: コマンダー&クープマン「状態空間時系列分析入門」 2 / 1
  • 3. 状態空間モデル 状態空間モデル xn = Fnxn−1 + Gnvn (9.1) yn = Hnxn + wn (9.2) yn: 観測される時系列 次元 l xn: 状態 (state) 次元 k vn: システムノイズ(状態ノイズ) 平均ベクトル 0, 分散共分散行列 Qn に従う m 次元の正規白色ノイズ wn: 観測ノイズ 平均ベクトル 0, 分散共分散行列 Rn に従う l 次元の正 規白色ノイズ Fn: k × k 次元 Gn: k × m 次元 Hn: l × k 次元 3 / 1
  • 4. 状態空間モデルの解釈 状態空間モデル xn = Fnxn−1 + Gnvn (9.1) yn = Hnxn + wn (9.2) 回帰モデルとしての解釈: 観測モデルは観測 yn を表現する回帰モデルで,xn が回帰係数,シス テムモデルはその時間発展 信号理論としての解釈: システムモデルは信号発生メカニズム,観測モデルはノイズが付加さ れる様子を記述. 4 / 1
  • 5. 状態空間モデルの例: AR モデル AR モデル yn = m∑ i=1 aiyn−i + vn (9.3) xn = Fxn−1 + Gvn (9.4) xn = (yn, yn−1, . . . , yn−m+1)T F =      a1 a2 · · · am 1 ... 1 0      , G =      1 0 ... 0      (9.5) H = ( 1 0 · · · 0 ) 5 / 1
  • 6. カルマンフィルタによる状態の推定 観測値 Yj =⇒ xn の推定 Yj が与えられたときの xn の条件付き分布 p(xn|Yj) を求める問題 j < n: 予測 (prediction) j = n: フィルタ (filtering) j > n: 平滑 (smooting) 6 / 1
  • 7. カルマンフィルタ Kalman filter [条件付き平均と共分散] xn|j ≡ E(xn|Yj) Vn|j ≡ E ( (xn − xn|j)(xn − xn|j)T ) (9.11) [一期先予測] xn|n−1 = Fnxn−1|n−1 Vn|n−1 = FnVn−1|n−1FT n + GnQnGT n (9.12) [フィルタ] Kn = Vn|n−1HT n (HnVn|n−1HT n + Rn)−1 xn|n = xn|n−1 + Kn(yn − Hnxn|n−1) Vn|n = (I − KnHn)Vn|n−1 (9.13) 7 / 1
  • 8. カルマンフィルタの逐次計算 x1|0 −→ x2|0 −→ x3|0 −→ x4|0 −→ x5|0 −→ ⇓ x1|1 =⇒ x2|1 −→ x3|1 −→ x4|1 −→ x5|1 −→ ⇓ x1|2 ←− x2|2 =⇒ x3|2 −→ x4|2 −→ x5|2 −→ ⇓ x1|3 ←− x2|3 ←− x3|3 =⇒ x4|3 −→ x5|3 −→ ⇓ x1|4 ←− x2|4 ←− x3|4 ←− x4|4 =⇒ x5|4 −→ ⇓ [ノーテーション] ⇓: フィルタ, =⇒: 予測, ←−: 平滑化, −→: 長期予測 8 / 1
  • 9. 9.3 平滑化のアルゴリズム YN = y1, · · · , yN が与えられたとき,途中状態の xn を推定する. [固定区間平滑化] An = Vn|nFT n+1V −1 n+1|n xn|N = xn|n + An(xn+1|N − xn+1|n) Vn|N = Vn|n + An(Vn+1|N − Vn+1|n)AT n (9.14) 9 / 1
  • 10. 9.4 状態の長期予測 Yn = {y1, · · · , yn} に基づいて,1 期先予想をクリア消し,j 期先の状 態 xn+j(j > 1) を推定する. カルマンフィルタにより一期先の xn+1|n と xn+1|n を求める. yn+1 は得られないが,Yn+1 = Yn と仮定する =⇒ xn+1|n+1 = xn+1|n, Vn+1|n+1 = Vn+1|n カルマンフィルタの n + 1 期に対する 1 期先アルゴリズムから 2 期先 予測が得られる. xn+2|n = Fn+2xn+1|n Vn2|n = Fn+2Vn+1|nFT n+2 + Gn+2Qn+2GT n+2 (9.15) [長期予測] xn+i|n = Fn+ixn+i−1|n Vni|n = Fn+iVn+i−1|nFT n+i + Gn+iQn+iGT n+i (9.16) 10 / 1
  • 11. 9.5 時系列の予測 Yn が与えられたときの yn+j の平均,分散共分散行列を yn+j ≡ E(yn+j|Yn), dn+j|n ≡ Cov(yn+j|Yn) とすると, yn+j|n = E(Hn+jxn+j + wn+j|Yn) = Hn+jxn+j|n (9.17) dn+j|n = Cov(Hn+jxn+j + wn+j|Yn) = Hn+jCov(xn+j|Yn)HT n+j + Hn+jCov(xn+j, wn+j|Yn) + Cov(xn+j, wn+j|Yn)HT n+j + Cov(wn+j|Yn) = Hn+jVn+j|nHT n+j + Rn+j (9.18) 注: yn|n−1, dn|n−1 はカルマンフィルタ (9.13) ですでにもとめられている 11 / 1
  • 12. 9.5 時系列の予測  BLSALLFOOD の例 Figure: AR モデルの長期予測分布 12 / 1
  • 13. 9.6 時系列モデルの尤度計算とパラメータ推定 時系列モデルの尤度 l(θ) = − 1 2 { lNlog2π + N∑ n=1 log|dn|n−1| + N∑ n=1 (yn − yn|n−1)T d−1 n|n−1(yn − yn|n−1) } (9.23) ただし,このままでは計算が大変. データに欠損がない AR の場合はユール・ウォーカー,最小二乗法, PARCOR 法などのほうがいい. 仕方なく (9.23) を計算する場合でも,次元圧縮を考える. 13 / 1
  • 14. 9.6 時系列モデルの尤度計算とパラメータ推定 次元圧縮の方法: 時系列の次元が l = 1 で wn の分散が Rn = σ2 で一定の 場合 1 R = 1 としてカルマンフィルタ (カルマンゲインを計算すると R = σ2 でも R = 1 でも同じ) 2 以下の式により ˆσ2 を求める ˆσ2 = 1 N N∑ n=1 (yn − yn|n−1)2 ˜dn|n−1 (9.28) 3 以下の式により対数尤度 l(θ∗) を求める l(θ∗ ) = − 1 2 { Nlog2πˆσ2 + N∑ n=1 log ˜dn|n−1+N } (9.29) 4 1, 2, 3 のステップを繰り返して,対数尤度 l(θ∗) を最大化して,最尤 推定値 θ∗ を求める 14 / 1
  • 15. 9.7 欠損値の補間 時系列の状態空間モデルを用いると欠測値があっても厳密に尤度計算 ができ,パラメータの最尤推定値を求めることができる. l(θ) = − 1 2 ∑ n∈I(N) { llog2π + log|dn|n−1+N | + (yn − yn|n−1)T d−1 n|n−1+N (yn − yn|n−1) } (9.31) パラメータが決まりモデルが与えられたら,カルマンフィルタの予測 分布 {xn|n−1, Vn|n−1},フィルタ分布 {xn|n, Vn|n} が求まり,その後で 平滑値 xn|N から欠測値 yn|N = Hnxn|n を求める. 推定誤差分散は dn|N = HnVn|N HT n + Rn 15 / 1
  • 16. 9.7 欠損値の補間: BLSALLFOOD の例 Figure: 欠測値の補間 16 / 1
  • 17. Python 版 カルマンフィルター Python 版 カルマンフィルターの更新式 from␣numpy␣import␣dot x␣=␣dot(F,␣x)␣+␣dot(B,␣u) P␣=␣dot(F,␣P).dot(F.T)␣+␣Q y␣=␣z␣-␣dot(H,␣x) S␣=␣dot(H,␣P).dot(H.T)␣+␣R K␣=␣dot(P,␣H.T).dot(np.linalg.inv(S)) x␣=␣x␣+␣dot(K,y) P␣=␣(I␣-␣dot(K,␣H)).dot(P) 17 / 1
  • 18. MATLAB 版 カルマンフィルター MATLAB 版 カルマンフィルターの更新関数 function␣[xhat_new,P_new,␣G]␣=␣kf(A,␣B,␣Bu,␣C,␣Q,␣R,␣u,␣y,␣xhat,␣P) ␣␣xhat␣=␣xhat(:); ␣␣u␣=␣u(:); ␣␣y␣=␣y(:); ␣␣xhatm␣=␣A*xhat␣+␣Bu*u; ␣␣Pm␣=␣A*P*A’␣+␣B*Q*B’; ␣␣G␣=␣Pm*C/(C’*Pm*C␣+␣R); ␣␣xhat_new␣=␣xhatm␣+␣G*(y␣-␣C’*xhatm); ␣␣P_new␣=␣(eye(size(A))␣-␣G*C’)*Pm; end 18 / 1