Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル

1,753 views

Published on

Osaka.Stan#6『StanとRでベイズ統計モデリング』(通称アヒル本)読書会@関西学院大学 2017年11月18日(土)
https://atnd.org/events/91527

Published in: Science
  • Be the first to comment

【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル

  1. 1. Chapter12:時間や空間を扱うモデル 大阪電気通信大学 情報通信工学部 小森 政嗣 『StanとRでベイズ統計モデリング』読書会(Osaka.Stan#6)
  2. 2. 自己紹介 • 小森 政嗣(こもりまさし) • 大阪電気通信大学 情報通信工学部 情報工学科 • 様々な時系列データを扱ってきた – ラットやサルの電気生理 – 合コン・カウンセリング・授業場面の 体の動き – ツイッターの投稿の時間的変化 – 気分障害患者の日内活動量パタン
  3. 3. ツイッターでこんなつぶやきを見つけた ※元ツイートは削除されている こんなグラフがあって「XX時 には野生型と変異体で差が あります」を言いたいときに 使う検定がわからなくて時 間が溶けてる。各時刻で野 生型 vs 変異体のt-testを するのはよくなさそうなのは わかる。 グラフは下記サイトから引用 二つの時系列データの間に「差」があるか判断するには - StatModeling Memorandum http://statmodeling.hatenablog.com/entry/difference-between-time-courses 野生型 変異体
  4. 4. ツイッターでこんなつぶやきを見つけた ※元ツイートは削除されている 二つの時系列データの間に「差」があるか判断するには - StatModeling Memorandum http://statmodeling.hatenablog.com/entry/difference-between-time-courses より引用 野生型 変異体 • このつぶやきに関する「Togetterまと め」から抜粋 – 単に平均値を比較すればいい – 時刻ごとt検定で連続N時刻以上有意で OK みたいなやり方 • ↑多重検定補正が必要だろ • ↑時系列データに対して,多重検定補正 はおかしい – 拡張ディッキー–フラー検定の後, 変化点検出 – クラスター並べ替え検定 – 変化点検出を組み込んだ状態空間モデ ル(アヒル本の中の人) こんな単純なデータに対する分析であっても, 各々のバックグラウンドによって提案する方法が異なる
  5. 5. 時系列解析のモデルを考えるときに必要なこと • 様々な時系列分析手法がある • 手法の違いは,基本的には「自己相関」と どのように向き合うのかの違い – 自己相関と正面から向き合う方法 • 「トレンド」「季節性」などの様々な自己相関を考慮する • 状態空間モデルはここに含まれる – 自己相関を消す方法 • 周波数解析など 12章では時空間的な自己相関を考慮に 入れた「状態空間モデル」を扱っている
  6. 6. 12章のアウトライン 12.1 状態空間モデルことはじめ ローカルレベルモデル・ローカル線形トレンドモデル 12.2 季節調整項 ダミー変数を使った季節成分の調整 12.3 変化点検出 12.4 その他の拡張方法 トレンド項の工夫,時間間隔不等の対処,複数のパラメータ 12.5 時間構造と空間構造の等価性 12.6 1次元の空間構造 みんな大好き久保緑本11章のデータでマルコフ場モデル 12.7 2次元の空間構造 12.8 地図を使った空間構造
  7. 7. 状態空間モデルことはじめ(概要) • 状態空間モデルでは真の状態𝜇と観測値𝑌を区別する – 真の状態は直接は観測できない – 観測値は時々刻々得られる 真の状態𝜇 観測値𝑌 𝜇[1] 𝜇[2] 𝜇[𝑇] 𝑌[2]𝑌[1] 𝑌[𝑇] ⋯ ⋯ システムモデル(状態方程式) 「真の状態」の前後の関係式 観測モデル(観測方程式) 「真の値」は観測値に その都度反映される
  8. 8. 状態空間モデルことはじめ(概要) • 一番簡単なローカルレベルモデル(酔歩+ノイズ)の例 – 12.1.3節■モデル式12−2■(1階差分のトレンド項モデル) 𝜇 𝑡 ~ Normal 𝜇 𝑡 − 1 , 𝜎𝜇 システムモデル(状態方程式) 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 観測モデル(観測方程式) 真の状態𝜇 観測値𝑌 𝜇[1] 𝜇[2] 𝜇[𝑇] 𝑌[2] 𝑌[1] 𝑌[𝑇] ⋯ システムモデル 観測モデル ⋯ +𝜀 𝜇1 +𝜀 𝜇2 +𝜀 𝜇𝑇−1 +𝜀 𝑌1 +𝜀 𝑌2 +𝜀 𝑌𝑇 (状態撹乱項) (状態撹乱項) (観測撹乱項) (観測撹乱項)
  9. 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. 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. 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. 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. 13. ローカルレベルモデル (「 1階差分のトレンド項」を考慮したモデル) Stanでやってみよう • 結果 12.1.1 – 12.1.5 pp. 231 - 233 • 推定できた • 真の状態𝜇 𝑡 • 状態撹乱項のパラメータ𝜎𝜇 • 観測撹乱項のパラメータ𝜎 𝑌 図12.3(左; 一部改変) ベイズ信頼区間
  14. 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. 15. 2階差分モデル (「 2階差分のトレンド項」を考慮したモデル) • 一つ前の状態だけでなく,2つ前 の状態からの変化も考慮できな いか? – 「傾き」を考慮すれば良い • 「傾き」とは? – 2つ前から1つ前への変化量 – 酔歩するオッサンの例で言えば 「オッサンが歩く速度」を考慮す ることと同じ 12.1.7 pp. 233 - 235 将来はもっと 下がっていき そうな気がする さっきやったやつ(model12-2.stan) こんな感じになれば… これからやるやつ(model12-4.stan)
  16. 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. 17. 2階差分モデル (「 2階差分のトレンド項」を考慮したモデル) Stanでやってみよう 12.1.7 pp. 233 - 235 • 確かになめらか • 予測値も自然 図12.3(右) ベイズ信頼区間 model12-4.stan(抜粋) ※小森注:この「 2階差分のトレンド項」モデルは実際にはあまり使われな いように思います.そのかわり「トレンド方程式」を状態方程式に加えた 「ローカル線形トレンドモデル」のほうが用いられるかな. 𝜇 𝑡 ~ Normal 𝜇 𝑡 − 1 + 𝑣[𝑡], 𝜎𝜇 状態方程式(レベル) 𝑣 𝑡 ~ Normal 𝑣 𝑡 − 1 , 𝜎𝑣 状態方程式(トレンド) 𝑌 𝑡 ~ Normal 𝜇 𝑡 , 𝜎 𝑌 観測方程式
  18. 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. 19. 季節要素を考慮したモデル 12.2 pp. 235 - 238 • 周期𝐿の周期データであれば𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 は小さい値になる 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 + 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 1 + ⋯ + 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝐿 − 1 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡] • ガリガリ君の場合であれば(ただし春= 𝑡とすると) 𝑠𝑒𝑎𝑠𝑜𝑛 春 + 𝑠𝑒𝑎𝑠𝑜𝑛 夏 + 𝑠𝑒𝑎𝑠𝑜𝑛 秋 + 𝑠𝑒𝑎𝑠𝑜𝑛 冬 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡] • ここで𝜀 𝑠𝑒𝑎𝑠𝑜𝑛[𝑡]が正規分布𝒩(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛 2 ) に従うとすると 𝑙=0 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 = 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 ~Normal(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛) 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 = − 𝑙=1 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 + 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 𝜀 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 ~Normal(0, 𝜎𝑠𝑒𝑎𝑠𝑜𝑛) ※春夏秋冬を全部足した値は平均0の正規分布に従う ※ある季節(春)の季節調整項は残りの季節(夏秋冬)の合計+𝜀 𝑠𝑒𝑎𝑠𝑜𝑛になる この関係式をStanのモデルに入れてやればいいだけ
  20. 20. 季節要素を考慮したモデル Stanでやってみよう 12.2 pp. 235 - 238 model12-6.stan 𝑙=1 𝐿−1 𝑠𝑒𝑎𝑠𝑜𝑛 𝑡 − 𝑙 modelに「Y ~ normal(mu + season, s_Y);」 と書いてtransformed parametersを消しても 特に問題ないけど,y_meanを出力するためにこの ように書いているのかな? 推定されたトレンド項𝜇 𝑡 季節調整項𝑠𝑒𝑎𝑠𝑜𝑛 𝑡
  21. 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. 22. 変化点検出 (システムノイズに非ガウス分布がある場合) • 再パラメータ化のテクニック • Cauchy 𝑦 𝜇, 𝜎 の累積分布関数 の逆関数を使って, Cauchy分布 に従う乱数を発生させる 12.3 pp. 238 - 240 model12-7.stan 𝑥~Uniform 0,1 として𝜋(𝑥 − 0.5) 𝐹−1 𝑥 = 𝜇 + 𝜎tan(𝜋(𝑥 − 0.5)) これなら収束する 潜在状態の数がアプリオリに 決められるのであれば,隠れ マルコフモデルでやるのもあ りなのでは?
  23. 23. • グラフを見ると潜在状態が3つぐらいありそ うなので,隠れマルコフモデル(HMM)を Stanでやってみた • 「隠れ状態」は離散量なので11章(うなど ん氏)のテクニックを使ってみる • Viterbiアルゴリズムでどの状態であったか 推定してみる 変化点検出 (隠れマルコフモデルで変化点検出やってみた) ソースはこんな感じ 赤い線は潜在状態(離散値) Stan User’s Guide and Reference Manualの10.6.節Hidden Markov Models” の”Semisupervised Estimation”と”Predictive Inference”を参考にした
  24. 24. その他の拡張方法 • 独自のトレンド項を入れる • データの対数をとる • 時刻が不等間隔のとき – 等間隔の目盛りを取って,丸める. データが無いところは欠損値にする • 複数の要因を入れる • 複数の𝜇 𝑡 – 複数回の試行を行う場合や,複数人の被験 者を対象にする時など.観測撹乱項,状態 撹乱項を工夫すると良いかも 12.4 pp. 240 - 241 𝜇 𝑛, 𝑡 = 𝜇 𝑛, 𝑡 − 1 + 𝜀 𝜇[𝑛, 𝑡 − 1] 𝑌 𝑛, 𝑡 = 𝜇 𝑛, 𝑡 + 𝜀 𝑌[𝑛, 𝑡] 𝜀 𝜇 𝑛, 𝑡 ~𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎𝜇 𝑛 𝜀 𝑌 𝑛, 𝑡 ~𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎 𝑌 ■モデル式12−9■ 状態撹乱項は個人差あり 「3階差分を使うのも良いし…」と 本にあるが,時系列の場合は2階 差分,空間構造の場合は1階差 分でいいのでは? スプラインとか カルマンフィルタと かで補完をしたデー タを使っちゃダメョ 観測撹乱項は被験者間で共通
  25. 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. 26. 1次元の空間構造 みんな大好き久保『緑本』11章 12.6 pp. 244 - 246 • まずは『緑本』11章を振り返ってみる • 1から50までの区画が並んでいて,場所ご とに植物がたくさん生えてたり生えてな かったりする • その植物の密度は滑らかに変化 • 植物が生えている本数はポアソン分布に 従うとする 「久保拓弥. データ解析のための統計モデリング 入門. 岩波書店, 2012.」より 𝜆 • 平均値に比べて分散が大きすぎる⇨過分散 • 大域的パラメータの切片𝛽と場所差𝑟𝑗を考える 𝑝 𝑦𝑗 𝜆𝑗 = 𝜆 𝑦 𝑗 exp −𝜆 𝑦 𝑗! log 𝜆𝑗 = 𝛽 + 𝑟𝑗 • 𝑟𝑗の事前分布をどう与えるか? • 𝑟𝑗が互いに独立だとするとglmmと同じ • 𝑟𝑗が「隣接するものは互いに似ている」と考 えるのがCAR(conditional auto regressive; 条件付き自己回帰)モデル 久保緑本の図11.2を一部改変
  27. 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. 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. 29. 2次元の空間構造 2次元格子状の空間データの扱い方 • データ – 2次元格子状(16×24)のプレー ト上で計測を行った – 96種類の処理を各々4回ずつ処 理して繰り返し数4のデータを得 た • 目的 – プレートの位置の影響を除去 – プレートの位置の影響を知る 12.7 pp. 246 - 251 バイオアッセイで用いられる「384プレート」 24列 16行 図12.8 プレートの穴の配置 (𝑖, 𝑗) と観測値𝑌 (𝑖, 𝑗)
  30. 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. 31. 2次元の空間構造 2次元格子状の空間データの扱い方 12.7 pp. 246 - 251 • 初期値を与えるテクニック – 局所解に陥らないようだいたいの あたりをつけた初期値を使う まずLOESS(局所回帰) をやってる LOESSの結果を初期値として投入 run-model12-13.R(抜粋) 図12.9(左)𝑟[𝑖, 𝑗]の中央値 図12.9(右)単純な平均値と 推定結果の関係(95%信頼区間)
  32. 32. 地図を使った空間構造 格子状じゃないときの空間データ 12.8 pp. 251 - 254 • 各県の平均気温データを,隣接関 係をもとに平滑化 • 1階差分モデルで考える 地理的隣接関係を非巡回有向グラフ (DAG)で表現したもの( 𝐹𝑟𝑜𝑚 < 𝑇𝑜) . データファイル12.4(data-map-neighbor.txt) を{igraph}パッケージで描画してみた model12-13.stan 一階差分モデル 観測モデルのs_Yにかなり厳し目の事 前分布を用いている(平滑化しすぎな いようにするため).ゆるくすると全国ほ ぼ同じ気温だと推定される
  33. 33. 地図を使った空間構造 格子状じゃないときの空間データ 12.8 pp. 251 - 254 図12.10(左)観測値,(右)推定された𝑟[𝑛] の中央値 平均気温 マルコフ場モデルに より平滑化した気温 図12.11 実測値と予測値 図12.11 𝑌 𝑛 − 𝑟 𝑛 のMAP推定値 のヒストグラムと密度関数 ※ 本書のソースにある事前分布 s_Y ~ normal(0, 0.1); だと本の図の通りの結果にはならない 𝜎 = 0.08ぐらいにすればいいかも?

×