SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Report
Masashi Komori
Follow
Professor at Osaka Electro-Communication University
Nov. 17, 2017
•
0 likes
•
7,267 views
1
of
34
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Nov. 17, 2017
•
0 likes
•
7,267 views
Download Now
Download to read offline
Report
Science
Osaka.Stan#6『StanとRでベイズ統計モデリング』(通称アヒル本)読書会@関西学院大学 2017年11月18日(土) https://atnd.org/events/91527
Masashi Komori
Follow
Professor at Osaka Electro-Communication University
Recommended
階層モデルの分散パラメータの事前分布について
hoxo_m
34.5K views
•
49 slides
Stan超初心者入門
Hiroshi Shimizu
84.1K views
•
156 slides
Stanの便利な事後処理関数
daiki hojo
17.8K views
•
34 slides
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
9K views
•
156 slides
Stanコードの書き方 中級編
Hiroshi Shimizu
41.3K views
•
190 slides
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
27.9K views
•
131 slides
More Related Content
What's hot
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
37.7K views
•
37 slides
Rで計量時系列分析~CRANパッケージ総ざらい~
Takashi J OZAKI
58.8K views
•
67 slides
ベイズモデリングと仲良くするために
Shushi Namba
6.6K views
•
80 slides
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
8.5K views
•
97 slides
ノンパラベイズ入門の入門
Shuyo Nakatani
27.4K views
•
33 slides
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
38.5K views
•
43 slides
What's hot
(20)
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
•
37.7K views
Rで計量時系列分析~CRANパッケージ総ざらい~
Takashi J OZAKI
•
58.8K views
ベイズモデリングと仲良くするために
Shushi Namba
•
6.6K views
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
•
8.5K views
ノンパラベイズ入門の入門
Shuyo Nakatani
•
27.4K views
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
•
38.5K views
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
•
96.5K views
pymcとpystanでベイズ推定してみた話
Classi.corp
•
1.6K views
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
•
26.8K views
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
•
28.6K views
MCMCでマルチレベルモデル
Hiroshi Shimizu
•
19.1K views
階層ベイズとWAIC
Hiroshi Shimizu
•
27.5K views
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
•
49.7K views
2 3.GLMの基礎
logics-of-blue
•
88.2K views
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
•
1.7K views
比例ハザードモデルはとってもtricky!
takehikoihayashi
•
81.9K views
第五回統計学勉強会@東大駒場
Daisuke Yoneoka
•
5.8K views
coordinate descent 法について
京都大学大学院情報学研究科数理工学専攻
•
20K views
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
Koichi Hamada
•
25K views
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
•
30.1K views
Viewers also liked
シンポジウム「データの時代の心理学」指定討論
Masashi Komori
1.2K views
•
14 slides
LET2011: Rによる教育データ分析入門
Yuichiro Kobayashi
7.4K views
•
50 slides
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
nishioka1
1.7K views
•
27 slides
Osaka.Stan #3 Chapter 5-2
Takayuki Goto
3.8K views
•
67 slides
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Hiroyuki Muto
6.9K views
•
23 slides
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
nishioka1
3.1K views
•
45 slides
Viewers also liked
(10)
シンポジウム「データの時代の心理学」指定討論
Masashi Komori
•
1.2K views
LET2011: Rによる教育データ分析入門
Yuichiro Kobayashi
•
7.4K views
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
nishioka1
•
1.7K views
Osaka.Stan #3 Chapter 5-2
Takayuki Goto
•
3.8K views
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Hiroyuki Muto
•
6.9K views
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
nishioka1
•
3.1K views
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
Hiroyuki Muto
•
8K views
データ解析のための統計モデリング入門 1~2章
itoyan110
•
12.5K views
Osaka.stan#2 chap5-1
Makoto Hirakawa
•
5.9K views
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
•
4.9M views
Similar to 【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Stanの紹介と応用事例(age heapingの統計モデル)
. .
3K views
•
27 slides
数理解析道場
TakaakiYonekura
88 views
•
42 slides
Time series analysis with python chapter2-1
ShoKumada
161 views
•
26 slides
Rで実験計画法 前編
itoyan110
29K views
•
39 slides
Time series analysis with python 1 3
ShoKumada
85 views
•
37 slides
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Masaya Kaneko
8.7K views
•
48 slides
Similar to 【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
(20)
Stanの紹介と応用事例(age heapingの統計モデル)
. .
•
3K views
数理解析道場
TakaakiYonekura
•
88 views
Time series analysis with python chapter2-1
ShoKumada
•
161 views
Rで実験計画法 前編
itoyan110
•
29K views
Time series analysis with python 1 3
ShoKumada
•
85 views
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Masaya Kaneko
•
8.7K views
ロボット家電と制御 Domestic robotics: mechanisms and control
Yoichi Yamazaki
•
2.8K views
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
Zansa
•
8.4K views
充足可能性問題のいろいろ
Hiroshi Yamashita
•
7.1K views
実践データ分析基礎
TOSHI STATS Co.,Ltd.
•
653 views
打ち切りデータのヒストグラム
Ko Abe
•
3.6K views
ディジタル信号処理 課題解説(その3) 2014年度版
dsp_kyoto_2014
•
554 views
スパースモデリングによる多次元信号・画像復元
Shogo Muramatsu
•
6.2K views
ディジタル信号処理の課題解説 その3
noname409
•
1.8K views
カステラ本勉強会 第三回
ke beck
•
3.2K views
これならわかる最適化数学8章_動的計画法
kenyanonaka
•
687 views
Computing for Isogeny Kernel Problem by Groebner Basis
Yasu Math
•
289 views
PRML復々習レーン#9 6.3-6.3.1
sleepy_yoshi
•
2.3K views
Rで学ぶロバスト推定
Shintaro Fukushima
•
24.6K views
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
hirokazutanaka
•
262 views
More from Masashi Komori
社会心理学者のための時系列分析入門_小森
Masashi Komori
18.4K views
•
66 slides
感性情報心理学(1/4)
Masashi Komori
4.5K views
•
83 slides
感性情報心理学(4/4)
Masashi Komori
2.4K views
•
91 slides
感性情報心理学(3/4)
Masashi Komori
2K views
•
48 slides
感性情報心理学(2/4)
Masashi Komori
2.3K views
•
65 slides
工学系研究者のための 心理学的研究手法ガイド: 研究計画から実施,成果公表まで
Masashi Komori
13.6K views
•
62 slides
More from Masashi Komori
(6)
社会心理学者のための時系列分析入門_小森
Masashi Komori
•
18.4K views
感性情報心理学(1/4)
Masashi Komori
•
4.5K views
感性情報心理学(4/4)
Masashi Komori
•
2.4K views
感性情報心理学(3/4)
Masashi Komori
•
2K views
感性情報心理学(2/4)
Masashi Komori
•
2.3K views
工学系研究者のための 心理学的研究手法ガイド: 研究計画から実施,成果公表まで
Masashi Komori
•
13.6K views
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
1.
Chapter12:時間や空間を扱うモデル 大阪電気通信大学 情報通信工学部 小森 政嗣 『StanとRでベイズ統計モデリング』読書会(Osaka.Stan#6)
2.
自己紹介 • 小森 政嗣(こもりまさし) •
大阪電気通信大学 情報通信工学部 情報工学科 • 様々な時系列データを扱ってきた – ラットやサルの電気生理 – 合コン・カウンセリング・授業場面の 体の動き – ツイッターの投稿の時間的変化 – 気分障害患者の日内活動量パタン
3.
ツイッターでこんなつぶやきを見つけた ※元ツイートは削除されている こんなグラフがあって「XX時 には野生型と変異体で差が あります」を言いたいときに 使う検定がわからなくて時 間が溶けてる。各時刻で野 生型 vs 変異体のt-testを するのはよくなさそうなのは わかる。 グラフは下記サイトから引用 二つの時系列データの間に「差」があるか判断するには
- StatModeling Memorandum http://statmodeling.hatenablog.com/entry/difference-between-time-courses 野生型 変異体
4.
ツイッターでこんなつぶやきを見つけた ※元ツイートは削除されている 二つの時系列データの間に「差」があるか判断するには - StatModeling
Memorandum http://statmodeling.hatenablog.com/entry/difference-between-time-courses より引用 野生型 変異体 • このつぶやきに関する「Togetterまと め」から抜粋 – 単に平均値を比較すればいい – 時刻ごとt検定で連続N時刻以上有意で OK みたいなやり方 • ↑多重検定補正が必要だろ • ↑時系列データに対して,多重検定補正 はおかしい – 拡張ディッキー–フラー検定の後, 変化点検出 – クラスター並べ替え検定 – 変化点検出を組み込んだ状態空間モデ ル(アヒル本の中の人) こんな単純なデータに対する分析であっても, 各々のバックグラウンドによって提案する方法が異なる
5.
時系列解析のモデルを考えるときに必要なこと • 様々な時系列分析手法がある • 手法の違いは,基本的には「自己相関」と どのように向き合うのかの違い –
自己相関と正面から向き合う方法 • 「トレンド」「季節性」などの様々な自己相関を考慮する • 状態空間モデルはここに含まれる – 自己相関を消す方法 • 周波数解析など 12章では時空間的な自己相関を考慮に 入れた「状態空間モデル」を扱っている
6.
12章のアウトライン 12.1 状態空間モデルことはじめ ローカルレベルモデル・ローカル線形トレンドモデル 12.2 季節調整項 ダミー変数を使った季節成分の調整 12.3
変化点検出 12.4 その他の拡張方法 トレンド項の工夫,時間間隔不等の対処,複数のパラメータ 12.5 時間構造と空間構造の等価性 12.6 1次元の空間構造 みんな大好き久保緑本11章のデータでマルコフ場モデル 12.7 2次元の空間構造 12.8 地図を使った空間構造
7.
状態空間モデルことはじめ(概要) • 状態空間モデルでは真の状態𝜇と観測値𝑌を区別する – 真の状態は直接は観測できない –
観測値は時々刻々得られる 真の状態𝜇 観測値𝑌 𝜇[1] 𝜇[2] 𝜇[𝑇] 𝑌[2]𝑌[1] 𝑌[𝑇] ⋯ ⋯ システムモデル(状態方程式) 「真の状態」の前後の関係式 観測モデル(観測方程式) 「真の値」は観測値に その都度反映される
8.
状態空間モデルことはじめ(概要) • 一番簡単なローカルレベルモデル(酔歩+ノイズ)の例 – 12.1.3節■モデル式12−2■(1階差分のトレンド項モデル) 𝜇
𝑡 ~ Normal 𝜇 𝑡 − 1 , 𝜎𝜇 システムモデル(状態方程式) 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 観測モデル(観測方程式) 真の状態𝜇 観測値𝑌 𝜇[1] 𝜇[2] 𝜇[𝑇] 𝑌[2] 𝑌[1] 𝑌[𝑇] ⋯ システムモデル 観測モデル ⋯ +𝜀 𝜇1 +𝜀 𝜇2 +𝜀 𝜇𝑇−1 +𝜀 𝑌1 +𝜀 𝑌2 +𝜀 𝑌𝑇 (状態撹乱項) (状態撹乱項) (観測撹乱項) (観測撹乱項)
9.
状態空間モデルことはじめ(書き方) ローカルレベルモデルを例に • 本書でのモデルの書き方 𝜇 𝑡
~ Normal 𝜇 𝑡 − 1 , 𝜎𝜇 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 • こんな風に書かれることも 𝜇 𝑡 = 𝜇 𝑡−1 + 𝜀 𝜇 𝜀 𝜇~NID(0, 𝜎𝜇) 𝑦𝑡 = 𝜇 𝑡 + 𝜀 𝑌 𝜀 𝑌~NID(0, 𝜎 𝑌) • 一般的には 𝛍t = 𝐓𝐭 𝛍𝐭−𝟏 + 𝐑 𝐭 𝛆 𝛍 𝐲𝐭 = 𝐙𝐭 𝛍𝐭 + 𝛆 𝐘 • Stanでの(スマートな)書き方 model { mu[2:T] ~ normal(mu[1:(T-1)], s_mu); Y ~ normal(mu, s_Y); } • Stanでの(わかりやすい)書き方 model { for( t in 2 : T){ mu[t] ~ normal(mu[t-1], s_mu); } Y ~ normal(mu, s_Y); } システムモデル(状態方程式) 観測モデル(観測方程式)
10.
ローカルレベルモデル (「1階差分のトレンド項」を考慮したモデル) • ローカルレベルモデルは 「ランダムウォークプラスノイズモデル」 とも呼ばれる • 𝜇に正規ノイズ(状態撹乱項)𝜀
𝜇が累積加算されていく過程 𝜇 𝑡 = 𝜇 𝑡 − 1 + 𝜀 𝜇 𝑡 𝜀 𝜇 𝑡 ~Normal 0, 𝜎𝜇 12.1.1 – 12.1.5 pp. 231 - 233 初期値=0, σμ=1 に設定した for (t in 2:N) y[t] <- rnorm(1, y[t-1], sigma) • ランダムウォーク(酔歩)とは? 描いてみた
11.
ローカルレベルモデル (「 1階差分のトレンド項」を考慮したモデル) • ローカルレベルモデルはランダムウォークに観測撹乱項が加 わった観測値𝑌
から, 以下のパラメータを推定する • 𝜇[𝑡],𝜎𝜇,𝜎 𝑌 12.1.1 – 12.1.5 pp. 231 - 233 真の状態𝜇 観測値𝑌 𝜇[1] 𝜇[2] 𝜇[𝑇] 𝑌[2] 𝑌[1] 𝑌[𝑇] ⋯ システムモデル 観測モデル ⋯ +𝜀 𝜇1 +𝜀 𝜇2 +𝜀 𝜇𝑇−1 +𝜀 𝑌1 +𝜀 𝑌2 +𝜀 𝑌𝑇 (状態撹乱項) (状態撹乱項) (観測撹乱項) (観測撹乱項) 𝜇 𝑡 ~ Normal 𝜇 𝑡 − 1 , 𝜎𝜇 𝑡 = 2, … , 𝑇 (12.1) 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 𝑡 = 1, … , 𝑇 (12.2)
12.
ローカルレベルモデル (「 1階差分のトレンド項」を考慮したモデル) Stanでやってみよう • イベントの21日分の来場者数データからパラメータを推定 12.1.1
– 12.1.5 pp. 231 - 233 図12.1(右) イベント来場者 data { int T; int T_pred; vector[T] Y; } parameters { vector[T] mu; real<lower=0> s_mu; real<lower=0> s_Y; } model { mu[2:T] ~ normal(mu[1:(T-1)], s_mu); Y ~ normal(mu, s_Y); } model12-2.stan(抜粋) システムモデル(状態方程式) 観測モデル(観測方程式)
13.
ローカルレベルモデル (「 1階差分のトレンド項」を考慮したモデル) Stanでやってみよう • 結果 12.1.1
– 12.1.5 pp. 231 - 233 • 推定できた • 真の状態𝜇 𝑡 • 状態撹乱項のパラメータ𝜎𝜇 • 観測撹乱項のパラメータ𝜎 𝑌 図12.3(左; 一部改変) ベイズ信頼区間
14.
ローカルレベルモデル (「 1階差分のトレンド項」を考慮したモデル) ついでに今後の予測もStanでやってみよう • generated
quantitiesで将来の来場者の予測もできる 12.1.1 – 12.1.5 pp. 231 - 233 generated quantities { vector[T+T_pred] mu_all; vector[T_pred] y_pred; mu_all[1:T] = mu; for (t in 1:T_pred) { mu_all[T+t] = normal_rng(mu_all[T+t-1], s_mu); y_pred[t] = normal_rng(mu_all[T+t], s_Y); } } ※もちろんgenerated quantities を使わずにRで乱数を発生させて予 測することもできるし,また,将来の 値を「欠損値」とみなしてmodel{}内で 予測することも可能(「Stanで体重の 推移をみつめてみた(状態空間モデ ル) @kosugittiさん参照) 「ガキの使いとちゃうねんぞ」という レベルの予測. もっと減っていきそうなのに… 所詮はランダムウォークモデル. できるのはこの程度 ローカルレベルモデルでは 流石にモデルが単純すぎるのでは?
15.
2階差分モデル (「 2階差分のトレンド項」を考慮したモデル) • 一つ前の状態だけでなく,2つ前 の状態からの変化も考慮できな いか? –
「傾き」を考慮すれば良い • 「傾き」とは? – 2つ前から1つ前への変化量 – 酔歩するオッサンの例で言えば 「オッサンが歩く速度」を考慮す ることと同じ 12.1.7 pp. 233 - 235 将来はもっと 下がっていき そうな気がする さっきやったやつ(model12-2.stan) こんな感じになれば… これからやるやつ(model12-4.stan)
16.
2階差分モデル (「 2階差分のトレンド項」を考慮したモデル) 12.1.7 pp. 233
- 235 • 1階差分のトレンド項モデル(model12-2.stan) 𝜇 𝑡 = 𝜇 𝑡 − 1 + 𝜀 𝜇 𝑡 − 1 • 2階差分のトレンド項モデル(model12-4.stan) 𝜇 𝑡 = 𝜇 𝑡 − 1 + 𝜇 𝑡 − 1 − 𝜇 𝑡 − 2 + 𝜀 𝜇 𝑡 − 2 = 2𝜇 𝑡 − 1 − 𝜇 𝑡 − 2 + 𝜀 𝜇 𝑡 − 2 (12.3) 一つ前 状態撹乱項 一つ前 状態撹乱項 傾き(単位時間あたりの変化量) 2階差分を考えるとなにがうれしいのか? • 推定された𝜇の変化が滑らかになる(平滑化される) • トレンドを考慮した予測ができる
17.
2階差分モデル (「 2階差分のトレンド項」を考慮したモデル) Stanでやってみよう 12.1.7 pp. 233
- 235 • 確かになめらか • 予測値も自然 図12.3(右) ベイズ信頼区間 model12-4.stan(抜粋) ※小森注:この「 2階差分のトレンド項」モデルは実際にはあまり使われな いように思います.そのかわり「トレンド方程式」を状態方程式に加えた 「ローカル線形トレンドモデル」のほうが用いられるかな. 𝜇 𝑡 ~ Normal 𝜇 𝑡 − 1 + 𝑣[𝑡], 𝜎𝜇 状態方程式(レベル) 𝑣 𝑡 ~ Normal 𝑣 𝑡 − 1 , 𝜎𝑣 状態方程式(トレンド) 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 観測方程式
18.
季節要素を考慮したモデル 12.2 pp. 235
- 238 • 周期性(単なる変動ではなく)が あるデータを分析する場合, 「季節調整項」を考慮する • 季節調整項とは?(ガリガリ君最初の1 年間の四半期の売上を考える) 図12.4(左;一部改変)某「季節もの」の四半 期ごとの販売数.特定のシーズンだけよく 売れることがわかる ベースライン𝜇=18.3 春 夏 秋 冬 -0.2 5.4 -1.9 -3.3 • ベースラインからの凸凹が「季節調整項」 • 季節調整項を全部足すと −0.2 + 5.4 + −0.9 + (−3.3) ≅ 0 • つまり,春夏秋の3つの季節調整項が与えられ れば,冬の季節調整項は自動的に求まる
19.
季節要素を考慮したモデル 12.2 pp. 235 -
238 • 周期𝐿の周期データであれば𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 は小さい値になる 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 + 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 1 + ⋯ + 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝐿 − 1 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡] • ガリガリ君の場合であれば(ただし春= 𝑡とすると) 𝑠𝑒𝑎𝑠𝑜𝑛 春 + 𝑠𝑒𝑎𝑠𝑜𝑛 夏 + 𝑠𝑒𝑎𝑠𝑜𝑛 秋 + 𝑠𝑒𝑎𝑠𝑜𝑛 冬 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡] • ここで𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡]が正規分布𝒩(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛 2 ) に従うとすると 𝑙=0 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 ~Normal(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛) 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 = − 𝑙=1 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 + 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 ~Normal(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛) ※春夏秋冬を全部足した値は平均0の正規分布に従う ※ある季節(春)の季節調整項は残りの季節(夏秋冬)の合計+𝜀 𝑠𝑒𝑎𝑠𝑜𝑛になる この関係式をStanのモデルに入れてやればいいだけ
20.
季節要素を考慮したモデル Stanでやってみよう 12.2 pp. 235 -
238 model12-6.stan 𝑙=1 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 modelに「Y ~ normal(mu + season, s_Y);」 と書いてtransformed parametersを消しても 特に問題ないけど,y_meanを出力するためにこの ように書いているのかな? 推定されたトレンド項𝜇 𝑡 季節調整項𝑠𝑒𝑎𝑠𝑜𝑛 𝑡
21.
変化点検出 (システムノイズに非ガウス分布がある場合) 12.3 pp. 238 -
240 model12-2.stan(一部改変) NormalをCauchyに変更 非常にノイジーなデータなので「裾が重い」 Cauchy分布をシステムノイズに使ってみたら _人人人人人人人_ > 収束しねえ <  ̄Y^Y^Y^Y^Y^Y ̄ 裾の重い部分をのステップサイズがどうしても 小さくなってしまう.ヒントはStanマニュアル20 章“Optimizing Stan Code”の “Reparameterizing the Cauchy”にある Normal Cauchy 「裾が重い」とは
22.
変化点検出 (システムノイズに非ガウス分布がある場合) • 再パラメータ化のテクニック • Cauchy
𝑦 𝜇, 𝜎 の累積分布関数 の逆関数を使って, Cauchy分布 に従う乱数を発生させる 12.3 pp. 238 - 240 model12-7.stan 𝑥~Uniform 0,1 として𝜋(𝑥 − 0.5) 𝐹−1 𝑥 = 𝜇 + 𝜎tan(𝜋(𝑥 − 0.5)) これなら収束する 潜在状態の数がアプリオリに 決められるのであれば,隠れ マルコフモデルでやるのもあ りなのでは?
23.
• グラフを見ると潜在状態が3つぐらいありそ うなので,隠れマルコフモデル(HMM)を Stanでやってみた • 「隠れ状態」は離散量なので11章(うなど ん氏)のテクニックを使ってみる •
Viterbiアルゴリズムでどの状態であったか 推定してみる 変化点検出 (隠れマルコフモデルで変化点検出やってみた) ソースはこんな感じ 赤い線は潜在状態(離散値) Stan User’s Guide and Reference Manualの10.6.節Hidden Markov Models” の”Semisupervised Estimation”と”Predictive Inference”を参考にした
24.
その他の拡張方法 • 独自のトレンド項を入れる • データの対数をとる •
時刻が不等間隔のとき – 等間隔の目盛りを取って,丸める. データが無いところは欠損値にする • 複数の要因を入れる • 複数の𝜇 𝑡 – 複数回の試行を行う場合や,複数人の被験 者を対象にする時など.観測撹乱項,状態 撹乱項を工夫すると良いかも 12.4 pp. 240 - 241 𝜇 𝑛, 𝑡 = 𝜇 𝑛, 𝑡 − 1 + 𝜀 𝜇[𝑛, 𝑡 − 1] 𝑌 𝑛, 𝑡 = 𝜇 𝑛, 𝑡 + 𝜀 𝑌[𝑛, 𝑡] 𝜀 𝜇 𝑛, 𝑡 ~𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎𝜇 𝑛 𝜀 𝑌 𝑛, 𝑡 ~𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎 𝑌 ■モデル式12−9■ 状態撹乱項は個人差あり 「3階差分を使うのも良いし…」と 本にあるが,時系列の場合は2階 差分,空間構造の場合は1階差 分でいいのでは? スプラインとか カルマンフィルタと かで補完をしたデー タを使っちゃダメョ 観測撹乱項は被験者間で共通
25.
時間構造と空間構造の等価性 1階差分モデルを例に • DAG(非巡回有向グラフ)で表現される • システムモデル 𝜇
𝑡 = 𝜇 𝑡 − 1 +𝜀 𝜇 [𝑡] 𝜀 𝜇[𝑡]~𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎𝜇 • 条件付き確率 𝑝 𝜇 𝑡 𝜇 𝑡−1 = 1 2𝜋𝑟2 exp(− 1 2𝜎𝜇 2 𝜇 𝑡 − 𝜇 𝑡−1 2 ) • 観測モデルは有向グラフだが,シ ステムモデルは無向グラフ • (1次元空間の場合は)結果は変 わらないが,無向グラフであること を明示的に示すため同時確率で 表す 12.5 pp. 242 - 244 今まで扱ってきた状態空間モデル 1次元の空間構造(マルコフ場)モデル 𝑝(𝜇1, 𝜇2, … 𝜇 𝑇) ∝ exp − 1 2𝜎𝜇 2 𝑡=2 𝑇 (𝜇 𝑡 − 𝜇 𝑡−1)2 対数事後確率を見れば状態空間モデルとマルコフ場モデルは等価. だけど(多分)2次元モデルになった時に説明が超めんどいのもあって このような記法にしている(それにそもそもStanでは右の書き方が本質的)
26.
1次元の空間構造 みんな大好き久保『緑本』11章 12.6 pp. 244 -
246 • まずは『緑本』11章を振り返ってみる • 1から50までの区画が並んでいて,場所ご とに植物がたくさん生えてたり生えてな かったりする • その植物の密度は滑らかに変化 • 植物が生えている本数はポアソン分布に 従うとする 「久保拓弥. データ解析のための統計モデリング 入門. 岩波書店, 2012.」より 𝜆 • 平均値に比べて分散が大きすぎる⇨過分散 • 大域的パラメータの切片𝛽と場所差𝑟𝑗を考える 𝑝 𝑦𝑗 𝜆𝑗 = 𝜆 𝑦 𝑗 exp −𝜆 𝑦 𝑗! log 𝜆𝑗 = 𝛽 + 𝑟𝑗 • 𝑟𝑗の事前分布をどう与えるか? • 𝑟𝑗が互いに独立だとするとglmmと同じ • 𝑟𝑗が「隣接するものは互いに似ている」と考 えるのがCAR(conditional auto regressive; 条件付き自己回帰)モデル 久保緑本の図11.2を一部改変
27.
12.6 pp. 244 -
246 1次元の空間構造 久保『緑本』11章とアヒル本12.6節の関係 • 緑本で紹介されているIntrinsic Gaussian CAR model(条件付き自己 回帰モデル) 𝑝 𝑟𝑗 𝜇 𝑗, 𝑠 = 𝑛𝑗 2𝜋𝑠2 𝑒𝑥𝑝 − 𝑟𝑗 − 𝜇 𝑗 2 2𝑠2/𝑛𝑗 ただし𝜇 𝑗 = 𝑟 𝑗−1+𝑟 𝑗+1 2 • この式は2階差分になっている 𝑟𝑗 − 𝜇 𝑗 2 = 2𝑟 𝑗−𝑟 𝑗−1−𝑟 𝑗+1 2 2 = 𝑟 𝑗+1−𝑟 𝑗 − 𝑟 𝑗−𝑟 𝑗−1 2 2 • 注意:緑本のこのモデル式は「𝑟𝑗−1や 𝑟𝑗+1が固定されている場合の𝑟𝑗の確 率分布」を表す式(full conditionalと呼 ばれるらしい)であって条件付き分布 とは異なる • 一方アヒル本のモデル式12−11では 一階差分(式12.9) 𝑝 𝑟 1 , 𝑟 2 , … , 𝑟 𝐼 ∝ 1 𝜎𝑟 𝐴 exp − 1 2𝜎𝑟 2 𝑖,𝑗 𝑟[𝑖] − 𝑟[𝑖 − 1] 2 • 注意:事後(同時)確率で書かれてて, この式を展開して𝑟[𝑖] について平方 完成すれば2階差分になるよね • アヒル本の式から緑本の式は導ける けど,逆はわからん この2つのモデル(CARモデルと1階差分モデル)は同じもの このあたりの議論は下記に詳しく解説あり 伊庭幸人 時間・空間を含むベイズモデルのいろいろな 表現形式, 岩波データサイエンス vol.1, 96-106.
28.
1次元の空間構造 • 観測モデルについて – こちらは有向グラフで表現でき るので通常の書き方 •
結果 12.6 pp. 244 - 246 model12-11.stan(1階差分モデル) model12-12.stan(2階差分モデル;抜粋) r[2,I] ~ normal(r[1:(T-1)],s_r); と同じ結果になる 1階差分モデル 2階差分モデル 緑本と同じ結果 対数リンク関数とセットになった poisson_log()がいろいろ便利らしい
29.
2次元の空間構造 2次元格子状の空間データの扱い方 • データ – 2次元格子状(16×24)のプレー ト上で計測を行った –
96種類の処理を各々4回ずつ処 理して繰り返し数4のデータを得 た • 目的 – プレートの位置の影響を除去 – プレートの位置の影響を知る 12.7 pp. 246 - 251 バイオアッセイで用いられる「384プレート」 24列 16行 図12.8 プレートの穴の配置 (𝑖, 𝑗) と観測値𝑌 (𝑖, 𝑗)
30.
• 縦横ともに2階差分モデルで考える • 𝑌
𝑖, 𝑗 = 𝑟 𝑖, 𝑗 + 𝛽[𝑇𝐼𝐷 𝑖, 𝑗 ] • 𝑝 𝑟 1,1 , 𝑟 1,2 , … , 𝑟 16,24 ∝ 1 𝜎𝑟 𝐴 exp − 1 2𝜎𝑟 2 𝑖,𝑗 𝑟[𝑖, 𝑗] − 2𝑟[𝑖, 𝑗 − 1] + 𝑟[𝑖, 𝑗 − 2] 2 2次元の空間構造 2次元格子状の空間データの扱い方 12.7 pp. 246 - 251 model12-13.stan
31.
2次元の空間構造 2次元格子状の空間データの扱い方 12.7 pp. 246 -
251 • 初期値を与えるテクニック – 局所解に陥らないようだいたいの あたりをつけた初期値を使う まずLOESS(局所回帰) をやってる LOESSの結果を初期値として投入 run-model12-13.R(抜粋) 図12.9(左)𝑟[𝑖, 𝑗]の中央値 図12.9(右)単純な平均値と 推定結果の関係(95%信頼区間)
32.
地図を使った空間構造 格子状じゃないときの空間データ 12.8 pp. 251 -
254 • 各県の平均気温データを,隣接関 係をもとに平滑化 • 1階差分モデルで考える 地理的隣接関係を非巡回有向グラフ (DAG)で表現したもの( 𝐹𝑟𝑜𝑚 < 𝑇𝑜) . データファイル12.4(data-map-neighbor.txt) を{igraph}パッケージで描画してみた model12-13.stan 一階差分モデル 観測モデルのs_Yにかなり厳し目の事 前分布を用いている(平滑化しすぎな いようにするため).ゆるくすると全国ほ ぼ同じ気温だと推定される
33.
地図を使った空間構造 格子状じゃないときの空間データ 12.8 pp. 251 -
254 図12.10(左)観測値,(右)推定された𝑟[𝑛] の中央値 平均気温 マルコフ場モデルに より平滑化した気温 図12.11 実測値と予測値 図12.11 𝑌 𝑛 − 𝑟 𝑛 のMAP推定値 のヒストグラムと密度関数 ※ 本書のソースにある事前分布 s_Y ~ normal(0, 0.1); だと本の図の通りの結果にはならない 𝜎 = 0.08ぐらいにすればいいかも?