全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Gauss专版
5195 16
2011-05-25
版主各位同学好!
我自己编了一个极大似然估计的程序估计仅有一个截距的方程(yi=ci+ui),如下:
new;
library optmum,PGRAPH;
load y[10,1]=data.txt;
T=rows(y);
START=1;
PRMTR_IN={0.0044  1};
PRMTR_IN=PRMTR_IN';
{xout,fout,gout,cout}=optmum(&lik,PRMTR_in);
"likelihood value is ";
fout;
"Estimated parameters are:";
xout';

proc LIK(PRMTR1);
local prmtr,sigma, C, L,FORC, likv, J_ITER,lik;
PRMTR=PRMTR1;
sigma=PRMTR[1,.];
C= PRMTR[2,.];
LIKV=0.0;
J_ITER=1;
do until J_ITER>T;
Forc=y[J_ITER,1]-C;
L=(1/SQRT(2*PI*sigma))*EXP((-0.5*FORC*FORC/sigma));
LIK=LN(L);
LIKV = LIKV+LIK;
J_ITER = J_ITER+1;
endo;
retp(LIKV);
endp;

数据:
1
1.1
1
1.2
0.9
1
1.05
1
1.04
1

但是,最终结果为:
likelihood value is
-339.45805 -  15.70796i
Estimated parameters are:
-48617429108370469000000000000.00000 -1515226650922.38280

为什么参数会如此大呢,从数据可以看出应该是(0.0044  1)附近。
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-25 20:32:44
你这个方程没有自变量,应该不算是函数吧,我估计是你方程设定的问题!
如果加上X,就应该没什么问题了。
个人见解,不见得对
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-25 22:11:16
2# zhangtao
谢谢!
其实这个小程序是hamilton 1989程序的极其简化版(我认为的哈),没有state variable,没有transition probability,涉及到的只是univariable,那个数列就相当于输入,输出包括对方差和均值的估计。
但不知道哪里简化的不对,请指教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-25 23:58:49
弄明白了:
应该是sigma=prmtr[1,.]^2;
这样就可以保证方差大于零,结果就对了。
而且optmum算的是最小值,要注意极大似然的取法,谢谢各位!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-26 09:14:45
ERROR:  function cannot be computed at initial parameter values
likelihood value is
            -INF
Estimated parameters are:
    0.0044000000        1.0000000
我觉得结果还是有问题,但是找不到问题,
估计得看看hamilton的原程序。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-26 09:21:48
我觉得如果真是要做练习的话,可以试着自己编这个极大似然估计的程序,仅仅是去调用optmum程序包对提高自己的编程能力和理解极大似然估计方法都没有什么帮助。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群