我是Gauss的新手,
最近在研究怎麼把Maxlik改成Optmum
library maxlik; (改成library optmum;)
#include maxlik.ext (改成#include optmum.ext)
maxset; (改成optset;)
z0 = {
8.3 1,
10.3 2,
19.0 3,
16.0 4,
15.6 5,
19.8 7 };
proc lnlk(b,z);
local dev,s2;
dev = z[.,1] - b[1]*(1 - exp(-b[2]*z[.,2]));
s2 = dev'dev/rows(dev);
retp(lnpdfmvn(dev,s2));
endp;
proc grd(b,z);
local dev,s2,m,r;
r = exp(-b[2]*z[.,2]);
m = 1 - r;
dev = z[.,1] - b[1]*m;
s2 = dev'dev/rows(dev);
dev = dev / s2;
retp((dev.*m)~(b[1]*dev.*z0[.,2].* r));
endp;
start = { 20, .24 };
output file = maxlik10.out reset;
_max_GradProc = &grd;
_max_Options = { newton };
call maxprt(maxlik(z0,0,&lnlk,start)); (改成call optprt(optmum(&lnlk,start));
output off;
跑出來卻出現
c:\gauss6.0\src\optutil.src(136):error G0159: Wrong number of parameters
麻煩Gauss高手幫我看看為什麼參數會出錯
非常感謝大家!