Submit Search
Upload
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
•
Download as PPTX, PDF
•
25 likes
•
8,738 views
N
nocchi_airport
Follow
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan)第二回における,第四章の発表資料です
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 97
Download now
Recommended
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
Recommended
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
Fumihiko Takahashi
Stanでガウス過程
Stanでガウス過程
Hiroshi Shimizu
ベイズファクターとモデル選択
ベイズファクターとモデル選択
kazutantan
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
Shinohara Masahiro
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
Hiroshi Shimizu
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
負の二項分布について
負の二項分布について
Hiroshi Shimizu
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
nishioka1
Osaka.Stan #3 Chapter 5-2
Osaka.Stan #3 Chapter 5-2
Takayuki Goto
More Related Content
What's hot
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Hiroshi Shimizu
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
Fumihiko Takahashi
Stanでガウス過程
Stanでガウス過程
Hiroshi Shimizu
ベイズファクターとモデル選択
ベイズファクターとモデル選択
kazutantan
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
Shinohara Masahiro
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
Hiroshi Shimizu
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
負の二項分布について
負の二項分布について
Hiroshi Shimizu
What's hot
(20)
Stan勉強会資料(前編)
Stan勉強会資料(前編)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
変分ベイズ法の説明
変分ベイズ法の説明
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
不均衡データのクラス分類
不均衡データのクラス分類
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
Stanでガウス過程
Stanでガウス過程
ベイズファクターとモデル選択
ベイズファクターとモデル選択
2 3.GLMの基礎
2 3.GLMの基礎
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
グラフィカルモデル入門
グラフィカルモデル入門
負の二項分布について
負の二項分布について
Viewers also liked
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
nishioka1
Osaka.Stan #3 Chapter 5-2
Osaka.Stan #3 Chapter 5-2
Takayuki Goto
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
nishioka1
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Hiroyuki Muto
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
Hiroyuki Muto
データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章
itoyan110
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1
Makoto Hirakawa
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
Hiroshi Shimizu
Viewers also liked
(10)
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
Osaka.Stan #3 Chapter 5-2
Osaka.Stan #3 Chapter 5-2
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
NagoyaStat #5 データ解析のための 統計モデリング入門 第10章
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
Similar to StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
第3回nips読み会・関西『variational inference foundations and modern methods』
第3回nips読み会・関西『variational inference foundations and modern methods』
koji ochiai
教育データマイニングによる英語学習の実態把握
教育データマイニングによる英語学習の実態把握
Yuichiro Kobayashi
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
考司 小杉
Jacet2014ykondo_final
Jacet2014ykondo_final
早稲田大学
Oracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslasso
Satoshi Kato
深層学習(岡本孝之 著)Deep learning Chap.4_2
深層学習(岡本孝之 著)Deep learning Chap.4_2
Masayoshi Kondo
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
Yuichiro Kobayashi
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
Ryutaro Yamauchi
主成分分析(Pca)
主成分分析(Pca)
Shushi Namba
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
Yuya Unno
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
Fujimoto Keisuke
岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02
goony0101
PFI Christmas seminar 2009
PFI Christmas seminar 2009
Preferred Networks
Sotsuken final
Sotsuken final
Kyohei Hamada
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
Text classification zansa
Text classification zansa
Zansa
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
Naoki Hayashi
Similar to StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
(20)
第3回nips読み会・関西『variational inference foundations and modern methods』
第3回nips読み会・関西『variational inference foundations and modern methods』
教育データマイニングによる英語学習の実態把握
教育データマイニングによる英語学習の実態把握
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
Jacet2014ykondo_final
Jacet2014ykondo_final
Oracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslasso
深層学習(岡本孝之 著)Deep learning Chap.4_2
深層学習(岡本孝之 著)Deep learning Chap.4_2
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
主成分分析(Pca)
主成分分析(Pca)
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
岩波データサイエンス_Vol.5_勉強会資料02
岩波データサイエンス_Vol.5_勉強会資料02
PFI Christmas seminar 2009
PFI Christmas seminar 2009
Sotsuken final
Sotsuken final
順序データでもベイズモデリング
順序データでもベイズモデリング
Text classification zansa
Text classification zansa
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
修士論文発表:「非負値行列分解における漸近的Bayes汎化誤差」
More from nocchi_airport
Road to ggplot2再入門
Road to ggplot2再入門
nocchi_airport
R Markdownによるドキュメント生成と バージョン管理入門
R Markdownによるドキュメント生成と バージョン管理入門
nocchi_airport
saiはRに宿るか? -RStudioとggplot2で碁を打つ-
saiはRに宿るか? -RStudioとggplot2で碁を打つ-
nocchi_airport
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
nocchi_airport
ggplot2用例集 入門編
ggplot2用例集 入門編
nocchi_airport
ggplot2によるグラフ化@HijiyamaR#2
ggplot2によるグラフ化@HijiyamaR#2
nocchi_airport
More from nocchi_airport
(6)
Road to ggplot2再入門
Road to ggplot2再入門
R Markdownによるドキュメント生成と バージョン管理入門
R Markdownによるドキュメント生成と バージョン管理入門
saiはRに宿るか? -RStudioとggplot2で碁を打つ-
saiはRに宿るか? -RStudioとggplot2で碁を打つ-
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
ggplot2用例集 入門編
ggplot2用例集 入門編
ggplot2によるグラフ化@HijiyamaR#2
ggplot2によるグラフ化@HijiyamaR#2
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
1.
StanとRでベイズ統計モデリング 読書会 -Chapter 4- StanとRStanをはじめよう 1 Osaka.stan #2 (2016/12/23)
2.
自己紹介 • 紀ノ定 保礼
大阪大学大学院人間科学研究科 心理学・人間工学 界隈 - 専門は交通行動 • ベイズ歴 1年弱(学会発表1件,投稿準備中論文1本) 目下勉強中なので,発表者の理解が誤っている場合は, ご指摘よろしくお願いします! 2
3.
3 最近書きました
4.
本発表について • 本書1~4章の既読者を想定 1~3章は前回の読書会資料を参照 http://www.slideshare.net/simizu706/stanr13 •
進め方 基本的にページ順に説明 - 一部,後の節から先取りして,ひとまとめにしている箇所あり 写経+補足説明 「本書に書いてある通り」の部分は省略 4
5.
本発表について • ggplot2の素晴らしさも伝えたい ただ作図コードがおのずと長くなるので,敬遠 されてしまうかもしれない
そこで,見栄え調整のコードは省略し,最低限 必要な部分だけ抜粋した書き方も紹介 - 以下のサイトで公開しました 5http://qiita.com/kyn02666/items/e41c076cd5140e78b99a
6.
• MCMCの結果が本書と違うが,気にしないでください 環境はR(version
3.3.2)とRStan(version 2.12.1) 6Modeling Language User‘s Guide and Reference Manual, Version 2.13.1 より
7.
7 http://www.kyoritsu-pub.co.jp/bookdetail/9784320112421 本章以降のデータや コードはダウンロード 可能
8.
8 ↓ まず読む
9.
9 ← chap04内にプロジェクトを 作っておくと便利
10.
4.1 Stanのインストール 10
11.
特に追記することはないので省略! 11http://www.slideshare.net/KojiKosugi/r-stan 詳細はこちら
12.
4.2 Stanの基本的な文法 12
13.
13 以降はRstudio上で コードを書いていることを 前提にします Stan超初心者講習より http://www.slideshare.net/simizu706/stan-62042940
14.
4.2.1 ブロック構成 14 データ𝑌の宣言 サンプリングしたいパラメータ𝜃の宣言 これら3ブロックは基本的に必要 ※Stanにおけるパラメータの定義:確率変数すべて 𝑝 𝜃
𝑌 = 𝑝 𝑌 𝜃 𝑝 𝜃 𝑝 𝑌 ← この部分を書く
15.
4.2.2 文法の基礎 • 例:正規分布の平均𝜇を推定
観測されたデータは20個あるとする 背景知識 - 推定したい正規分布の標準偏差𝜎は1 - 平均𝜇に関する背景知識なし モデル式4-1 - 𝑌 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇, 1 𝑛 = 1, … , 20 - 𝜇 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 0, 100 15 𝑝 𝜃 𝑌 = 𝑝 𝑌 𝜃 𝑝 𝜃 𝑝 𝑌
16.
4.2.2 文法の基礎 16 𝑌 𝑛
~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇, 1 𝑛 = 1, … , 𝑁 𝜇 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 0, 100 ↑ 無情報事前分布であれば省略可能 (自動的に,十分に広い一様分布が設定される) ← 推定対象のパラメータを宣言 ← モデルを書く上で必要なデータを指定
17.
17 ↓ データ型についてはここを参照 http://qiita.com/hoxo_m/items/e4dab11fed062689eff2
18.
4.2.3 コーディング規約 守らなくてもエラーは生じないが,可読性が向上 18 インデント(字下げ) データ変数の先頭は大文字 パラメータ変数の先頭は小文字 ブロック間は1行空ける ~や=の前後は1スペース空ける
19.
4.2.3 コーディング規約 エラーを招く原因 19最終行は1行空ける 行末のセミコロンを忘れない Lと1を見間違えない
20.
4.2.3 コーディング規約 変数の宣言を行える場所は, {
の直後のみ 20
21.
21 {の直後であれば,パラメータの宣言は ブロックの冒頭でなくてもよい ただし,{}の中で宣言したパラメータは 出力されないので注意
22.
4.2.3 コーディング規約 とりあえずStanコードを書いたらCheck 22 ’model4-1.stan’として保存
23.
試しにデータを流し込んでみる dataブロックで宣言した変数を,Rから渡してやる 23 以下のデータを渡してみる • N=20 •
Y=平均200,標準偏差1の正規乱数が20個 格納されたベクトル MCMCの結果… ほぼ実データ通り!
24.
4.3 Stanのlp__とtarget model4-1を例に説明 24
25.
以下の資料を参考にさせていただきました 25http://www.slideshare.net/simizu706/stan-64926504 40-48枚目スライド参照
26.
26 ↑ これは何? Stanコードでは,そのような “パラメータ”は宣言していないはず…
27.
27 ↑ これは何? 実はこの背後で計算されている! lp: log
posterior(対数事後確率)の略
28.
復習 • そもそもMCMCとは何をするものか 知りたいのは左辺𝑝
𝜃 𝑌 でも正規化定数𝑝 𝑌 が邪魔で計算できない 𝑝 𝑌 は定数なのだから, 𝑝 𝜃 𝑌 ∝ 𝑝 𝑌 𝜃 𝑝 𝜃 𝑝 𝑌 𝜃 𝑝 𝜃 に従う乱数を生成して事後分布を近似 28 𝑝 𝜃 𝑌 = 𝑝 𝑌 𝜃 𝑝 𝜃 𝑝 𝑌 ベイズの定理
29.
効率よく𝜃を推定するには • 事後確率 𝑝
𝜃 𝑌 ∝ 𝑝 𝑌 𝜃 𝑝 𝜃 が大きくなるよ うな𝜃の付近で,たくさんサンプリングしたい ステップごとに,パラメータ𝜃について偏微分 なお,計算を簡単にするために,両辺対数をとる 29 log 𝑝 𝜃 𝑌 = log 𝑝 𝑌 𝜃 𝑝 𝜃 + 𝑐𝑜𝑛𝑠𝑡. = log 𝑝 𝑌 𝜃 + log 𝑝 𝜃 + 𝑐𝑜𝑛𝑠𝑡.
30.
• 事後確率 • 対数事後確率 30 = 𝑛=1 20 𝑁𝑜𝑟𝑚𝑎𝑙
𝑌 𝑛 | 𝜇, 1 × 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇 | 0, 100 = 𝑛=1 20 log 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 𝑛 | 𝜇, 1 + log 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇 | 0, 100 (式4.3) 𝑝 𝜃 𝑌 ※偏微分で消える定数項は省略 負の値の足し算になるlog 𝑝 𝜃 𝑌 (一般的に)1より小さい値の積
31.
31 sampling statement form (簡略的コード) explicit
increment form (lpを正確に計算する版) 𝑛=1 20 log 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 𝑛 | 𝜇, 1 + log 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇 | 0, 100 そのまま 表現しただけ! • targetはlpのニックネーム • 予約語なので宣言不要
32.
32http://www.slideshare.net/simizu706/stan-64926504 確率密度/質量関数 については本書 Chapter 2, p7参照
33.
4.4 単回帰 33
34.
本題に入る前に復習 • 解析の手順(Chapter3, p18-19)
データをとる前 - 問題設定:何を知りたいのか - 解析計画:どの手法を使うのか データをとった後 - データの分布の確認:データ生成メカニズムの 想像が可能 • 本書ではggplot2パッケージを使用 - 解析 34
35.
ggplot2について知りたい方は 35 この順に読むのが分かりやすいと思います
36.
http://ggplot2.org/簡単に・多層的にデータを視覚化できる 36
37.
37 重ね着するイメージで
38.
基本的な書き方 • 基本レイヤー このなかで指定したdataや変数が,以降のgeomや statに持ち越される -
data:描画用データが含まれるデータフレーム - aes():データをグラフにmappingさせる関数 • この変数はX軸に,この変数はY軸に,この変数で識別して… ggplot()内で指定しなければ,以降の各geomやstat内 で指定する必要がある 38
39.
基本的な書き方 • geom_やstat_ 描画形式を指定(例:散布図,棒グラフ…)
今回は,1行目でデータや変数を指定済みなので, これらをgeom内やstat内で指定する必要がない geom内やstat内で,別のデータフレームや別の変数 を指定することも可能 39
40.
困ったときのチートシート
41.
Data Visualization with
ggplot2 Cheat Sheet
42.
データセット(年齢と年収)を利用 • 𝑋:B社の社員の年齢(歳) • 𝑌
:年収(万円) 年収𝑌 = 基本年収𝑌𝑏𝑎𝑠𝑒 + それ以外の影響𝜀 • 分析の目的 𝑋歳時点での年収の予測 - 応答変数 = 年収,説明変数 = 年齢の,単回帰分析 42 年齢𝑋に正比例 平均0の正規分布に従う (例:ランダムな業績のばらつき)
43.
データの分布の確認 43
44.
もっと詳しく確認したいなら 44 GGallyパッケージは, 本書5.1.2で初登場します どうやら,年収を年齢で 直線回帰してもよさそう
45.
4.4.3 モデル式の記述 モデル式4-2 𝑌
𝑛 = 𝑌𝑏𝑎𝑠𝑒 𝑛 + 𝜀 𝑛 𝑌𝑏𝑎𝑠𝑒 𝑛 = 𝑎 + 𝑏𝑋 𝑛 𝜀 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎 45 𝑛 = 1, 2, … , 𝑁 𝑛 = 1, 2, … , 𝑁 𝑛 = 1, 2, … , 𝑁 全員に共通の線形式𝑎 + 𝑏𝑋があり, そこに個人ごとに独立のノイズ𝜀が乗ることで, 年収𝑌が決まる
46.
• モデル式4-2 𝑌
𝑛 = 𝑌𝑏𝑎𝑠𝑒 𝑛 + 𝜀 𝑛 𝑌𝑏𝑎𝑠𝑒 𝑛 = 𝑎 + 𝑏𝑋 𝑛 𝜀 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎 • モデル式4-3 𝑌 𝑛 = 𝑎 + 𝑏𝑋 𝑛 + 𝜀 𝑛 𝜀 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 0, 𝜎 • モデル式4-4 𝑌𝑏𝑎𝑠𝑒 𝑛 = 𝑎 + 𝑏𝑋 𝑛 𝑌 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌𝑏𝑎𝑠𝑒 𝑛 , 𝜎 • モデル式4-5 𝑌 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝑎 + 𝑏𝑋 𝑛 , 𝜎 46 𝑛 = 1, 2, … , 𝑁 どのモデルも等価!
47.
47 Stan超初心者講習より http://www.slideshare.net/simizu706/stan-62042940 (モデル式4-5は)
48.
4.4.4 Rのlm関数で推定 lm.Rファイルより 48 年齢が一つ増えるごとに, 基本年収が21.9万円上昇
49.
先ほど求めた回帰式res_lmに,X_new歳を代入し,95%信頼区間を推定 予測値 −119.7 +
21.9 ∗ 𝑋歳 49 年齢 95%信頼区間の 下限と上限
50.
信頼区間の求め方 予測値 ± t値
× 予測値のばらつき ↓ 追記する 例えば23歳の年収の,95%信頼区間上限なら 50 予測値のばらつき ↓ ↓ 誤差の自由度
51.
51 直線:23~60歳での推定年収 薄い灰帯:95%信頼区間 濃い灰帯:50%信頼区間 fig4-3.Rファイルより
52.
52 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ① ② ③
④ ⑤ ⑥ ⑦ ⑧ 基本レイヤー の作成 (データなし) 背景テーマと 文字サイズの変更 上限下限を指定 (95%CI) その範囲内 を塗りつぶす ③と同様 (50%CI) 区別のため 色の透過度を調整 直線回帰 Raw dataの プロット 軸ラベルの 変更 データ表示 範囲の変更 見栄えよく! ⑨ ⑨ 出来上がったら,好きな形式で保存 Y軸は 予測値fit なので一直線 目盛間隔を 調整し
53.
53 引数が多いから難しそうに見えるが… 最低限必要なのは,これだけ その他のコードは見栄えを調整しているだけ 大丈夫,こわくない!
54.
54 ローデータのXの範囲(24~59歳)で 構わないなら,信頼区間に関しては こういう書き方も可能
55.
予測区間の場合 55 予測値 ± t値
×(予測値のばらつき+ 予測値からのばらつき) 予測値からのばらつきのぶん,信頼区間よりも広い
56.
56 ↓ 追記する 例えば23歳の年収の,95%予測区間上限なら ↓予測値の ばらつき ↓予測値からの ばらつき
57.
57 直線:23~60歳での推定年収 薄い灰帯:95%予測区間 濃い灰帯:50%予測区間 ※予測区間に関しては geom_smooth()は使えない fig4-3.Rファイルを極力短縮化
58.
参考にさせていただきました • predict関数と数式の対応、グラフの描き方 (信頼区間・予測区間編) http://crayfish44.hatenablog.jp/entry/20160223/1456220882 •
Excelで回帰分析の予測区間を描く http://qiita.com/ksksk/items/75ba95337ccdb32e7cb1 58
59.
4.4.5 Stanで実装 59 model4-5.stanファイルに説明追記 今回は無情報事前分布を採用するので,事前分布は省略可能 (自動的に,十分に広い一様分布が適用される)
60.
4.4.6 Rからの実行方法 60 run-model4-5.Rを改変(書き方が違うだけで内容は同一) コンパイル済みのStanモデルファイルを参照できるので, サンプリングだけを行えばよい場合は速い(4.4.9(p44)参照) 乱数の種。指定しておくと,乱数が再現可能
61.
4.4.7 RStanの結果の見方 • まずは,lp__を含む全パラメータが収束しているか確認
n_eff:実効的と判断されたMCMCサンプル数 - 小さいと,分布や統計量の推定が不正確になる Rhat:Chain間の一致度の指標 - 本書では,Chain数が3以上で,全パラメータのRhat < 1.1が収束 の基準 61 デフォルトの設定
62.
4.4.7 Rstanの結果の見方 62 MCMCサンプルの分位点 分位点や小数点以下桁数は 変更可能
63.
4.4.8 収束診断をファイルへ出力する • ggmcmcパッケージを使用
収束診断に有用なグラフを自動で描いてくれる, ggplot2のラッパー 63https://cran.r-project.org/web/packages/ggmcmc/ggmcmc.pdf
64.
64 rstan-save-diagnostics.R ファイルより グラフ指定 全部出力
65.
65 描画形式ごとに関数も存在する 自分でggplotオブジェクトを 改造することも可能!!
66.
bayesplotパッケージも便利 66デフォルトで,基準位置を示してくれている
67.
4.4.9 MCMCの設定の変更 • Chains,
iter, warmup, thinの目安 Chains - Stan開発チームは4を推奨(デフォルト) iter - モデルの試行錯誤段階では500~1000(デフォルトは2000) - 最終モデルが決まったら大きくする warmup - traceplotを見て判断(デフォルトは1000) thin - デフォルトは1 - traceplotを見て自己相関が高そうなら,thinを増やして一時的 な影響を低減させる 67
68.
68 上手く収束した場合 自己相関が高そうな場合 一時的に極端な値が生成されている http://qiita.com/kyn02666/items/a26a389aa5bfc8682186
69.
4.4.10 並列計算の実行方法 • 通常は,複数のChainを逐次的 に走らせる(右図) •
Chainを並列的に走らせて, サンプリングの計算時間を短縮 69 現時点では,並列化が必要なほど複雑なモデルは 組んでいないので,説明は割愛
70.
4.4.11 ベイズ信頼区間とベイズ予測区間 • 𝑋:B社の社員の年齢(歳) • 𝑌
:年収(万円) 年収𝑌 = 基本年収𝑌𝑏𝑎𝑠𝑒 + それ以外の影響𝜀 70 基本年収のベイズ信頼区間は? 年収のベイズ予測区間は?
71.
95%ベイズ信頼区間 71 rstan-extract-MCMCsamples.Rファイル
72.
N歳のときの95%ベイズ信頼区間 72 rstan-extract-MCMCsamples.Rファイル・続き 例えば50歳の時なら… ↓ 推定したパラメータを用いて予測した, 50歳時点の基本年収 ←予測した50歳時点の基本年収を 平均とする,正規分布から発生 された年収
73.
ベイズ信頼区間 73 大変そうに見える…が! fig4-8.Rより
74.
74 最低限必要なコードはこれだけ
75.
dplyrパッケージを使っていいなら このほうが挙動がイメージしやすいかも 75 推定した回帰式に任意のXを代入して 予測値(の分布)を求めている
76.
ベイズ予測区間 76 fig4-8.Rのうち最低限必要なコードはこれだけ
77.
77 fig4-8.Rを,dplyrパッケージを 使って書き換えた場合
78.
4.4.12 transformed parametersブロック generated quantitiesブロック 78 データ𝑌の宣言 サンプリングしたいパラメータ𝜃の宣言 ※Stanにおけるパラメータの定義:確率変数すべて 𝑝
𝜃 𝑌 = 𝑝 𝑌 𝜃 𝑝 𝜃 𝑝 𝑌 ← この部分を書く 最低限必要なブロック
79.
• ここまでの説明 Stan上で確率モデルのパラメータを推定
MCMCサンプルを用いて, R上で様々な計算 • この方法の問題点 Rコードが複雑になりバグが入りやすくなる 計算速度が遅い 作業全体の見通しが悪い 79 可能な限りStan上で計算させたい!!
80.
• transformed parametersブロック
dataブロックおよびparameterブロックで宣言された パラメータと,定数値が使用可能 四則演算とlogなどの関数を用いて,新たにサンプリ ングする変数を作成 - 例:条件Aの平均𝜇_𝐴と,条件Bの平均𝜇_𝐵の差 • generated quantitiesブロック 上記に加え,transformed parametersブロックで宣言 されたパラメータも使用可能! 事後確率とは完全に切り離されているため,計算が 速い 80
81.
81
82.
82model4-5.stan model4-4.stan ↑ 正規分布に従う乱数を生成
83.
83 (中略) run-model4-4.R R上での計算が不要!
84.
練習問題 84
85.
ねらい t検定に相当することをStanで 85
86.
準備 まずはデータフレーム形式に加工 86 ※あらかじめ作業ディレクトリを 移動しておくこと 中略
87.
Exercise (1) 各グループの値に差が認められるか,おおよそ 把握するために可視化 87 • ex1.Rファイル内の模範解答がこちら •
group2は,若干分布が歪んでいる • 中央値はgroup2のほうが大きい • group2のほうが,若干分散が小さそう
88.
分布が知りたいなら… 88 • やはりgroup2のほうが分散は小さそう • 平均値(十字の中心)に差がありそう
縦線はSEを表す • 両群とも大雑把には正規分布のように みえる
89.
Exercise (2) 各グループで標準偏差が等しいと仮定して, モデル式を書け(Studentのt検定) • 𝑌1
𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇1, 𝜎 𝑛 = 1, … , 𝑁1 • 𝑌2 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇2, 𝜎 𝑛 = 1, … , 𝑁2 89
90.
Exercise (3) • Stanで(2)のモデルファイルを作成して実行せよ
ただしgenerated quantitiesブロックは使用しない 90 Rコード(ex3.R)Stanコード(ex3.stan)
91.
Exercise (3) 91 だいたい一致(sdが大きいから…)
92.
Exercise (4) • MCMCサンプルからR側で𝑃𝑟𝑜𝑏[𝜇1
< 𝜇2]を計算 全MCMCのなかで, 𝜇1 < 𝜇2となる割合を求める 92 どちらの方法でもよい ex4.Rより 𝜇1 < 𝜇2 𝜇1 < 𝜇2 𝜇1 < 𝜇2 𝜇1 < 𝜇2 𝜇1 < 𝜇2 𝜇1 > 𝜇2
93.
93 generated quantitiesブロックを 使用した場合は… diffが0より大きい確率を求めればいい mean(rstan::extract(fit)$diff >
0)
94.
Exercise (5) 94 各グループで標準偏差が異なると仮定して, モデル式を書け(Welchのt検定) • 𝑌1
𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇1, 𝜎1 𝑛 = 1, … , 𝑁1 • 𝑌2 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇2, 𝜎2 𝑛 = 1, … , 𝑁2 添え字が付いただけ!
95.
95 ← 群の数だけ𝜎を宣言する
96.
𝑃𝑟𝑜𝑏[𝜇1 < 𝜇2]を計算 •
Exercise(4)と同様なので省略 96
97.
おわりに 今回説明を飛ばした点:p47 MCMCサンプルが,事後分布である,𝑝(𝑎, 𝑏,
𝜎|𝑋, 𝑌) からサンプリングされたことを確認する点 つまり,𝑎, 𝑏, 𝜎の同時分布であることを確認する点 fig4-7.Rだけでなく,以下のサイトが参考になります 散布図と周辺分布をあわせて描きたい http://qiita.com/hoxo_b/items/0382ae9055838b05ad9b 97
Download now