ぎょーむ日誌 2002-12-(21-31)
2002 年 12 月 21 日 (土)
- 1050 起床.
うう.
朝飯.
コーヒー.
なんとなくでれでれと.
- でれでれとしてから
1410 自宅発.
曇.
1420 研究室着.
- お茶部屋でデータ解析雑談などなど.
- めんどう確率分布のめんどう数値計算.
各パラメーターセットにおける計算はうまくいくようになった.
しかし尤度の最大化は概してうまくいかない.
- 1800 苫小牧の村上さん見える.
晩飯をはさんで葉もぐり昆虫と
それにたかる寄生ハチの解析問題について議論
……
解決すべき問題は
「寄生率のモデル化,種依存性と空間構造との関連」
に他ならぬ
というあたりで落着した.
で,
この寄生率に関して,
あれこれ換算してしまった値ではなく,
実際に leafminer どもからでてきた
ハチの数そのもののを使うことに.
いつものことながら,
よけーな数値操作をしていないデータこそがもっとも重要,
ということで.
- また最尤推定の数値計算プログラムの改良のつづき.
- かなり問題を易しくしてやってるのにうまく解いてくれない.
2420 研究室発.
2430 帰宅.
- で,
2730 ごろまで数値計算問題に没頭していた.
いかん.
- [今日の素読]
- [今日の運動]
- [今日の食卓]
- 朝 (1110):
米麦 0.4 合.
タマネギ・かつおぶしの雑炊.
- 昼 (1500):
研究室お茶部屋.
パン.
コーヒー.
- 晩 (1900):
村上さんと地環研前の
朱蔵
でイワシ煮魚の定食食べる.
750 円.
2002 年 12 月 22 日 (日)
- 0920 起床.
5 時間ぐらいしか寝てない.
朝飯.
コーヒー.
- 1600 ごろまでひたすら数値計算プログラムの改良.
ばてたので昼飯.
昼飯食うと猛烈に眠くなって
……
意識が回復すると 2120.
やれやれ.
また生活周期がずれそう.
- うーむ,
今日いろいろやってみたんだが,
汎用最尤推定計算プログラム
mlfitting
はけっこう使えるやつなんだが
……
今回のややこしー推定には歯がたたぬようだ.
-
mlfitting
の要点は多次元の微分方程式群を
-
数値微分→勾配行列
-
勾配行列の逆行列計算
-
Newton-Raphson 法
とゆーようなよくある数値計算技法の
コンビネイション技でしんぷるに解いてしまうことにある
(加えて最大化したい尤度関数を
plugin_function.so
として動的にプラグインできるのもウリ).
- 今日はさらにここに「最適な『歩幅』の自動探索」
なるものを加えたんだが
……
やはりそれでも解けなかった.
そんなに複雑な確率分布ではないはずなんだがなぁ
(下の図のようなガンマ分布と正規分布のたたみこみ).
- かなり逡巡してから
……
まったく
別の計算方式である修正 Powell 法の
プログラムを作ってみることにする.
とりあえずのプロトタイピングとて
Perl モジュールとして書いてみることに.
いやはや,
数値計算ものぐるい状態かも.
- 修正 Powell 法モジュールつくっていく
……
コード量的には 2/3 ぐらい書けたか?
時刻はすでに 2800 すぎ.
しかしアタマは稼働状態のままなので,
ぬるい風呂に入ってでれでれしてから寝る.
- 今日は部屋から一歩も出ないで終わった.
ひたすらに数値計算な一日.
- [今日の食卓]
- 朝 (1030):
米麦 0.8 合.
ハクサイ・ネギ・シイタケ・卵の炒めもの.
- 昼 (1630):
パンケイキ.
コーヒー.
- 晩 (2230):
スパゲッティー.
タマネギのカレー.
2002 年 12 月 23 日 (月)
- 0900 起床.
朝飯.
コーヒー.
1000 自宅発.
晴.
1010 研究室着.
- 数値計算プログラム作成ばかりやってて,
また仕事わりふり全体が破綻しつつあるので
……
とりあえず生態学会大会
要旨書き.
京都の宣教師殿の
要旨スタイルマクロ
(LaTeX)
使わせていただく
……
う,
印刷したあとに切り貼りせんといかんのか.
- 30 分ほどで図いりのてきとーなる要旨を書いてしまう.
今回は甲山さんとの連名なんで,
まぁ明日あたりに見てもらって速達で出してしまうか.
25 日必着.
- 連休であるためか,
ほとんど誰もいない.
M1 大澤君あいてに Linux の
apt-get
ちゅーとりある 2 時間ほど.
つまり RPM package の管理手法ですな.
まぁ,
修士の中にひとりぐらい Linux 使いがいたっていいだろう,
ということで.
- おそい昼飯.
小菅せんせーがパンの耳にマヨネイズを付着させた
面妖なるモノを食おうとしてるで,
まよ依存症ではと忠告したんだけど,
聞く耳を持たない.
やさぐれまよらー
救済しがたし.
- このせんせーの先週の酔態証拠写真を大澤君がお茶部屋に提出.
「俺はこんなにひどいことをやったのか」
ととぼけておられるよーで.
- 昨日かなり書きすすめた修正 Powell 法 Perl モジュールの
アルゴリズムは自分のアタマで覚えていた計算方法だけによっているんで
……
これ以上つくっていく前に,
また Numerical Recipes を見なおして
その計算方法でまちがいないかどうか調べてみる.
- 多次元の空間を parameter set が移動していくくだりはよい,
としてだ
……
あるヴェクトルをきめたときにその上で関数の極値を探す
Brent のアルゴリズムなるものその他あれこれあって,
これがややこしー.
えーい,
どうしたものか.
Perl ではまだぜんぜん書いてない.
- どうせ Perl でプロトタイピングしてるんで,
それならもう一度 CPAN
あさってみますか
……
とあまり期待しないでひっかきまわしてみると
……
あった.
Numerical Recipes コードの Perl 移植版が.
- えーと,
John A.R. Williams
氏なる人物が 1995 年のクリスマスに公開したコードが
そのまま今も CPAN している.
さっそく
Math::Brent
なるモジュールをダウンロードして
インストールしてみる.
- その
Brent.pm
は
Numerical Recipes
の特徴である読みづらい C コードをそのまま Perl 化したもの.
しかしちゃんと動作する.
- なんとまぁ,この Williams 氏は Nelder-Mead 式の
Polytope 法
(これは Powell-Brent 法とはまた別モノ)
まで Perl モジュール化しちゃっているよ.
これも Numerical Recipes から
そっくりそのまま移植版.
こっちの
Math::Amoeba
ほうは多次元なのに
一次元な Brent よりコードが短い.
- さーて,
どうするか.
Math::Brent
を使って修正 Powell 法の Perl モジュールの完成をめざすか?
それとも
……
よし,
Powell 法モジュールの開発はいったん止めて,
まずは
Math::Amoeba
でくだんの最尤推定問題が解決するかどうか調べてみるか.
修正 Powell 法 Perl モジュール作っても,
それ自身の試験運転にかなりの時間をとられそうなんで.
- 数値計算定番本 Numerical Recipes によると,
Polytope 法より Powell 法のほうが
「速い」ということらしい.
そういうもんかと今回は Powell 法にいったんは着手したんだけど,
実際のところ Powell 法がどれぐらい速いのか私にはわからん
(というか,このアルゴリズム「速い」
とはにわかには信じられない).
いっぽうで
Polytope 法が遅い,
というのはいろいろと体験ずみであるが
……
しかし
Math::Amoeba
はそれなりの速度で動いているように見える.
- そもそも「数値微分を使わない最大化」で,
懸案の問題が解けるかどうかをまず確かめないといけないわけで.
もし解けないなら速い遅いは関係ない.
- CPAN の
Math::Amoeba
はそのままでは使えないような気がしたんで,
これを手元で改造してみることに.
とりあえず移植者 Williams 氏のクレジットなどは
コード中に残しておいたまま,
NelderMead.pm
と名前をかえて内部を改変してみる.
- ところがこのコードというのが,
Numerical Recipes の「読みづらさ」のみならず「見苦しさ」まで
そのまま移植しちゃってるもんだから
読んでてすごく気分がわるくなってくる.
ホントにそういう傾向があるのかどうかわからないんだけど
……
学術プログラマー集団の中にあって
数値計算専門屋の書くコードはかなりキタないような気がする.
計算できればそれでヨシというぽりしー?
はたまた FORTRAN の呪縛か.
- それはともかく,
もっと見やすく整形しないとおかしなバグが混入しそうだ.
整形ツールとしては
GNU
indent
ってのがあるけど,
これは C 用だしなぁ
……
ということで,
Perl 用の整形ツールはないかと
またまた CPAN をあさってみる
- あった.
Perl::Tidy
というもので,
(モジュールというより
独立したアプリケイションソフトウェア
perltidy
として利用されるためか)
sourceforge.net に登録されていた.
もちろん CPAN からもダウンロードできる.
- このツールをインストールしてみて,
さっそく試行錯誤してみる.
私の好みに近い指定は
perltidy -t -et=8 -i=8 -pt=2 -bt=2 -sbt=2
だとわかった
……
おお,
ぐっと見やすくなる.
- このコードにいろいろと手をいれながら,
内容をチェックしていく.
- かなり私ふうに直したところで撤退.
2130 研究室発.
雪はふってないけどすごく寒い.
北 12 生協で買いものして
2150 帰宅.
体重 73.6kg.
運動不足にたたられている.
- 晩飯.
ぎょーむ日誌書いてみると,
今日も一日ばたばたしていたとわかる.
ばたばたしていただけか.
- [今日の食卓]
- 朝 (0920):
米麦 0.6 合.
ハクサイ・タマネギ・シイタケの炒めもの.
- 昼 (1420):
研究室お茶部屋.
米麦 0.8 合.
弁当の菜ではなく,
なぜか一昨日からお茶部屋にある
マグロ味噌汁の残りを全部食ってしまった.
- 晩 (2220):
スパゲッティー.
ハクサイ・タマネギ・シイタケのスープ.
2002 年 12 月 24 日 (火)
- 0820 起床.
朝飯.
コーヒー.
0855 自宅発.
曇.
0905 研究室着.
- ばたばたとメイル書きなど.
- Perl モジュール化した Nelder-Mead 式 Polytope 法を
最尤推定の道具とするべく調整を続ける.
まずは簡単にとける推定問題
……
先日やってた quasi-likelihood 推定問題で
Polytope 法の試験を行う.
なかなか悪くない.
- おっと,
最尤推定計算ばかりにかまけていないで
生態学会大会の要旨をさっさと提出しなくては.
なにしろ 明日 必着だからなぁ.
共著者・甲山さんに検分してもらって発送の準備.
1130 研究室発.
1140 郵便局着.
速達料
390 円.
ぎりぎりまで提出しなかった罰金か.
しかもここ北日本から関東の辺境たるつくばまで,
郵便が到達するまで何日ようするか,
じつはわかったもんではない,
という
……
ついでに生態学会会費支払う.
11200 円.
高い.
- 1220 北大構内走発.
この冬初の雪上転倒をやってしまった.
むこうからよたよたと走ってくる自動車をかわそうとして
コケた.
圧雪の上で重心急移動をやってはいけない.
雪の上は危険だ.
1255 研究室もどる.
昼飯.
- ぎりぎりになって速達にて送信してしまう小心な私などより
よほど大物である浦口さんの
講演要旨の「下書き」を拝読している自分を発見した.
- さて,
いよいよ
(観測された値) = (ある確率分布の標本) + (測定誤差)
というような複数の確率分布の結合した状況
(というかスケイルパラメーターが複数ある状況)
での推定問題にとりくむ.
これは関数のたたみこみ,
つまり数値積分を含むので,
そのあたりをまず
Perl コード化しないといけない.
- 再掲すると,
こういう確率分布を考えているわけで.
|
[Gamma + Gauss 分布]
Gamma 分布のばらつきを決める beta
と Gauss 分布のばらつきを決める sigma
を同時に決めないといけない
(左の図では sigma = 0.1 ).
もちろん Gamma の平均も.
Gauss 分布は人間の測定誤差をあらわすので
平均はゼロと仮定している
(ホントにゼロなんだろうか).
|
- 苫小牧から第三次攻撃通告の電文.
えーい.
借金でクビがまわらなくなる,
とはこのことか.
- という状況であるにもかかわらず,
お茶部屋で D1 平尾君と統計学雑談を長々とやってしまった
……
いやはや.
- 2030 よーやく長年の懸案であった,
複数確率分布モデルの最尤推定問題に解決への第一歩となる
計算結果が得られた.
下の図のタテ軸のばらつきがくだんの joint distribution
(上の図) から得られたランダムサンプルになってるわけで.
|
[それなりに良い推定結果の例]
青線が推定で緑線がホントの平均値.
標本数 152 コ.
まぁ,
よくがんばりましたとゆーことで.
まだまだ検討・改良が必要ではあるけれど.
| 推定値 | ホントの値 |
p0 | -3.14 | -3.0 |
p1 | 0.048 | 0.06 |
beta | 0.083 | 0.1 |
sigma | 0.115 | 0.1 |
|
- Perl + Polytope 法というおよそ数値計算むけではない環境なんだけど,
いまのところは「遅い」という気がしない.
この問題だと 100-300 反復ぐらいで収束してるようだ.
時間にして 1-3 分程度
(PentiumIII 600MHz の ThinkPad X20 で).
とはいえ,
これは標本数が 152 コ,
とそんなに多くないから,
この程度で片づいているんだろうなぁ.
- ただしこの収束過程を見てると Polytope 法が
「無駄計算ばかりやってやがる」
というのがひしひしと実感される.
まぁ,
それゆえの安心感みたいなモノはあるんだが.
- ひとまずは良い結果が得られて,
すっかりうかれてしまったので,
biometry というメイリングリストによけーなメイルを送ってしまった
……
不幸中の幸いでこれは biometry あてとはなっていなくて,
粕谷さんあての私信となったわけだが
(で,その返信にてまたいろいろと
親切なるご教示をいただいてしまった).
- 腹もへったし帰るとしますか.
2130 研究室発.
北 12 生協で買いものなどして
2150 帰宅.
体重 73.2kg.
晩飯.
- 「おお,
この最尤推定の結果の善し悪しは,
たたみこみの数値積分の精度にかなり依存してしまっているのか!」
というような計算あそびを続けてしまったので,
また寝る時間が遅くなってしまった.
- [今日の素読]
-
数値計算じゃんきーな日々が続くと,
かかる敵国語研究がススまぬ,
というような
……
- [今日の運動]
-
北大構内走 1220-1255.
ストレッチング.
-
腹筋運動 30 × 3 回.
- [今日の食卓]
- 朝 (0840):
米麦 0.8 合.
キャベツ・タマネギ・マイタケの炒めもの.
- 昼 (1310):
弁当.
研究室お茶部屋.
米麦 0.8 合.
キャベツ・タマネギ・マイタケの炒めもの.
- 晩 (2220):
米麦 0.8 合.
残りもの野菜のカレー
……
ハクサイ・キャベツ・ナス・
タマネギ・シイタケ・マイタケ・豆腐.
なんなのだろうか.
2002 年 12 月 25 日 (水)
- 0800 起床.
朝飯.
コーヒー.
0850 自宅発.
晴.
0900 研究室着.
- ちかごろは朝にぎょーむ日誌を書いていることが多いような気がする.
よいのか悪いのか.
- 明日は苫小牧の leaf miner 寄生蜂の推定問題をやらねばならんので,
今日はまた昨日の複数確率分布推定問題のつづき.
こっちの推定問題発注者がとりあえず使える段階まで持っていく,
ということで.
- たたみこみ数値積分の改良.
これが重要だとわかったんで.
数値計算本などながめる.
なるほど,
これまたいろいろなヴァリアントがあるようで.
- それ以前にまずは,
Gamma 分布 (自然が作ったと仮定しているゆらぎ)
のまわりで積分するというわれながらまぬけな
計算方針はやめて Gauss 分布 (人間の測定誤差)
のまわりでの積分に切りかえる.
人間の測定誤差のほうが相対的に小さいと仮定してるんで.
もしそうでなければ,
二種類のばらつきを分離して推定などできやしない
……
この変更だけで計算速度が 5 倍ほど向上した.
- というような変更と入出力まわりの改善だけで午前が終わった.
1230 北大構内走発.
晴.
寒い.
1300 研究室戻る.
昼飯を食っていたらいきなり窓の外がホワイトアウト.
突発的な降雪である.
- 午後も数値積分の改良.
- たしかに拡張 Simpson 則を使ったほうが結果はマシになる.
劇的な改良,
というほどでもないけど.
# ホントの値
p0 -3.0e+00
p1 5.0e-02
beta 1.0e-01
sigma 1.0e-01
# Trapezoidal rule
estimated_p0 -3.253e+00
estimated_p1 5.131e-02
estimated_beta 7.255e-02
estimated_sigma 1.084e-01
log_likelihood 6.192070e+01
# Extended Simpson's rule
estimated_p0 -3.227e+00
estimated_p1 5.201e-02
estimated_beta 7.527e-02
estimated_sigma 1.060e-01
log_likelihood 6.236328e+01
とはいえ計算の手間を増やさずに
推定結果を改善できるので,
拡張 Simpson 則を採用する.
まあ,
積分の区切りを大きくしても結果がそれほど
悪くはならない,
というところに御利益ありそうだけど.
- とゆーことで,
とりあえず発注者の浦口さんに連絡して,
この推定問題はたなあげ.
すでに 1630 か.
数値計算ばて.
- うだうだとしてからメイル書きなど.
2020 研究室発.
北 12 生協で買いものしてから
2030 帰宅.
体重 73.4kg.
- 晩飯食ってからさっさと寝てしまった.
ここしばらく寝不足ぎみだったので.
- [今日の素読]
- [今日の運動]
-
北大構内走 1230-1300.
ストレッチング.
-
腹筋運動 30 × 3 回.
- [今日の食卓]
- 朝 (0840):
研究室お茶部屋.
米麦 0.5 合.
ハクサイ・キャベツ・ナス・
タマネギ・シイタケ・マイタケ・豆腐
の野菜のカレー.
- 昼 (1320):
弁当.
研究室お茶部屋.
米麦 0.8 合.
ハクサイ・キャベツ・ナス・
タマネギ・シイタケ・マイタケ・豆腐
の野菜のカレー.
- 晩 (2150):
米麦 0.8 合.
ハクサイ・キャベツ・ナス・
タマネギ・シイタケ・マイタケ・豆腐
の野菜のカレー.
2002 年 12 月 26 日 (木)
- 0730 起床.
早く寝たのでやや早起き.
体力回復.
朝飯.
コーヒー.
道内のあちこちで氷点下 30 度とか記録してるようだ.
札幌でもマイナス 10 ℃以下だったようで.
0820 自宅発.
曇.
20cm 以上つもってるんであちこちで雪かき.
0830 研究室着.
- 机のまわりの文献整理など.
今日はまた村上さんがくるので,
それまでに何か計算を少しはススめておかないといけない
……
- 苫小牧 leafminer とその寄生ハチデータを読む
Perl モジュール
ToefLMP.pm
の作成に着手する.
- 午前中でほぼ完成したか?
プロットごと・観測日時ごとのデータセットを
hash として取り出せる窓口・ファイルデータベイスはできた.
- 試験運転としてファイルを読み込ませながら簡単に点検させてみる.
十数カ所に「空欄」 (値のいれ忘れ) が見つかった.
なにしろ巨大なシートが 20 枚もあるので,
これは少ないほうなのかもしれないけど
……
いずれにせよ,
元データファイルを作ったゑくせるの呪いだ.
こんな大量のデータを「目で見て」チェックしないで,
計算機にチェックさせるべきだ.
ましてや「計算式の縦方向コピー」にいたっては……
いやはや.
- 昨日の複合確率分布の最尤推定 Perl モジュールに関する
発注者・浦口さんのコメント
……
さうですか,
Polytope 法 in Perl はやはり計算が遅い,
と.
うーむ,
プロトタイピングだけではすまさずに
(という表現も奇妙ではあるが),
呪われ C++ とかで「清書」すべきなんだろうか.
- 1215 北大構内走発.
除雪が十分になされていないと走れる場所が少ない.
いっそのこと長ぐつばきで走るべきか?
1240 研究室もどる.
昼飯.
- 昼飯後に村上さんが.
いやはや,
よーやくデータハンドラーができたばかりなのに
……
お茶部屋でここまでの作業を説明していると,
南近江に君臨する清野さんもあらわれる.
これは偶然ではなく,
低温研の戸田さんのところに村上さん・清野さんが
招集されていた,
ということのようで.
清野さんはそのついでに北広島 (という市が札幌-千歳間にある)
に帰省した次第.
- 1400 すぎ,
こんどは京都の長谷川宣教師殿が登場.
事実上,
すでに正式な決定になってるんで書いてもいいと思うんだが,
ここ地環研のアヤしげなる研究計画に
文部科学省のあぶく銭が
つけられる
ことになってしまったんで,
それによってどたばたとあわただしく公募・採用された,
という事情である.
今回は住み場所さがしということで.
年末・降雪・低温注意報の札幌にようこそ.
とりあえず甲山さん部屋におしこむ.
- 歳末借金とりのごとき村上さんの前で,
苫小牧 leafminer 寄生データ読み込みモジュールの改善
(ゑくせるミス自動チェック機構とか),
これと連動する統計解析ソフトウェアの作成.
これは以前に作った
Logistic.pm
だの
NewtonMethod.pm
といった Perl モジュールを組み合わせていくわけだ
……
おお,
さすがに Newton-Raphson 法は収束が速い.
これが,
これが二次収束だっ!
- というようなことあれこれをお茶部屋で 1700
すぎまでどたばたと.
やはりヒトに説明しながらプログラムを作っていくのは,
ひどく疲れる.
さらに,
お茶部屋では清野さん絶好調モードだったので,
室内にいる誰もがバテてしまう状況だったから
……
- 1840 研究室発.
清野さん・長谷川宣教師殿・浦口さん,
あとから谷さん・特に匿名を希望する料理人殿といっしょに
北大正門前の「松」で歓談.
2300 帰宅.
- [今日の素読]
- [今日の運動]
-
北大構内走 1215-1240.
ストレッチング.
- [今日の食卓]
- 朝 (0750):
米麦 0.6 合.
ナバナ・タマネギ・マイタケの炒めもの.
- 昼 (1310):
弁当.
研究室お茶部屋.
米麦 0.8 合.
ナバナ・タマネギ・マイタケの炒めもの.
- 晩 (1900):
「松」であれこれ.
2002 年 12 月 27 日 (金)
- 0730 起床.
朝飯.
コーヒー.
0820 自宅発.
雪.
どんどん積もっている.
0830 研究室着.
- 信州大で統計学寄席をやってる三中さんが
駄目駄目ゐいんどうず (の XP シェル) への批判を
biometry
で配信しているメイルに掲載している
(とはうかつにも自分では気づかずに
あとでかとー先生にご教示いただいた).
私にハナシをふられてもねぇ.
- 札幌住み場所さがしに来ている長谷川宣教師殿が
お茶部屋で紅茶を淹れてくれたので,
それを賞味していると,
この COE PD 研究員どたばた公募を敢行した甲山さんが
宣教師を研究科長のところに連行していった
(そんなことやってもあまり意味ないような).
ノストラダムス的なおどろおどろしい名前のアヤしげなる
研究計画
を策定した研究科長がわの対応のてぎわも悪ければ,
その尻馬にのってる甲山さんも後手後手なので,
傭われ宣教師殿としてはあれこれ翻弄されてるようで.
- 苫小牧 parasitoid モジュールの作成・改良の続き.
昨日,
歳末借金とり村上さんの前で説明しながら書いたコードを
手直ししていく.
- なにやら 1 時間ほども要したらしい COE PD 問題は,
甲山・長谷川・研究科長の三者直談判のかいがあったのか,
とりあえず問題かたづく方向で終息したようで.
- 午前中は
ToefLMP.pm
手直しだけで終わってしまう.
1215 長谷川宣教師殿と昼飯食いに出る.
豪雪.
1225 北大生協クラーク館着.
昼飯.
生協不動産屋に寄る宣教師殿とわかれて
生協書籍部へ.
1310 かとーオフィス着.
宣教師荷物が届いてる.
書籍・紙切れのたぐいだけで 18 箱?!
- 「のせている・のせていない」基準がいまいち明らかでない
講座メンバー表
の「かつて在籍した人々」欄に何人か追加.
あれこれ不備とかありましたら久保まで御連絡ください.
- データハンドラー Perl モジュール
ToefLMP.pm
とそのドライヴァーである寄生率推定プログラム
reg_logistic.pl
を同時に改良していく.
- かとーオフィス内の午後.
かとー先生・宣教師殿・久保の三人がそろって
Unix 系 OS でかちゃかちゃと作業してる光景は
ちょっと異様かもしれない.
- 1700 すぎに宣教師殿は西日本にもどる.
また来月なかごろに来るそうで.
- 夜になると空腹になって作業効率おちる.
お茶部屋雑談などなど.
- 空間構造ナシ版モデルについてはデータ解析行程の全自動化が
だいたいできたかな
……
2210 研究室発.
2220 帰宅.
体重 73.4kg.
- 晩飯.
寄生率ばて.
- [今日の素読]
-
歳末になっても安請け合いぎょーむの
借金が片づかなくて,
ですね
……
- [今日の運動]
- [今日の食卓]
- 朝 (0800):
パン.
コーヒー.
- 昼 (1240):
北大生協
クラーク館食堂.
ナイスウ=ラミアンなるラーメン.
酸味のあるスープ,
生協中華麺 (ここらではふつーの黄色・ちぢれ・太麺).
具がなかなか異常で
茹でアスパラガス・海藻類・スライスチーズ.
ラーメンと思わなければおいしくいただけるかも.
税込み 378 円.
508 Kcal.
塩 6.2g (スープ残したけど).
- 晩 (2240):
スパゲッティー.
レトルトパウチドものの
あやしげなるトマトソース.
2002 年 12 月 28 日 (土)
- 0840 起床.
朝飯.
コーヒー.
だらだら
……
ってだらだらしてる場合じゃない.
- ぢりぢりと寄生率問題にとりくむ.
うすぼんやりしてて重要ファイルをふっとばす.
バックアップから復元.
時間に換算して 30 分間の後退,
というところか.
- ふとこういう作業そのものが無意味だと気づいた.
空間構造に関して近傍探索をやりつついろいろな
パラメーターで重さ評価をやろうとしたんだが
……
今回のデータセットの特徴
-
せまい -- 30m x 30m
-
虫の住み場所である樹木個体はそんなに多くない
-- 100-200 本 x 5plots
からすると
……
そんな面倒なるアルゴリズムは不要という結論するのがまっとうだろう.
単純な総当たり方式を採用した場合の計算量はどうなるんだ,
と見積もると
……
距離計算の全合計は 27528 回.
たった 27528 回である.
いかに Perl + ThinkPad X20 であっても 10 秒もあれば計算できるだろう
(あとで実際にやってみたら 10 秒もかからなかった).
一回計算してしまえば,
計算設定を変更する場合を除き再計算の必要はない
……
脱力.
われながら阿呆阿呆だ.
時刻はすでに 1320.
時間浪費 3 時間以上.
えーい,
いいかげんなる昼飯の準備でもやって休憩するか.
- 脱力昼飯.
- 計算方法をよく考え直してから
1500 自宅発.
曇.
北 12 生協で買いものなどしてから
1520 研究室着.
- またコード書きをぢりぢりとススめる.
- 1830 ごろ香川大の小林さんがみえる.
低温研の隅田さんに呼びつけられたそうで.
この極寒の北海道にようこそ.
- お茶部屋に低温研の加藤さん・小野さんも見えていたので,
小林さん・私もふくめた 4 人で晩飯を食いに出る.
- 晩飯後にまた苫小牧宿題.
とりあえずの締め切りは明日.
このデータセットは大規模なわりには
……
それでも呪われゑくせる原因の呪われ欠落セルが
いろいろあったりして死にそうになる.
解析プログラム群と私が,
だ.
ということで,
データ管理にゑくせる使うのやめましょう.
- 日付変更時刻も突破.
空間構造計算はできてる.
これを密度計算とリンクさせて.
- とりあえず寄生率推定計算プログラムと連動させるところまではできた.
体力ぎれで撤退
……
2600 研究室発.
気温はすごく低下している.
また雪.
2620 帰宅.
- ばて.
明日は苫小牧まで行かねばならん.
道央回廊の冬期縦断して
札幌→苫小牧移動できる確率は高くないのかもしれない
……
なにしろ,
今日の夕方に雪中から
発掘
された小菅車に便乗せてもらうんで.
0700 出発予定.
さっさと寝なくては.
- [今日の食卓]
- 朝 (0900):
パンケイキ.
コーヒー.
- 昼 (1350):
スパゲッティー.
ハクサイ・タマネギ・トウガラシのスープ.
- 晩 (1900):
小林さん・小野さん・加藤さんたちと
朱蔵
で煮魚の定食食べる.
750 円.
2002 年 12 月 29 日 (日)
- 0620 起床.
ねむいねむい.
朝飯.
コーヒー.
0700 自宅発.
10 分間待ったが
小菅車
あらわれず.
いったん部屋にもどったけど電話もナシ.
また道路に出たらちょうど来てくれた.
- 長年の酷使ゆえに機械的信頼性が
いささかアヤしくなってしまった軽四駆にて,
無謀にも
道央回廊
の冬期縦断を敢行せん.
苫小牧にむけて 0715 自宅前発.
- 除雪によって車道-歩道間には高さ 2m 超の雪山が形成されており,
その背後に隠れている歩行者の発見は著しく困難である.
今日は降雪がなく晴れているんだが,
東方にむけて走ると低い太陽とその雪面乱反射によって
視界がはなはだしく制約される.
圧雪で舗装された路面での制動が剣呑であるのは言うまでもない.
- 国道 36 号線に沿って道央回廊を南下していくと,
移動距離は短いのに日本海側→太平洋側と転じるので,
目に見えて積雪量が減じる.
なるほど札幌から少し離れた
千歳に空港があるのは雪が比較的すくないためか.
0910 北大
苫小牧研究林
着.
小菅せんせー,
どうもありがとうございました.
なお,
小菅せんせーはこのあと研究林内某所に温度記録機を隠匿設置し,
苫小牧の悩める院生たちに的確なる学術アドヴァイスを行い,
小菅人脈をたよって
航空自衛隊千歳基地から北海道を超音速離脱する予定とのこと.
- さて苫小牧に来たのはいいが,
いまだに
-
空間構造ありモデルを
寄生率推定プログラムに渡す部分
-
20 秒ほどで自動作図される 150 枚超の
推定結果グラフを配列してみやすくする
HTML page 自動生成プログラム
ができてない.
あらかじめ「苫小牧でもしばらく作業時間ください」
なる泣き言メイルは送っておいたのだけど,
債権者もとい顧客である村上さんと M2 松田さんに,
とりあえず空間構造なしモデルのデモンストレイション
(ここで「目に見える」結果を出すのが重要なので
gqview
で結果グラフなど表示)
をやって心理的な時間かせぎ.
計算下請け商売における常套手段である.
- 院生も帰省して人口密度の減じた院生部屋の机を借りて
プログラミングを片づける.
1150 よーやく上述の未完成部分ができた.
あ,
もう昼飯時間かということで,
顧客お二人と昼飯.
飯を食うと体力回復.
- さーて
……
とりあえず元データから推定結果が出てくる
処理の部分とその結果をまず説明してみる.
で,
私自身もこのように配列された結果を見くらべるのは
初めてなんだけど,
どうも現時点では host 密度の
空間構造が寄生率推定の確率論的モデルに
うまく反映されていないような.
たいていの樹種 (というよりその樹種特異的な
leafminer 見ているわけだが) では
空間構造なしモデルのほうが最大化尤度が高い.
- まぁ,
そのへんは今後のモデリング試行錯誤でなやむことにして
……
村上さんから松田 PC でこれらの推定プログラム群
(in Perl)
が動かせないかやってみて,
とゆー注文.
で,
その間にご本人は子守に.
そういえば今日は日曜日だな
……
- 松田さんのノート PC には Active Perl 入っているんで,
これで動かせるはずなんだが
(私は Linux 上の Perl で開発)
……
元データ→空間構造モデル計算を動かす
第一のプログラムは動いた
(Perl モジュール
ToefLMP.pm
と連動しつつ).
しかしこれをパラメーター推定プログラムに渡すとコケる.
そうか,
逆行列計算に CPAN の
Math::MatrixReal
を使っていたんだった.
- 「わーい♪
今日はこの部屋だーれもいないや……」
と村上家長女もえちゃん (2.5 才ぐらい?)
がとても元気よく登場したんだけれど,
われわれを見つけてがっかり (目を伏せる)
→意気消沈 (口をつぐむ)
→絶望 (床にひざをつく)
……
これは私ばかりがとくに嫌われているというわけではなく
(たぶん),
見慣れぬオトナが近くにいるととても警戒してしまって
言葉などまったく発さなくなる,
というちょっと激しく人見知りな側面によるもので.
しかし,
しばらくして廊下でおとーさんに遊んでもらうと
ご機嫌うるわしくなったらしく,
難解なコトどもを
ひたすら活発かつ脈絡なくしゃべりまくっているのが聞こえてきたんで,
その言語操作能力に感銘うけた.
- ゐいんどうづ上の Active Perl の場合,
(ふつーはコンパイラーが入っていないので)
ppm なるツールで Active Perl 用 Perl モジュールをインストールする.
Active Perl サイトから .ppd ファイルとバイナリーファイルを
ダウンロード.
あれこれと苦労して,
最終的にはコマンドプロンプトから
ppm install /location c:\Math-MatrixReal Math-MatrixReal
とやるとインストールできた.
このときに
c:\x86
なるディレクトリを作っておき,
そこにバイナリーな部品
Math-MatrixReal.tar.gz
を入れておかねばならぬ.
- で,
ここまで苦労させられたんだが,
けっきょく推定プログラムは動かなかった.
インストールした
Math::MatrixReal
が古くて (1999 年版),
new
による初期化のやりかたが現在のものとは
異なっていたため.
いやはや.
- まぁ,
いずれにせよ苫小牧でのコード改造は難しいので
(まずは修士論文を来月末までに書かねばならぬことだし),
計算注文メイル→とりあえずの結果は web page で,
というリモート計算請負体制でやることに.
私が結果を HTML ペイジ化していた理由のひとつは,
実はこの方向にハナシをもっていくため.
とはいえ,
ここ研究林の回線があいかわらず ISDN であり,
その一本の線を数十人で使っているという
凄惨な状況を考えてないわけだが
……
- 本日の核心部.
ホワイトボードを使って,
寄生率の確率論的モデルの説明.
各個体独立の仮定
(これはいずれ overdispersion によって覆されることになるだろう).
観測データと尤度.
尤度の最大化.
1 パラメーターモデル.
ロジスティック関数による 2 パラメーターモデル.
AIC によるモデル選択.
空間構造モデル
……
と順序をよく考え説明技術を駆使してハナシを進める.
このあたりの概念は何としてでも
顧客の皆さんのアタマに深く浸透させないといけないところだ.
でないと計算商売などというものは
確実に失敗してしまうのである.
意味不明な計算をやってるプログラムを買う客など
いないのだから.
- 最後に,
この確率論的モデルの統計学的推定が
Perl コードによってどのように書かれているかの
概論的な説明.
- 1855 研究林発.
松田さんの車で送っていただく.
1910 国道 36 号線わき「操車場」バス停.
1911 の
札幌いき道南バス
は 5 分おくれで来る.
乗客 5 人ぐらいか?
道央自動車道に乗って北上.
2030 JR 札幌駅バスステイション着.
1270 円.
- 2050 帰宅.
なかなか疲れた.
- [今日の食卓]
- 朝 (0640):
パン.
コーヒー.
- 昼 (1230):
研究林ちかくの弁当屋「甚兵衛」
でかった「つぶめし弁当」(つぶ貝の炊きこみ飯)
660 円.
- 晩 (2210):
スパゲッティー.
ハクサイ・ニンジン・ブナシメジのクリームシチュー.
2002 年 12 月 30 日 (月)
- 1020 起床.
体力復旧.
朝飯.
コーヒー.
しかしだらだらと半日すごす.
- 1600 自宅発.
曇.
JR 札幌駅地下を通過して駅南に出る.
ATM で現金おろす.
本屋をふらふらとはしごして
1730 研究室着.
- うーむ,
仕事がすすまん.
- と,
なまけていたら講座の外向けサーヴァー
hosho
が不調になってしまいましたよ.
よりによってこんな歳末に,
というべきか,
ちょうど人も少なく締切も終わった段階で
助かったというべきか.
- この挙動不審の原因は
「ファイルシステム壊れている」
と特定できた.
このマシン,
あまりにも安定して動いてるんで,
もう半年以上も連続運転してるんだよなぁ
……
とリブートするついでに
e2fsck
でファイルシステムの点検と修復を行う.
かなり壊れている.
ということは
……
- とりあえずバックアップなど利用して
ほとんどの機能は復旧できた.
しかしながら,
ああやはりというべきか,
カーネルのどしどし発している警告から推定するに
これはハードディスクの円盤そのものが壊れてしまっているな.
やれやれ.
- さーて,
どうしたもんかと思いつつ
2230 研究室発.
すでに診断と復旧に数時間を費していたのか.
2245 帰宅.
体重 73.2kg.
- 晩飯食いつつ
hosho
はやはりハードディスクドライヴごと交換せんといかんだろうなぁ,
と考える.
しかし大学生協は来週まで開かないし.
- [今日の素読]
- [今日の運動]
- [今日の食卓]
- 朝 (1050):
米麦 0.6 合.
ハクサイ・ニンジン・ブナシメジのクリームシチュー.
- 昼 (1330):
米麦 0.6 合.
ハクサイ・ニンジン・ブナシメジのクリームシチュー.
- 晩 (2300):
スパゲッティー.
レトルトパウチドもののカレー.
2002 年 12 月 31 日 (火)
- 0840 起床.
朝飯.
コーヒー.
0930 自宅発.
曇.
0940 研究室着.
- やはり
hosho
のメインのハードディスク壊れてるな.
このまま越年するのも気色わるいので
抜本的に修繕することに.
すなわち固定円盤の交換である.
- さいわい北大前の
PC 工房札幌店
は年中無休とゆーことらしいんで,
部品調達にいく.
てんしょん高いマニアックな店員氏のススめる流体軸受
5400rpm 40GB IDE ハードディスクドライヴ
(HDD)
Maxtor (MX) 2F040L0
にしますかね.
税込み 8904 円.
安くなった,
というべきなんだろうな
……
さて,
これを公費で買いたいんだけど私は
なぜか北大の身分証明書のたぐいを持っていなくて
(なぜだろう?)
運転免許証でかんべんしてもらう.
いやはや.
- 講座の対外サーヴァー
hosho
はぼろぼろになりながらもいまだに
Web/FTP サーヴァーとしては機能してるので,
がんばれと激励してそのまま放置.
お茶部屋計算機
soryu
を解体して HDD を取り外す.
買ってきたやつをはめて
Vine Linux のインストール.
- 猜疑心が強くなっているので,
フォーマットするまえに bad block の完全検査をおこなう.
40GB もある円盤を子細に点検するのに
1 時間ちかくも要した.
Vine Linux 2.6r のインストールそのものは
15 分ほどで終了.
- 1145 動いていた
hosho
止めて HDD を交換する.
ここからが細心の注意を必要とする
サーヴァー設定ファイルの復元だ.
失敗したらまた Linux インストールからやりなおし.
- あ,
しまった
/etc/lilo.conf
まで書き換えてしまった
……
ということで,
どうせなら Linux カーネルも交換するかということで
最新の
linux-2.4.20
をダウンロードしてきて
hosho
用に設定・コンパイル.
1330 ごろには新カーネルで新 (正確には新々)
hosho
としてネットにつながっていた.
ハードウェアは死に OS はどんどん更新されていっても
hosho
のタマシイはそのまま継承されていく,
というかんぢで.
- 計算機を商売道具とする人間にとって,
ハードウェアの破滅はまったく日常的なことだ.
それゆえにシステム機能とデータを迅速に復旧できる手はずを
普段から整えているのである.
- これで気をつけないといけない作業は終了か,
ということで個人ユーザーたちのデータを
毎日自動的にとっているバックアップから復元.
ところがこの作業がじつに遅い.
原因はおそらくファイルシステム.
いつも使っている素朴な
ext2
を今回はなんとなくやめてしまって,
ぢゃーなりんぐな
ext3
にしてしまった.
これって読み書きがすごーくのろい
……
このろくでもないジャーナリングファイルシステムの解説は
これ
とか.
- 待ち時間にわびしい昼飯.
塩寺さんがインドネシア調査ならぬ
研究打ち合せから無事にもどってくる.
- 復旧した全員のファイルの合計は 4.4GB にすぎないんだが
(大半は web page ではなく個人バックアップファイル),
ext3
な /home/
に書き込むのに 30 分以上かかった.
いやはや.
ともあれ,
web server としてファイル供給などする機能は回復した.
- 待ち時間を利用して,
壊れ HDD を部分的に再利用できないものかと,
soryu
に突っ込んでみて mke2fs -c
で診断してみる.
これまた時間がかかる.
ああ,
しかしぎゃりぎゃりとイヤな異音を発しているんでダメだろうな.
- 異音といえば
hosho
の CPU ファンもしゃりしゃりとヘンな雑音をだす.
外して点検しようとしたんだけど CPU (AMD 800MHz)
から離れやがらん.
えーい,
あとまわしだ.
- バックアッププログラム (in Perl) の改善.
いままで前日・前々日までバックアップまで残すようにしてたけど,
さらにその前の日まで残すようにした.
新しく買った 40GB のうち 17GB をバックアップ領域にするんで.
「それってドライヴ壊れたら共倒れぢゃん」
という指摘はそのとーりなんだけど,
こういう円盤はいきなり全損するわけでなく,
たいていはまず部分的に壊れるものだ
(今回もそうだった).
ということで,
こういうふうに冗長性を高めておくのは気休め以上の
御利益を期待してよいだろう.
- Web server プログラム
Apache
の設定ファイルだが
……
なぜかこれが旧に復していないので,
手動でなおす.
えーと,
個人ユーザーディレクトリで CGI 使ってヨシ許可だすには
/etc/httpd/conf/http.conf
において
AddHandler
で .cgi
サフィックスを認識させて,
Directory /
内で ExecCGI
をオプションにつける,
と.
- メイルサーヴァー
qmail
の復旧.
これは避難させておいた
/var/qmail
を戻して
……
あ,
tcpserver
をとっとくのを忘れていた.
またダウンロードしてコンパイル.
これはすぐに終わった.
- メイリングリストサーヴァー
hosho
としての機能を試験するために,
テストメイルだしてみる.
うまくいったけど
……
もう 2000 すぎか.
うーむ,
HDD 交換に一日を費してしまった.
かとー先生がやってたら,
もっと早く片づいたのではなかろーか.
- そして旧 HDD 20GB は完全に崩壊していて再利用不可能と確認.
まぁご苦労さまでした,
ということで.
- 大晦日は計算機仕事だけで終わって
2020 研究室発.
げ,
北 12 生協は早じまいしてる.
2500 まで開店してる「ひろた」
で野菜とか買って
2040 帰宅.
- 晩飯食ってでれでれして,
「ぎょーむ日誌」
なんぞ書いてると今年も残り 30 分ほど.
なんかばたばたした年末だったなあ.
運動不足だ.
- [今日の食卓]
- 朝 (0850):
パン.
コーヒー.
- 昼 (1430):
パン.
コーヒー.
- 晩 (2130):
米麦 0.8 合.
ニラ・卵の炒飯.