ぎょーむ日誌 2005-12-29
2005 年 12 月 29 日 (木)
-
0800 起床.
朝飯.
コーヒー.
-
昨晩からやらせている計算,
8 時間ほど経過したけど 900 step (MCMC step 数でいうと 4500)
しか進捗してない.
いったん停止して,
「とりあえず作図」
してみる.
-
うーむ,
妥当そうに見える部分と,
ちょっと「?」な部分がある.
-
定数部分はまあ (いまのところは) どうでもいい.
齢依存のところは妥当にみえる.
こいつだけ「個体差」が重要になっている.
これはおそらく「休眠」とかで説明できるにちがいない
(現時点の推定計算では休眠の効果は考慮してないんで).
-
明るさ依存もまあこんなところか.
おそらく休眠とか入れると明るさ依存性がわかりやすくなるかも.
暗いところで眠りこんでしまう連中なんで.
-
わかりにくいのは窒素依存性の明瞭さ,
だ.
私はここでいう「窒素 (濃度)」
(当年葉内の重量ぱーせんと)
などという測定値は葉っぱ死亡確率の説明に何の役にもたたないだろう,
と予測してたんだけど
……
この樹種差を超えたそろいかたはどういう意味なんだろう?
個体差がめちゃくちゃになってるのは,
測定値が信用できないことのあらわれ,
という気もするけど.
-
しかもおもしろいことに,
「窒素濃度が高いほど長生き」
という方向で.
私はそもそも葉っぱぎょーかいのヒトではないんで,
いんちき解析からひねくりだされた
「窒素濃度が高いほど短命」
といった俗説
(ぎょーかいの中のヒトたちによると
「だれもが認める真実」)
なんぞは気にしてないんだけど
……
しかし「長生き」な方向に樹種間でそろってしまうとは,
ねえ.
何があったんだろうか?
単純な計算まちがいとかだったら気楽なんだけど.
-
とりあえず
1100 自宅発.
曇.
1115 研究室着.
-
もとデータにたちかえって検討.
-
よくわからんな.
樹種によっては,
明るい暗いと窒素のあいだに交絡ありそうな気はする.
それから牛原さん定義するところの span
は寿命の長短と必ずしも関係ないからなあ
(むしろ個体差,
というべきかも)
……
-
さらに以前つくってみた葉寿命分布図ながめてると,
たしかに「明るさと呼んでるものは個体差」なるあつかいかも生じうるかも,
という気はするな.
個体差ナシモデルのほうが,
やや強引なあてはめだった
(「明るさに依存してる」は言いすぎだった),
ということか?
-
窒素に関してはよくわからんので試験的に,
窒素を
unused
に指定して推定計算やらせてみる.
-
と同時に,
末端欠測問題なんかもうまくあつかえていないような気がするので,
このあたりの改善に着手.
-
いろいろ調べてるうちに,
計算プログラムのばぐは見つかった.
なんとまあ個体差の prior から樹種差を生成させていた.
どちらも平均ゼロのガウス分布とはいえ,
いやはやなまちがいだ.
しかしこれを修正しても結果はあまり変わらないと思うんだよね
……
-
じつはこのばぐは以前のシュート伸長休眠・二度伸びの推定計算にも
影響およぼしているんで,
まずはそちらから計算やりなおし
……
こちらは計算が多少は速い.
そして様子をみていると,
幸か不幸か,
あまり変わらないように思える.
ただし Hyperspecies の階層にはおいては,
ということだけど.
-
ということで,
葉寿命推定計算のほう,
まだ何かばぐが残存しているにちがいない.
-
昼飯.
院生たちはまだいる.
-
コードみなおし & ちょい試験運転,
つづく.
-
ばぐは見つからないけど,
継承 (inheritance)
濫用したりすとらはおそるべき勢いにて進行中.
つまりばぐも継承する,
と.
しかしながら,
ばぐがあちこちに「こぴー」されるよりは 100 倍マシ.
-
しかし,
この教科書的とでもいうほど素直な「差分プログラミング」,
親クラスの挙動がアタマに入ってないと
「えーっとこいつのコンストラクターって何やってたっけ?
……
あ,
親クラスはじーさんクラスのコンストラクター呼んでる」
といった迷宮放浪になってしまいそうな.
-
むろんどんどん先祖たどりをやれば,
すぐに終点にいきつくわけだが.
たとえば
TreeL
だと
OwnerParameter
<- OwnerFixedEffects
<- TreeP
<- TreeL
で終了.
これが一番長い.
-
今日から全館暖房は止まってるんで寒い.
ガスストーヴつける.
-
シュート伸長の休眠・二度伸びの再計算,
105 分で終了
(100 step とばしの 1500 sampling).
幸か不幸かほとんどかわらなかった
(以前の図).
hyperprior は (そこそこの値であるなら)
なんであってもそれほど影響が大きくない,
ということなのか.
-
とゆーことで,
葉寿命推定計算のばぐらしきものはいまだ特定できづ.
アタマをひねってても進展しないので,
A 801 室の Dell 機では試験運転を実施し,
手もとの ThinkPad ではコードみなおしのつづきを.
尤度計算まわりもアヤしいかもな.
-
ばぐわからん.
hyperprior ばぐ修復の功名なのか,
試験運転中の葉っぱ生き死にの推定 MCMC 計算は以前よりマシなかんぢ
の値を吐きだしつつある.
明るい・暗いの効果がかなりはっきりしている
(明るいと短命).
しかしデータとの対応がよくわからぬ窒素長命化効果とやらも
(今朝えられたものよりマシとはいえ)
まだ残存してるんだよなぁ
……
明るさとの交絡 (confounding) が問題なのかな.
-
重量あたりの窒素量だの面積あたりの窒素量だの,
なンか気分の悪くなる割り算値ばかりあつかってるわけだが
……
とりあえず図にしてみる.
ぜんぜん違ってくるわけで.
呪われ割り算値.
-
一番単純なハナシとしては
……
窒素量なるものは単なるノイズ,
とでも言ってしまうことか.
こういう推定プログラムはゴミのような情報に
存在するゴミ相関を悪用したりもできるんで.
-
コードながめててもばぐらしきものがみあたらない.
あるいはデータの問題なのかもしれないけど,
よくわからない.
MCMC 計算そのものがまずいのかもしれない
……
どこかにある尤度の小岩峰で「引っかかっている」
(「登ったはいいけど降りられなくなっている」?)
とか.
-
で,
このあたりを解明するためには,
計算そのものをよく観察し,
挙動を把握する実験を試みる必要あるんだけど,
計算がおそくてなかなか進捗しない.
これは,
昨日もかいたとーり
「パラメーターひとつひとつのメトロポリスサンプリングごとに
すべての個体のすべての枝のすべての年枝のすべての葉っぱでの
尤度を評価しなければならない」
てなことを Perl なんかでやらせているためである.
-
とゆーことで,
SWIG
で尤度計算の部分だけを C コードに置き換えること検討中.
これは Perl その他から C/C++ 関数を
「お手軽に」
よびだせるしくみ.
いままで使ったことないんだが.
Vine Linux だと
swig-1.3.21
の RPM pacakge が準備されてるな.
-
1850 研究室発.
1900 帰宅.
晩飯.
-
SWIG
の勉強ぢりぢりと.
便利なのか不便なのかよくわからんシステムだな.
「配列を渡す」
というところはかなりとりっきーだ.
このあたり,
また明日以降に解説の予定.
-
[今日の運動]
-
[今日の食卓]
- 朝 (0850):
米麦 0.7 合.
コマツナあえもの.
納豆.
ダイコン・ニンジン・ネギ・ナメコ・タラすりみ味噌汁.
- 昼 (1340):
研究室お茶部屋.
米麦 0.5 合.
ダイコン・ニンジン・ネギ・ナメコ・タラすりみ味噌汁.
- 晩 (1930):
米麦 0.8 合.
ダイコン・ニンジン・ネギ・ナメコ・タラすりみ味噌汁.