Math::MatrixReal
(version 1.8)
の性質を調べる.
こいつのリファレンスは
[ 無名行列のリファレンス, raw 数, column 数]
として保持されている.
logistic.pm
書いてそのテストドライヴァーも書く.
う.
やはり,というか計算してくれん.
時刻は 1020.
[標本数 100 の場合]
赤線がホントの曲線で, 青線たちがそれぞれ独立同分布な二項試行の標本から 最尤推定されたもの. 標本は [-5, 5] に等間隔に配置されてる (ひじょーに理想化された標本). けっこうばらつくようだ, ということで. 憶測するに「両端」におけるふらつきに 敏感なんだろうな. |
./test_logistic.pl 0: log_likelihood = -6.9315e+01, parameters = 0.00e+00 0.00e+00 1: log_likelihood = -3.5367e+01, parameters = 1.32e-02 5.35e-01 2: log_likelihood = -3.0535e+01, parameters = 3.38e-02 8.33e-01 3: log_likelihood = -2.9666e+01, parameters = 4.98e-02 1.02e+00 4: log_likelihood = -2.9614e+01, parameters = 5.50e-02 1.08e+00 5: log_likelihood = -2.9613e+01, parameters = 5.54e-02 1.09e+00 6: log_likelihood = -2.9613e+01, parameters = 5.54e-02 1.09e+00 真の値 = (0, 1)
use logistic
でお手軽に最尤推定できるよーになった.
事象の生起する確率
Prob = 1/(1+exp(-Z))
(これは上の図みたいな曲線),
この Z
は
Z =
b0 x0
+ b1 x1
+ b2 x2
+ …
+ bi xi
+ …
とゆー線形の式であればどんなものでもよい
(上の図は Z = b0 + b1 x
).
logistic.pm
の入出力を手直ししたり対数尤度を計算させるようにしたり.
ところで,
このモジュールってあの面倒な
MacJPerl
で動くんだろうか?
binset.pm
なる二進数を取り扱う Perl モジュールを作ってその試験運転終了.
./test_binset.pl 0 0 0 0 0 (total: 0) 0 0 0 0 1 (total: 1) 0 0 0 1 0 (total: 1) 0 0 0 1 1 (total: 2) 0 0 1 0 0 (total: 1) 0 0 1 0 1 (total: 2) 0 0 1 1 0 (total: 2) 0 0 1 1 1 (total: 3) 0 1 0 0 0 (total: 1) ...
{{1, 3, 5}, 2, 4}
とかいうのだけならいいけど
{{1, 3}, {2, 4}, 5}
ってのもありうるからなぁ.
うーむ.
時刻は 1600.