これは、ポアソン分布のラムダパラメーターのML推定量を比較するためのテストです。
with(data.frame(x=rpois(2000, 1.5), i=LETTERS[1:20]),
cbind(cf=tapply(x, i, mean),
iter=optim(rep(1, length(levels(i))), function(par)
-sum(x * log(par[i]) - par[i]), method='BFGS')$par))
最初の列は閉形式の解から得られたML推定器(参照用)を示し、2番目の列はBFGS法を使用して対数尤度関数を最大化することによって得られたML推定器を示しています。結果:
cf iter
A 1.38 1.380054
B 1.61 1.609101
C 1.49 1.490903
D 1.47 1.468520
E 1.57 1.569831
F 1.63 1.630244
G 1.33 1.330469
H 1.63 1.630244
I 1.27 1.270003
J 1.64 1.641064
K 1.58 1.579308
L 1.54 1.540839
M 1.49 1.490903
N 1.50 1.501168
O 1.69 1.689926
P 1.52 1.520876
Q 1.48 1.479891
R 1.64 1.641064
S 1.46 1.459310
T 1.57 1.569831
反復最適化手法で得られた推定量は、正しい値からかなり外れる可能性があることがわかります。これは予想されることですか、それともより良い近似を生成する別の(多次元)最適化手法がありますか?