タグ

mcmcとstanに関するxiangzeのブックマーク (21)

  • Stanを使ってNUTSを実装する | Sunny side up!

    この記事は、Stan advent calendar 2018の7日目の記事です。 Stan、すばらしいソフトですね。今日はStanがいかに素晴らしいかを語る記事です。StanにはNUTSというアルゴリズムが搭載されいているのはご存知だと思いますが、今回の記事は、 Stanを使ってRにNUTSを実装する という話です。「ちょっと何言ってるかわかんない」、とか言わない。 さて、NUTSはマルコフ連鎖モンテカルロ法(MCMC)の手法の一つ、ハミルトニアンモンテカルロ法(HMC)を発展させたものだ、というのは聞いた人も多いと思います。そこで、MCMCやHMCについて簡単に説明したあと、Stanが搭載しているアルゴリズムについて解説していきます。 なお、数式とかは使わず、全部日語で説明していきます。数式で詳しいものはいくらでもあるので、そちらをご参考ください。たとえばこちら。 ◆マルコフ連鎖モン

  • Predator-Prey Population Dynamics: the Lotka-Volterra model in Stan

    Plot of the number of lynx and hare pelts (in thousands) collected by the Hudson’s Bay Company between 1900 and 1920. Plot of the number of pelts collected for lynx versus hares from 1900 to 1920. This plot is similar to that of the dynamics of a spring in phase space (i.e., position vs. momentum). The plot makes it clear that the spikes in the lynx population lag those in the hare population. Whe

  • MCMCサンプルの使い方 ~見る・決める・探す・発生させる~

    2. 資料の位置づけ • 拙著『StanとRでベイズ統計モデリング』 において, 書ききれなかったことはいくつかあります. • その中で心理学において有用そうな話題を著者な りに考えて選びました. • スライド中に出てくる章・節・図番号は その書籍内のものを指します. 2 3. スライドの記法 • 見やすさのため, 変数を太文字にしている. • 𝒂, 𝑿, 𝒀など. • ベクトル(出てこないけど)は書籍と同じ 𝒀 で表す. • 僕の視力の悪さに由来する. • これから推定されるパラメータを赤い文字で表す. • 𝒂, 𝝁 など. • 事後分布は 𝒑 𝒂, 𝒃, 𝝈|𝑿, 𝒀 のように書くのではなく, 見やすさのため, データを省略し, パラメータを青い文 字で表す. • 𝒑 𝒂, 𝒃, 𝝈 など. 3

    MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
  • Michael Betancourt has made NUTS even more awesome and efficient! | Statistical Modeling, Causal Inference, and Social Science

  • Error - Cookies Turned Off

  • [stan] [jags] ggmcmc でMCMCの事後診断 - ill-identified diary

    2019/12/15 追記: 現在は ggmcmcよりもbayesplotのほうがおすすめです ill-identified.hatenablog.com 概要これまで, stan などのサンプリング結果を R で処理するのが面倒だと思っていたのだが, いまさら ggmcmc パッケージという便利なものに気づいた. rstan, rjags などの R と連携できるパッケージと組み合わせるとトレースプロットやコレログラム, 事後密度やヒストグラムを簡単に出力してくれるが, 若干使いにくい*1ところもあるので使い方と合わせて改変したものについても言及する. 参考: http://xavier-fim.net/packages/ggmcmc/ 内容ggmcmc の構文は簡単で, 最短で library(ggmcmc) ggmcmc(ggs(stan/jagsの出力オブジェクト), file=フ

    [stan] [jags] ggmcmc でMCMCの事後診断 - ill-identified diary
  • StanとRでレプリカ交換MCMC(parallel tempering) を実行する - StatModeling Memorandum

    記事は発展的な話題です。かつて@Med_KUさんのブログ記事「てさぐれ!!RStanもの」で出てきた例題は局所最適値(local minimum)が多くて、Stanで実行する際も初期値をかなりピシッと決めておかないとダメな例題でした。 しかし、モデルが高次元になってくると最初から“それらしい”初期値なんて分かりようがないし、そもそも理論的にはどんな初期値からはじめても長い間iterationをとれば大域最適値に到達してほしいです。しかし、Stanとは言え、現実的な時間内では局所最適値につかまります。溝が少し深いと出てこれません。そんな状況を打破するための発展的なMCMCの手法の1つに「レプリカ交換MCMC(replica exchange MCMC)」というものがあります。パラレルテンパリング(parallel tempering)としても知られています。 例によってここでは詳しく説明し

    StanとRでレプリカ交換MCMC(parallel tempering) を実行する - StatModeling Memorandum
  • Simple GP.ipynb

  • 岩波データサイエンスVol.1 - 驚異のアニヲタ社会復帰の予備

    人生で初めて著書を贈呈していただきました。 岩波データサイエンス Vol.1 作者: 岩波データサイエンス刊行委員会出版社/メーカー: 岩波書店発売日: 2015/10/08メディア: 単行(ソフトカバー)この商品を含むブログ (10件) を見る レビュー書く。 COI:著者の一人より贈呈されました。 謹呈という帯が入っていました。ありがとうございました。というわけで優し目のコメントになっております。 良かった点 ベイズ推論とMCMCのフリーソフト、という特集を掲げているだけあって、MCMCの具体的な例をあげてRコードも適宜載せつつ解説されていた。 特に例については実際にありえそうなテーマを出して、しょぼい簡単なモデルから組み立ててそのモデルの問題点、拡張の手順など実践的だった。 というわけでMCMCやR, Python などその他ソフトウェアに馴染みのある人ならば理解しやすい。 インス

    岩波データサイエンスVol.1 - 驚異のアニヲタ社会復帰の予備
  • [JAGS,Stan] ノンパラベイズ(ディリクレ過程)の実装

    BUGS bookの11章の8.1節のディリクレ過程の写経です。データは以下のサポートページ(11.8.1: Galaxy clustering: Dirichlet process mixture models)でWinBUGS用のodcファイルで配布されています。 WinBUGSをインストールしていない人のために.RDataにしたものをここに置いておきます(FC2ブログの制限上.txtをつけてあります)。 ディリクレ過程については詳しくはここでは述べません。『続・わかりやすいパターン認識』が分かりやすいと思います。BUGS bookにある実装のアイデアはCongton先生の『Bayesian Statistical Modelling』から来ているようです。 他のBUGSでの適用例はOhlssen et al. (2007) "Flexible random-effects mode

    [JAGS,Stan] ノンパラベイズ(ディリクレ過程)の実装
  • [R, Stan] Stanでレプリカ交換法

    記事は発展的な話題です。かつて@Med_KUさんのブログ記事「てさぐれ!!RStanもの」で出てきた例題は局所最適値(local minimum)が多くて、Stanで実行する際も初期値をかなりピシッと決めておかないとダメな例題でした。 しかし、モデルが高次元になってくると最初から“それらしい”初期値なんて分かりようがないし、そもそも理論的にはどんな初期値からはじめても長い間iterationをとれば大域最適値に到達してほしいです。しかし、Stanとは言え、現実的な時間内では局所最適値につかまります。溝が少し深いと出てこれません。そんな状況を打破するための発展的なMCMCの手法の1つに「レプリカ交換法(replica exchange method)」というものがあります。パラレルテンパリング(parallel tempering)としても知られています。 例によってここでは詳しく説明しま

    [R, Stan] Stanでレプリカ交換法
  • Stan Project: Continuous Relaxations for Discrete MRFs | Statistical Modeling, Causal Inference, and Social Science

  • Frontiers | Decision-making in stimulant and opiate addicts in protracted abstinence: evidence from computational modeling with pure users

    1Virginia Tech Carilion Research Institute, Virginia Tech, Roanoke, VA, USA 2Bulgarian Addictions Institute, Sofia, Bulgaria 3Department of Psychological and Brain Sciences, Indiana University, Bloomington, IN, USA 4Department of Psychology, University of Southern California, Los Angeles, CA, USA 5Brain and Creativity Institute, University of Southern California, Los Angeles, CA, USA 6Department o

    Frontiers | Decision-making in stimulant and opiate addicts in protracted abstinence: evidence from computational modeling with pure users
    xiangze
    xiangze 2014/08/16
    New paper using Stan and WAIC
  • [Stan] WAICとWBICを事後分布から計算してみる

    渡辺ベイズの読破記念にStanでWAICとWBICを計算してみます。理論的なまとめは後日記事にしようと思います。 今回は例題として混合正規分布から発生させたデータ100個を用いて、2種類のモデルで推定を行い、それぞれに対してWAICとWBICを求めてみます。まずはデータ生成部分のRコードは以下です。 次にモデルその1の説明です。ここでは2つの正規分布のうち平均0の方は固定で、もう片方の正規分布の平均(mu)とそれらの混ぜ具合(a)を推定することにします。Stanコードは以下です。 ・24-31行目: ここではRでWAICの計算をする際に1データごとの対数尤度が必要になるのでそれを計算しています。 WBICは逆温度が1/log(データ数)の時の事後分布を用いて計算されます。この事後分布をStanで求めるには対数尤度の部分だけ 1/log(データ数) を掛けておけばよいと理解しています。よっ

  • BDA 12.6 “Stan: developing a computing environment”のメモ: Taglibro de H

    Bayesian Data Analysis (3rd ed.)の12章12.6節“Stan: developing a computing environment”のメモ。わからなかったところもありました。 Hamiltonian Monte Carloにはプログラミングとチューニングにすこしばかり努力がいる。 ややこしい設定のもとでは、HMCはMarkov chainよりはやくて、信頼できる。 プログラミングとチューニングの難しさを緩和するため、Stan (Sampling through adaptive neiborhoods)というコンピュータープログラムを開発した。ベイズモデルに自動的にHMCを適用する。 アルゴリズムの主要ステップ データとモデルの入力 対数事後密度とその勾配の計算 warm-up期間でチューニングパラメーターの設定 no-U-turn samplerを実行し

    BDA 12.6 “Stan: developing a computing environment”のメモ: Taglibro de H
  • BUGS/stan勉強会 #3 - 捨てられたブログ

    遅くなりましたが,「BUGS/stan勉強会 #3」の報告記事です。 発表内容 『階層ベイズで野球データ解析』 by @gg_hatano メジャーリーグのオープンデータを利用した打率推定を行う。 4 月までの初期データからシーズン終了時の打率を推定したい。 最尤推定だと推定値は現在の打率になる。 打率は試行回数を増やすと個人間のばらつきが小さくなるという特性があるので,これを事前分布としてモデルに組み入れたい。 解析的に求めるのが難しいので Stan を使ってサンプリング。 『Stan による階層ベイズ的 SEM』 by 豊田秀樹 正規分布はパラメーターが 1 次と 2 次の積率になっていて扱いやすい。 3 次の積率は不平等の度合いを表すので,パラメーターとして扱えれば解釈がしやすい。 3 次の積率までをパラメーターとしてもつ非対称正規分布を構築し,実際の分析に応用。 事例紹介 (論文投

  • Frequentism and Bayesianism IV: How to be a Bayesian in Python | Pythonic Perambulations

    I've been spending a lot of time recently writing about frequentism and Bayesianism. In Frequentism and Bayesianism I: a Practical Introduction I gave an introduction to the main philosophical differences between frequentism and Bayesianism, and showed that for many common problems the two methods give basically the same point estimates. In Frequentism and Bayesianism II: When Results Differ I wen

    xiangze
    xiangze 2014/06/15
    emcee, pystan & pymc
  • 2次元でのStanによるCARモデルのテスト: Taglibro de H

    berobero11さんのStanによるCARモデルを2次元でためしてみたテストです。 使用したデータは、銀閣寺山国有林(京都市左京区)で取得したアラカシという木の分布データです。50m×100mの調査地を5m×5mのメッシュに分割して、それぞれのメッシュに含まれるアラカシの個体数(株数)を測定しました。方法の詳細は、伊東(2007)をご覧ください。1993年のデータを使用しました。 データ→Qglauca.csv 図示してみると以下のようになります。 ## http://cse.ffpri.affrc.go.jp/hiroki/stat/Qglauca.csv qg <- read.csv("Qglauca.csv") ## Plot library(ggplot2) ggplot(qg) + geom_tile(aes(x = X + 2.5, y = Y - 2.5, fill =

    2次元でのStanによるCARモデルのテスト: Taglibro de H
  • Stanで久保緑本11章のCAR model(空間構造のあるベイズモデル)

    CAR modelが使えないからWinBUGSから移行できない・したくない皆様に朗報です。ちゃんとできたっぽいです。データや背景は久保さんのページをよく読んでください。ここやここです。 今回のStanコードはほとんど伊東さんの試行錯誤の記録からコピペしました。いつも公開感謝です!ただし、GeoBUGSのmanualに以下のように書かれていたのでrの合計がゼロになるようにしました。あと変数名も自分好みに少し変えました。 The car.normal and car.l1 distributions are parameterised to include a sum-to-zero constraint on the random effects. まずは欠損値のないバージョンから。 ・11,17,21-23行目: rの合計が1になるようにしています。 ・25-36行目: CAR model

    Stanで久保緑本11章のCAR model(空間構造のあるベイズモデル)
  • Resources for ggmcmc | Xavier Fernández i Marín

    ggmcmc is an R package aimed at providing tools for assessing and diagnosing convergence of Markov Chain Monte Carlo simulations, as well as for graphically display results from full MCMC analysis. The package also facilitates the graphical interpretation of models by providing flexible functions to plot the results against observed variables. Development ggmcmc is developed in github and has attr

    Resources for ggmcmc | Xavier Fernández i Marín