ぎょーむ日誌 2006-11-21
2006 年 11 月 21 日 (火)
-
0820 起床.
うーむ.
朝飯.
コーヒー.
0920 自宅発.
曇.
ちょっと雨.
0935 研究室着.
-
何やらいろいろとメイルかきとか
……
げ,
もう 1100.
A 棟 7-8F だけでなく,
日本のあちこちの皆さんがデータ解析にとりくむ季節になりましたなぁ.
-
昨晩の小山さん解析の WinBUGS ばぐとりに取りくむ.
しゃれにもならん
……
挙動が小山さん PC と私の Linux + wine ではびみょーに異なっており,
Trap 窓とかは出ない.
何なんだろう.
そしてわりとあっさり原因を特定できた.
最強に強まったばかさ加減をこめた必殺の一撃,
というべきか「右カッコがとじてない」という
ちょー脱力系のばぐだった.
コンパイルできないなら「コンパイルできない」と言えよ
……
というか WinBUGS はバカなので無理やりコンパイルしたあげくに
実行して自爆しているのか?
-
そして簡単なモデルなのに,
データが多い
(6000 観測地点,
ただしほとんど場所は植物個体数ゼロ)
という理由で計算に時間かかってるみたいだ.
えーい,
もっとステップ数とか少なくすべきだったか?
-
10 分間まっても終わる気配がないので中止.
n.iter
を 5000 から 500 に変更.
これまた時間かかってる
……
これでも時間かかるか.
ならば 50 なら?
-
私の ThinkPad X31 (PentiumM 1.6GHz)
で 50 MCMC step トリプルチェインで 30 秒弱,
か.
500 でやってみたら 250 秒ぐらい.
モデルが簡単なので,
これぐらいで十分に収束しているけれど.
-
モデルをちょっと改良するためパラメーター数をひとつ増やしたら,
計算時間が 400 秒に増えた.
くそう,
WinBUGS め
……
収束は速いからもっとサンプル数へらしていいかな?
Chain 数 3 だし.
いや,
やっぱりこれより少なくはできんような気もする.
-
まあ,
なんとかなってきたのでちょっと長めの試験運転めいじておいて,
昼飯.
-
昼飯後に小山さんにひきわたし作業
……
またゐんどーづ上で WinBUGS を動かすのに苦闘する.
そして WinBUGS が動作してるあいだは他の作業ができない.
なんともすごい.
-
A801 の共用ゐんどーづ機
(Pentium4 2.8GHz なのでこの研究室内では最も速い計算のひとつ)
で計算環境ととのえる
……
これがまた腐れぎみでいろいろ苦闘する.
なんで私がこんなところでじたばたしてるんだろうね.
-
いろいろ設定したけど R2WinBUGS
から WinBUGS を動かせない
……
と思ったらその原因はひどくゐいんどーづ脱力系のものであった.
R2WinBUGS の
bugs()
はいろいろなファイルへのパスを指定せねばならんのだけど,
その中に Shift-JIS の文字コード
(具体的には「...\デスクトップ\...」)
が混入していると WinBUGS は「ファイルがみつからん」
叫んで仕事を投げだしてしまう,
とわかった.
へっぽこ OS & へっぽこアプリケイションソフトウェア.
ディレクトリ移動で対処.
-
(私は「種ごとの推定」は好きではないんだけど)
とりあえず全種・全 stage の「いる・いない」推定を走らせてみる
……
が二番目の種でコケる.
原因をひとことで言えば,
午前中に私が試行錯誤して作ってたプログラムというか,
その考えかたが抜本的にまちがっていたため.
データがない区画では「ゼロ」データで区画をうめつくすのではなく,
そもそも「そんな区画はない」として扱えばよい.
そうすれば「その区画の『区画差』」の事後分布は
事前分布からの単なるランダムサンプルとなるだけで,
計算全体には何の支障もない.
嗚呼,
われながらへっぽこ統計もでらー,
というかんぢだ.
修正して,
また最初から再実行.
-
とっくに札幌の日没時刻をすぎてる.
いやはや.
-
お,
小山さんところから転送したデータの中に今回つかってる
「やち (ぼうず)
パワー地図」
pdf ファイルがまじっていた.
-
A801 共用 PC 上で全種・全 stage で (とりあえずひととーり)
お試し計算を実行させようとする試行錯誤,
小山さんととりくむ.
一昨日あたりにつくったデータ整理用 R プログラムに
まだ不備が残存していたのを発見・修正したり.
-
「サロベツ調査地の植物データ,いる・いない問題」
の階層ベイズモデル化
(といっても現段階では GLMM でまだ代替可能だが)
WinBUGS 実装は次第に完成しつつある
……
そして次の一手が気になりつつある.
Zero-inflated Poisson (ZIP) モデルであつかうような問題,
BUGS 言語ではどう表現してやればよいのか?
-
そしてたまたまなんだけど,
鳥データ解析の WinBUGS あれこれなどについて
山口さん
からメイルをいただき,
上記 ZIP モデルとの関連が何かありそうだと気づく.
どちらも行き詰まっているところは
-
WinBUGS などで使われている
BUGS 言語はどんな統計モデルでも
自由自在に記述できるわけではない
-
しかしながら,
私の憶測では,
ちょっとややこしげな確率分布をもちいた尤度方程式をもつ
統計モデル (ZIP など) であっても,
何らかの方法
で
「BUGS 言語にあわせた」
等価なモデルとして書き直せるような気がする
-
ただし統計モデルの中には
(尤度方程式は記述できても)
BUGS 言語で記述できないものがあるかもしれない
(あってもぜんぜん不思議ではない)
といったところか.
-
2000 研究室発.
午後はずっと雨ふってたけど,
今はやんでる.
統計モデリングについて考えつつ夜の札幌駅まわりをふらふらと歩く.
ふらふらと
……
なーんだなーんだ簡単なコトじゃないか.
BUGS 言語でもって
隠れマルコフモデル
(もしくは単なる
潜在離散変数モデル)
を実装すればいいだけじゃないか.
それで zero-inflated model も
「個体識別マークつき鳥を見た・見なかった」
時系列観察データもモデル化できる.
ホントに Gibbs sampler が走るかどうかはわからないけど,
定式化は簡単だ.
隠れ変数を悪用して
dbern()
や dpois()
が「『実質的に必ず』ゼロをだす」ようしむけてやればいい.
まあ,
明日以降に試してみよう
……
とこれにてめでたく一件落着の結末に到達したので帰還軌道に遷移する.
2050 帰宅.
晩飯.
-
[今日の運動]
-
[今日の食卓]
- 朝 (0840):
バゲット.
海藻スープ.
- 昼 (1340):
研究室お茶部屋.
食パン.
- 晩 (2220):
米麦 0.7 合.
ダイコン・ネギ・煮干・ワカメの味噌汁.