ぎょーむ日誌 2005-10-26
2005 年 10 月 26 日 (水)
-
0620 起床.
コーヒー.
朝飯.
当家の冷蔵庫,
冷凍庫ナシ「製氷棚」アリのものなんだけど,
この製氷棚に毎月 2kg ぐらい着氷する.
放置しとくと冷蔵庫内が水びたしになるんで,
これをとりのぞく作業.
洗濯.
当家の洗濯機もまたコワれぎみで,
軸受かモーターに問題あって遠心脱水がうまくいかない.
すぐにエラー警報だして止まるんで,
手動で修復 (具体的には漕内質量再配分) するんだけど,
これにはそうとうの技量と忍耐を要求される.
炊飯器も壊れて使えなぬまま半年すぎたし
(ということであいかわらず鍋炊飯の日々)
……
いやはや問題なく動作する家電製品は掃除機と電磁波オーヴンだけか.
0915 自宅発.
晴.
0930 研究室着.
-
苫小牧 leafminer 寄生確率問題に関して,
登校前から
(つまり冷蔵庫・洗濯機と格闘しつつ)
多変量正規分布を生成する Gibbs sampler
について検討している.
つまりこれは条件つき正規乱数の生成にほかならず,
計算方法じたいは調べればすぐにわかる
(e.g. Wikipedia).
-
問題なのはこれを
R
で生成させる方法だ.
素朴にそのまま書くと部分行列
(sub matrix)
をつくるところで巨大行列の copy
が発生してしまう.
そんなことやってられない.
なにか工夫があってしかるべきだ.
-
CRAN Task View の
Bayesian Inference
読んでみる
……
うーむ,
この問題って
geoR
だの geoRglm
なんかに「まるなげ」できそうな気がしてきた.
-
geoRglm
について
昨年末
に平尾君から教えてもらって,
えらく感銘うけてるな
……
この時のぎょーむ日誌の記述の半分ぐらいは
めちゃくちゃなんだけど
(いつものごとく,
というべきか),
「
geoRglm
って何やってるのか?」
という理解はおおむね正しかった
……
下記文書あれこれを読んで自分の理解を点検してる最中なんだが.
こういう空間相関・Bayesian・MCMC まわりの
わかりかたは当時に比べて
(さすがに,とゆーか)
多少はマシになってますなぁ.
-
library(geoRglm)
の挙動をつかむためには
……
library(help = geoRglm)
とその関数たちの help()
はもちろん,
package についてくるドキュメント
doc/geoRglmintro.pdf
,
作者
Ole Christensen
の R News
の短い解説文:
Christensen, O. F. and Ribeiro Jr, P. J. (2002).
geoRglm - a package for generalised linear spatial models.
R News, 2(2), 26-28. ISSN 1609-3631.
さらに,
Christensen の
論文
も読む必要ある.
-
昼飯.
-
これ以上
geoRglm
にはまりこむと,
定式化の確認 → 試験運転あれこれ
という方向につっぱしってしまうのは明らかなのでいったん中断.
あぶないあぶない.
-
ということで,
苫小牧樹木直径成長問題のほうにまぢめにとりくむ.
-
ここまでの流れとしては局所 BA なる量を導入したら,
というハナシがあって,
そのあたりのデータ整理していただいたので推定計算に投入したけど,
直径成長のモデリングには必要ないんでは,
ということでどの樹種でも選択されなかった
(おおざっぱに言うと,
その程度のばらつきは「個体差」とみなされるため).
-
このあたりの変更で推定プログラムそのものの改造と,
入出力データの書式の変更あった.
出力データについてはほとんど変化なし.
しかし作図プログラムや感度解析に影響しないかどうか,
といったことどもを調べる必要がある.
-
改造を最小限にするため,
「まあモデルを多少ひねっても局所 BA が要因として選択されることは,
そうそうないだろう」
という方針でいくことに.
-
調べていくと今回の改造とは直接関係ない
「version 問題」
が存在することに気づいた.
感度分析で気象値再計算が必要なんだけど,
その関数
calc.wv()
がない.
前の version にもなくその前のやつで見つかった.
これは単に気象値 8 年分を単一の data.frame にいれればいいだけなんで,
現 version ではらっぱー関数的につなぐことにする.
つまり
-
todedendro2
(2004 年 11 月中ごろに終了):
高速化モデル選択なし.
wfilter/wv.common.R
内に calc.wv()
あり
-
todedendro3
(2004 年 11 月末ごろ中断で終了):
高速化モデル選択あり,
局所 BA モデリングなし.
wfilter/wv.common.R
内に前年気象値計算関数
calc.wv.ps()
と当年のそれ
calc.wv.mb()
はあるんだけど,
calc.wv()
はなし
(つまりここで廃止した)
-
todedendro4
(現在のもの):
高速化モデル選択あり,
局所 BA モデリングあり.
calc.dGdWdV.R
内に互換性とるための関数
calc.wv()
追加
となってるわけで.
todedendro3
でちゅうとはんぱなまま中断したのが混乱の原因だったな.
-
R にも version 間の問題がある?
たしか以前はこんなところにじゃまな
legend()
が置かれなかったはずだが.
png()
device による出力.
現在つかってるのは 2.2.0 で半年ぐらい前までは 2.0.* だった.
まあ,
まだこのへんはどうでもいいので放置.
-
さて,
樹木個体ごとの事後分布の生成だが
……
アタマが混乱してきたので旅にでる.
-
20 分間ほど北大構内散歩.
アタマの中が整理されてきたので,
直径成長問題推定のシステム改造にとりくむ.
少し変えては試験運転,
のくりかえし.
-
1800 すぎ,
とりあえず事後分布 (posterior) を樹木個体ごとに描かせることできた.
これは個体ごとの「個性」をあらわす.
下の図はホオノキ 29 個体の例.
青-緑系の曲線が個体ごとの posterior,
赤い曲線が (全個体共通の) 事前分布 (prior).
-
成長量の確率分布が Poisson 分布で
prior はガンマ分布なので自然共役事前分布
(natural conjugate prior distribution)
になっている.
すなわち,
posterior もガンマ分布である.
(後記: 単純なぽあそんではないんで,
自然共役になってないかも)
-
prior/posterior を目にみえるカタチにするのは,
これが最初なんだけど
……
この図を見ているうちに,
prior のいれかたなどをもうちょい改善すべきだ,
と気づく.
試算してみると,
prior の実装で計算結果がびみょーに変わる,
とわかった.
-
1950 研究室発.
2015 帰宅.
体重 73.6kg.
晩飯.
-
北大構内走にでようと思ってたんだけど,
いつのまにかねむりこんでしまった.
-
[今日の運動]
-
[今日の食卓]
- 朝 (0720):
煮豆飯 0.7 合.
ネギ・モヤシ・豆腐・煮干の味噌汁.
- 昼 (1250):
研究室お茶部屋.
煮豆飯 0.7 合.
ネギ・モヤシ・豆腐・煮干の味噌汁.
- 晩 (2030):
煮豆飯 0.7 合.
ネギ・モヤシ・豆腐・煮干の味噌汁.