誰か検算してくれ、と書いたが、よく考えればMathematicaに検算させればいいんじゃないか。
俺はどうも数式で展開するのが苦手で、実際に数字を一つずつ見ていかないと納得できないのだけど、おかげで計算プロセスを電卓で追いかけることが出来るのだ。
面倒な手続きではあるが、一つずつ計算してみると、自分のプログラムと近いようでずれているところがあったりする。
やっぱり精度の問題みたいだ。
Mathematicaで計算すると、イコール・ゼロになるべき数値が、-0.01235と出た。うむむむぅー、これはどうやら正解っぽいですぞ。となると、自分のソフトの精度問題だなぁ。
問題は二変数正規分布のCDFの精度のようです。まぁこれの精度の上げ方は、原典に書いてあったからなんとかなるかも。参考になりそうな本もわかったし(Mathematicaのヘルプで出てきた)。
こういうかすかな光に導かれて、やる気を出しちゃうんだよな。
余談ですが、フリーの数値計算ソフトとして有名なMaximaやOctaveには、多変量正規分布関数のCDFを求めるような関数は用意されていないみたいだ。いや、探し出せてないだけかもしれないけど、ヘルプ等々が十分でないといういみではやっぱりこれらのソフトはまだまだ、で。Mathematicaってすげぇなぁ。お金があったら、新しいバージョンを買いたいです。