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.

R stan導入公開版

33,473 views

Published on

Rstanのインストール,簡単な使い方を紹介しています

Published in: Education
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

R stan導入公開版

  1. 1. RStanの導入 & 基本的な使い方 小杉考司(山口大学教育学部)
  2. 2. 自己紹介 • 小杉考司(こすぎこうじ) • 山口大学教育学部 • 専門;数理社会心理学 • kosugi@yamaguchi-u.ac.jp • Twitter; @kosugitti
  3. 3. お品書き • RStanのインストール • RStanをつかってみましょう • 実践!世界一,二番目に簡単なRStanコード
  4. 4. 対象 • ベイズ推定/MCMCを使ってみたいなぁと最近思い 始めた人 • コンピュータプログラミングは敷居が高いと思うん だけど,R言語ぐらい(の難易度)なら頑張って書い てみようと思っている人
  5. 5. MCMC使ってみたい! • 商用ソフトの一機能として;Amos, Mplus • BUGS(WinBUGS,OpenBUGS,JAGS) • Bayesian inference Using Gibbs Sampling • ギブスサンプリングを使ったベイズ推定 • 残念ながら開発が終わっちゃったみたい
  6. 6. Stan登場 • ハミルトニアン・モンテカルロ法, Not-U-Turnテクニックなど新しい手法 を取り入れたMCMCエンジン • 高速で収束しやすいのが売り スタニスワフ・マルチン・ウラム (Stanistaw Marcin Ulam,1909-1984) モンテカルロ法を考案(命名はノイマン)
  7. 7. Stanの特徴 • コンパイル後の計算が速い • NUTSなので収束が速い • 手続き型でわかりやすい • 公式マニュアルが結構丁寧 • 様々な環境に対応 • RStan,PyStan,CmdStan,MatlabStan,Stan.jl…いずれstataにも
  8. 8. Stanの特徴 • コンパイル後の計算が速い,とは ! 人間がわかる 言葉 機械がわかる言葉に 翻訳=コンパイル ネイティブなので 理解が早いです ∼
  9. 9. Stanの特徴 ∼
  10. 10. RStanの導入 • パッケージとしてCRANからダウンロード・・・と 行けるようになったらいいんだけど,まだ(́Д` ) • でもたった3行のコードを走らせるだけで入る。 • ただし,C++環境も同時に用意しなければならない
  11. 11. Rstanのインストール
  12. 12. 必要なルートを見ててね C++導入部Rは導入済み RStanへ
  13. 13. RStan導入 ∼Windows編∼ • RtoolsをRと合わせてインストールしておく必要が あります。 • http://cran.r-project.org/bin/windows/Rtools/ • Rのバージョンに合わせたものをダウンロードして おくこと!
  14. 14. RStan導入 ∼Windows編∼ • Rtoolsをインストールするとき,「パス」の編集の ステップに注意。 C++コンパイラがRtoolsに含 まれていますが,「パスの編集」 の時にチェックが入ってないと 動かなくなっちゃいます。
  15. 15. RStan導入 ∼Windows編∼ • Rtoolsがちゃんと入ったかどうかのチェックをして おくと万全! >Sys.getenv(‘PATH’) >system(‘g++ -v’) >system(‘where make’)
  16. 16. RStan導入 ∼Mac編∼ • Rは入っているものとして • C++環境はXcodeと呼ばれるツールにあります • OS X 10.9 Marvericks ,10.8 Mountain Lion • App Storeで「Xcode」を検索してダウンロード&イ ンストール • OS X 10.7 Lion , 10.6 Snow Leopard • Apple Developerに登録(無料)して,Xcodeと Command-Line Toolsをダウンロード&インストール
  17. 17. RStan導入 ∼Luinux編∼ • sudo apt-get install build-essential
  18. 18. ここからコードは3行 • Sys.setenv(MAKEFLAGS = "-j4") • source('http://mc-stan.org/rstan/install.R', echo = TRUE, max.deparse.length = 2000) • install_rstan() のサイトからコピペしたほうが早い https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started
  19. 19. ここからコードは3行 • インストールには少し時間(5∼30分ぐらい?)が かかります。 • これは各環境でRStanをコンパイルしながら進むか らです。 • Macで警告が出ることがありますが,「この機能は 使ってないから問題ないよ」by作者とのこと。
  20. 20. インストールが終わったら • 一旦Rを終了→再起動して使います。 • あとは
  21. 21. RStanを つかってみましょう
  22. 22. サンプルを見てみる • まずはStan公式サイトにある公式サンプルコード, eight schoolsをやってみましょう。 • 中身の説明はあとまわしで,まずRStanの挙動をみ てみたいとおもいます。
  23. 23. 八学校 このコードをメモ帳に Copy&Pasteし, 8schools.stan という ファイル名で保存 このコードを  で実行
  24. 24. 八学校 何かじーっとしてると思ったら・・・
  25. 25. 八学校 なんかいっぱい出た
  26. 26. で,何が起こったの? • 結果を確認してみる。 • 平均値,パーセンタイル,Rhatなどが出る。
  27. 27. で,何が起こったの? • >traceplot(fit,ask=T)
  28. 28. で,何が起こったの? • >plot(fit)
  29. 29. の使い方
  30. 30. おちついて見てみよう • 上の部分は,リスト型のデータを作っているだけ • 下の部分がstanという関数でstanを呼んでいる
  31. 31. おちついて見てみよう • さらによくみると,stan関数には • stanファイル • データ    • iter    • chains • を渡している ←おそらくstanのひみつ ←1000サンプリング(反復回数) ←さっき見たN=8のデータセット ←4セットやる
  32. 32. おちついて見てみよう ←1000回サンプリング ←4セット目 Warmup=Burnin デフォルトでは サンプリング回数の 半分を当てる
  33. 33. stanファイルの構成 四つのセクションに分かれている
  34. 34. stanファイルの構成 データセクション 外部から受け取るデータに対応 int(整数型)や real(実数型)などを指定 <lower=0>は非負の数,という指定(メモリ節約) 大かっこ[]はベクトルであることとそのサイズを意味する。
  35. 35. stanファイルの構成 パラメタセクション 今から組みたいモデルで使うパラメタを宣言 実数型とか,非負であるとかの指定ができる。 ベクトルで宣言したほうが効率的(後述)。 ここではmuとtauとetaを使う,としている。
  36. 36. stanファイルの構成 モデルセクション パラメタとその変換セクションで宣言したもので モデルを書く。 etaは平均0分散1の正規分布に従う,とある。 データyは平均thetaと分散sigmaに従う。 theta?
  37. 37. stanファイルの構成 パラメタ変換セクション データとパラメタの橋渡し。 今回はthetaというパラメタを新しく作っている。 それは(mu+tau*eta[j])の別名。 これを直接モデルに書いてもいいけど,わかりやすくするた めに書き直している。  for文は反復を意味するC言語的表現。
  38. 38. stanファイルの構成
  39. 39. モデルと分布 ここで 残差が正規分布する,ということに注目すると 左側のところは平均に関するモデルなんだから
  40. 40. モデルと分布 ほぼそのまま書いている 丁寧に全部書いたらこうなる
  41. 41. モデルと分布 j回同じ式を繰り返すのは 無駄なので省略(ベクトル化) ここがなんか長いのでtheta にまとめちゃった
  42. 42. Stanの文法 • ブロックを中かっこ{}でくくる • ブロックは6つ。全部なくてもいいけど,順番を変 えちゃダメ。 • data/transformed data • parameters/transformed parameters • model • generated quantities • コードの終わりはセミコロン;で
  43. 43. Stanの文法 • data{} / transformed data{}セクション • 外部から読み込むデータの型やサイズを宣言 • 以後の分析でデータを書き換えるのがtransdormed dataセクション • 例えばローデータを読み込んで中でCov行列に変え てから使ったりできる。
  44. 44. Stanの文法 • parameters/transformed parametersセクション • 推定するパラメタの宣言 • モデルでパラメタを書き換えるのがtransdormed parameterセクション
  45. 45. Stanの文法 • modelセクション • これがないと始まらない • generated quantities • 推定値を変換して使いたい数字にして出力 • 例)項目反応理論の項目母数の形に変えるなど
  46. 46. Stanの文法;宣言 • 整数型は int,実数型はreal • <lower=0>や<upper=1>などで制限をかけられる • real<lower=0,upper=1> eta; • ベクトルや行列で宣言することもできる • vector<lower=0>[3] y; • matrix[M,A] L; • vector[A] F[N]; 詳しくはstan-reference2.6.0.pdfをみてね
  47. 47. Stanの文法;文 • 使える確率分布の一例 • 正規分布;y~normal(mu,sigma); • コーシー分布;y~cauchy(mu,sigma); • 二項分布;y~binominal(N,theta); • 逆ガンマ分布;y~inv_gamma(alpha,beta); 詳しくはstan-reference2.6.0.pdfをみてね
  48. 48. RでStanを使うとき • Rの文中にstanコードを書き入れてもいい。 ∼ 中略 ∼ クォーテーションで括る stan関数にコードを引き渡す時の書き方
  49. 49. RでStanを使うとき • parallelパッケージで並列化も(高速化するかな?) 8コア使った4鎖の例(Mac/Linux) 詳しくは公式サイトに https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started ※Windowsでは書き方が少し異なります
  50. 50. 実践! 世界一,二番目に簡単なRStanコード
  51. 51. 分布で考える • 従来型の統計をやってきた人にとって違和感を覚え る最初のポイント • パラメータが分布する? • モデルがどんな分布を仮定するか誰も教えてく れなかった(どうせ正規分布なんでしょ?)
  52. 52. 頻度論vsベイズ (c)岡田先生 頻度論 ベイズ 母数θ 定数 確率変数 データy 確率変数 定数
  53. 53. 分布で遊んでみたら わかりやすいかも
  54. 54. 世界一簡単なrstanコード •   には様々な分布に基づいて乱数を発生させる関 数が用意されている。 • 分布に基づいて発生させた乱数データで,stanが分 布を推定するかどうか確かめるという遊び。
  55. 55. http://kosugitti.net/archives/4823 世界一簡単なrstanコード rstanを読み込みます 平均mu,分散sigの正規乱数に従う データをn個つくります。
  56. 56. http://kosugitti.net/archives/4823 世界一簡単なrstanコード T個のデータを読み込み, Nとします。 推定したいパラメタは 平均と分散です。 分散は非負です。 データは正規分布, 分散はコーシーに従います
  57. 57. http://kosugitti.net/archives/4823 世界一簡単なrstanコード データをリストで渡します 1000回サンプリングを 4セットやります。
  58. 58. 世界一簡単なrstanコード データ通りにでてます。
  59. 59. 二番目に簡単なrstanコード http://qiita.com/hoxo_m/items/ad4ffb091aec535f3125
  60. 60. 二番目に簡単なrstanコード http://qiita.com/hoxo_m/items/ad4ffb091aec535f3125
  61. 61. 二番目に簡単なrstanコード http://qiita.com/hoxo_m/items/ad4ffb091aec535f3125
  62. 62. 最尤推定との比較
  63. 63. Tips • alpha,betaに事前分布を置いてやるとなお良い • stanは明示的に事前分布を指定しないと,一様 分布を当てはめる
  64. 64. 慣れてきたでしょうか?
  65. 65. 世界一簡単な 収束しないrstanコード • 逆にどういうことをしたら収束しないのか?という のを知るのもいい勉強になる。 http://goo.gl/ZafBgX 例1
  66. 66. 世界一簡単な 収束しないrstanコード http://goo.gl/ZafBgX 例2
  67. 67. stanの恩恵 • 分布を考える,初期値をうまく置くなど,確かにコ ツがいることは否定できない。 • しかし,考えることがかなり少なくて済むようになっ たこと喜ぼう。 • stanは対数尤度関数を書かなくても良い!
  68. 68. ex)回帰分析の最尤法 http://goo.gl/5LY9N9 NY i=1 1 p 2⇡ 2 exp( ei 2 2 ) N 2 log(2⇡ 2 ) 1 2 2 NX i=1 e2 i 尤度 対数尤度 そのまま 書ける
  69. 69. 書きたくない • これで許してくれる これはすごいことです。
  70. 70. Enjoy ! and ねえちゃん,明日って,今さ!

×