[問題] 關於fminsearch和fminunc的問題已回收
我想要用maximun likelihood的方式,估計binomial distribution的參數
因此,我寫了一個function,如下:
function [ll]=nllgen(par,y,n)
pl=par(1);
ph=par(2);
yl=y(1);
yh=y(2);
nl=n(1);
nh=n(2);
ll= -(yl*log(pl)+(nl-yl)*log(1-pl)+yh*log(ph)+(nh-yh)*log(1-ph));
現在已知y和n,我要估計p1和p2
我用fminsearch做出的解法如下:
y=[6 7]
n=[20 13]
[x, fval, exitflag, output]=fminsearch(@(par) nllgen(par,y,n),[0.5 0.5])
得到結果par=[0.3000 0.5384]
fval = 21.1897
此結果與書上的結果相符合!所以應該是正確寫法。
但是,因為fminsearch不能求得hessian矩陣,我查過網路,好像
fminunc可以求得,我就嘗試了以下作法:
y=[6 7]
n=[20 13]
[x,fval,exitflag,output,grad,hessian]=fminunc(@(par) nllgen(par,y,n),[0.5
0.5])
然而,雖然有跑出結果,但是此結果與前面的作法跑出結果大不相同
得到par= 1.0e+006 *
-3.2488 -0.8968
且fval估出的結果也很奇怪。
照理說運用兩種方法,應該得到結果是相類似的,但是不知道為什麼結果差這麼多。
所以代表,我的fminunc方法可能有使用錯誤!
想請問各位,在這樣的情形之下,我必須要求得hessian 矩陣,
要怎麼正確的使用fminunc這個function?
謝謝各位!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.132.48
※ 編輯: fredyang 來自: 114.35.132.48 (01/20 20:01)
※ 編輯: fredyang 來自: 114.35.132.48 (01/20 20:31)
※ 編輯: fredyang 來自: 114.35.132.48 (01/20 20:31)
※ 編輯: fredyang 來自: 114.35.132.48 (01/20 20:32)
推
01/20 21:21, , 1F
01/20 21:21, 1F
→
01/20 21:32, , 2F
01/20 21:32, 2F
→
01/20 21:54, , 3F
01/20 21:54, 3F
推
01/21 11:56, , 4F
01/21 11:56, 4F
→
01/21 11:57, , 5F
01/21 11:57, 5F
→
01/21 12:11, , 6F
01/21 12:11, 6F
推
01/21 12:38, , 7F
01/21 12:38, 7F
→
01/21 12:39, , 8F
01/21 12:39, 8F
→
01/21 12:39, , 9F
01/21 12:39, 9F