ぎょーむ日誌 2015-01-09
2015 年 01 月 09 日 (金)
-
0600 起床.
朝飯・弁当の準備.
朝飯.
コーヒー.
-
0750 自宅発.
0800 保育所着.
0840 研究室着.
-
JAGS マニュアル解説に没頭してしまった
……
おかげで「みどりぼん」のまちがいをひとつ思い出せた
……
- 昨日,やや長い会議のあいだぢゅう,M. Plummer さんの書いた JAGS 3.4.0 user manual のあちこちを読んで面白かったので,いくつかメモなど…… マニュアルその他ソースコードなどはこの周辺
sourceforge.net/projects/mcmc-…
で入集可能.
09:15:34
- JAGS Man Introduction: 最初の一行目で OpenBUGS とはまったく違う,と強調.JAGS の三つ目的は Unix 上で走る BUGS エンジン,ユーザーが確率分布・関数・乱数発生器などを独自に拡張できる,ベイズモデリング実験のプラットホームとして使用可
09:20:12
- 初めてJAGSソースコードながめたとき,設計のわかりやすさに驚いた.ユーザーが自分で確率分布・サンプラー・関数・乱数発生モジュール作れそう.たとえばsrc/modlues/bugs/functions/Mean.ccはこんなにすっきり
09:28:42
-
- JAGS Man 2.1.1 Model definition WinBUGSとは異なり Y[i] ~ dnorm(a + b * x[i], tau) といった書き方が可能. Plummer さんによると deterministic node はどうでもいい存在なので…とのこと
09:32:29
- JAGS Man 2.1.3 Node Array dimension 配列の次元の自動推定…これは WinBUGS でもそういう機能ありそうだけど明記されてなかったような.data block で D <- dim(Z) とすると D[1], D[2] に行・列の長さが入る.
09:38:13
- JAGS Man 2.1.3 Node Array dimension さきほど書いた dim な次元取得わざはこんなかんじ.
09:42:07
-
- JAGS Man 2.3 Initialization 2.3.2 RNGs 画像にあるような4つの乱数発生器(RNG)がとりあえず準備されてるんだけど,驚くべきことに,指定しなければchainごとに異なるRNGが使われることになる!
09:47:10
-
- JAGS Man 2.3 Initialization 2.3.2 RNGs どういうことかというと chain 数が3なら先の画像で列挙されてる4つのRNGの最初の三つがそれぞれにchainにわりあてられて使用される,ということ.もちろん明示的に使用するRNGも指定可能.
09:50:57
- JAGS Man 2.4 Adaptation and burn-in JAGS のサンプリングは adaptive mode で開始される,これはサンプラーがモデルの挙動をみながらサンプリング方法を調節すること.指定しなければburn-inの最初の半分はこれに使われるとのこと.
10:02:32
- JAGS Man 2.4 Adaptation… Adaptation はそこまでの全履歴を参照するからMCMCではない…ので途中やめ.half way through first update とあるので burn-in の半分?
10:09:43
-
- JAGS Man 2章の残りは柔軟な monitoring (サンプリング結果の記録) ができるという説明.3章は R を使わない JAGS スクリプトの説明.
10:14:47
- JAGS Man 4 章はモジュール おもしろそうなのは… 4.3 正規混合分布 4.5 行列指数関数・多状態遷移行列? 4.6 glm モジュール…説明変数の中央化を回避
10:27:09
-
- JAGS Man 5.1 Base functions 単項・二項演算子の説明だが…論理演算子とか何と組み合わせて使うのかな? ユーザー独自の二項演算子は %なんちゃら% というカタチで定義できる.
10:33:21
-
- JAGS Man 5.2 Functions in the bugs module いろいろおもしろいのだが…じつはRと同様に dnorm に対して pnorm, qnorm といった具合に「下の確率」値と分位値の関数もあったのか!
10:39:26
-
- JAGS Man Chapter 6 Distributions 使える確率分布あれこれだが,他の BUGS なソフトウェアと同じようにいろいろ準備されている.たとえば,一変数な確率分布あれこれ.
10:42:47
-
- JAGS Man Chapter 7 JAGS と OpenBUGS の違い いろいろあるけど… 7.0.4 Data transformations 先日もあげたdata block,変数変換が主な用途かもしれないが…
11:19:32
-
- JAGS Man 7.0.4 Data transformations 私がまだその機能をきちんと理解していない,data block 内での乱数発生も可能.これについてはいろいろ試行錯誤して挙動を理解したい.
11:20:45
-
- JAGS Man 7.0.5 Directed cycles JAGS では有向サイクルは許容されない,つまり自己回帰なモデルが使えない.Plummer さんいわく,将来は利用可能にしたいとのこと.自作関数で CAR とかできないかな? サンプリングしてくれない?
11:23:33
- JAGS マニュアル
sourceforge.net/projects/mcmc-…
だいぢぇすと,とりあえずここらで終了します.まとめてながめてみたいかたは twilog をどうぞ.
twilog.org/KuboBook/date-…
11:26:31
- .
@ibaibabaibai
そうですね状態空間モデルはサイクルないし,一次元 CAR も同様に…といった話は以前に教えていただきました.ゲルファンド本
www.crcpress.com/product/isbn/9…
(あ,新版!) 掲載の Brook's Lemma まわりはまだ不勉強で…
12:44:24
- ちょっと補足ですが,このあたり JAGS manual はごく簡単で,WinBUGS とかに組みこまれている GeoBUGS では autoregressive prior を簡単に定義できるけど,現在の JAGS ではそれはまだ実装してない,といった記述があるだけです.
12:48:29
- いやはや baibai さんからご指摘いただいて,ようやくのことで思い出したのだが…
#みどりぼん
第 11 章 p.247 の数式の修正…3 年間も忘れていました! 1/(2s^2) の前に「マイナス」がつきます…あー…
12:58:08
-
-
昼飯.
-
その後,
3 時間にわたってスシづめの会場で「説明」
を拝聴する苦行.
-
いろいろと遅れている仕事をすすめる
……
ばてばて
……
-
[今日の運動]
-
[今日の食卓]
- 朝 (0630):
米 0.5 合.
タマネギ・ニンジンの味噌汁.
納豆.
- 昼 (1200):
研究室.
米 0.7 合.
鶏肉.
ゴボウ.
ブロッコリー.
ミニトマト.
- 晩 (1900):
米 0.7 合.
タマネギ・ニンジンの味噌汁.
鶏肉.
ブロッコリー.
ミニトマト.