楼主: 治感冒
3112 7

版大和高手帮忙看这个MLE的AP(1)的估计,不大明白 [推广有奖]

  • 1关注
  • 1粉丝

博士生

82%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0036
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
341 点
帖子
178
精华
0
在线时间
452 小时
注册时间
2007-3-9
最后登录
2020-1-8

楼主
治感冒 发表于 2009-10-19 12:24:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
/* Model: y_t=phi_0+phi_1*y_t-1+e_t, e_t~iidn(0, sig2) 独立正态分布 */ /* abs(phi_1)<1, sig2>0 */ new;cls; library optmum; @============== data generating =================@ t=1000; phi_0=2; phi_1=0.8; sig2 = 10; ymat=zeros(t,1); ymat[1]=rndn(1,1)*sqrt(sig2/(1-(phi_1)^2))+(phi_0/(1-phi_1)); itr=2; do until itr>t; ymat[itr]=phi_0+phi_1*ymat[itr-1]+rndn(1,1)*sqrt(sig2); itr=itr+1; endo; @============ Estimation by MLE =================@ prmtr_in=0.5|0.75|ln(10.5); {xout, fout, cout, gout}=optmum(&lik_f, prmtr_in); prm_fnl=trans(xout); cov=inv(hessp(&lik_f, xout)); grad=gradfd(&trans, xout); cov_fnl=grad*cov*grad'; stde=sqrt(diag(cov_fnl)); t_val=prm_fnl./stde; @=============output ==========================@ output file=mle.out reset; "================="; "The initial values are";;prmtr_in'; "Likelihood Values";;-fout; "Estimated parameters before trans are";;xout'; "Estimated parameters after trans are";;prm_fnl'; "T-values are";;t_val'; "================="; end; @====== Procedures: Log likelihood function set up=====@ proc lik_f(prmtr0); local prmtr, phi_0, phi_1, ssig2, lnl, itr, et, lnf; prmtr=trans(prmtr0); phi_0=prmtr[1]; phi_1=prmtr[2]; ssig2=prmtr[3]; lnl=0; itr=2; do until itr>t; et=ymat[itr]-phi_0-phi_1*ymat[itr-1]; (回归残差) lnf=-0.5*ln(2*pi*ssig2)-0.5*((et^2)/ssig2); (定义似然函数) lnl=lnl+lnf; itr=itr+1; endo; retp(-lnl); endp; @====== Procedures: constraining the parameters =======@ proc trans(prmtr1); local prmtr; prmtr=prmtr1; prmtr[2]=prmtr1[2]/(1+abs(prmtr1[2])); prmtr[3]=exp(prmtr1[3]); retp(prmtr); endp;


版主,有些地方看不懂啊。上面是你给的MLE估计的资料,非常感谢!!但是,你能不能来解释下?

proc lik_f(prmtr0)这句的prmtr0是哪来的啊?把prmtr0传递给trans?还有最后的那个trans的自定义函数是什么意思?在定义似然函数时,把trans返回的值又赋给了估计系数和方差(方差是我猜的,据似然函数的形式)?没看明白

还有optmum返回值是都是什么意义?没有对optmum的解释的资料。。。,那个模块的东西一个也不明白。还有prmtr_in的初值是任意赋的吗??

主要是optmum和trans这两块看不明白。希望版大或者版里的高手帮小弟解释下。初学者。。。
二维码

扫码加我 拉你入群

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

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

关键词:MLE parameters Procedures Likelihood Estimation 高手 帮忙 MLE

沙发
zhaomn200145 发表于 2009-10-19 15:42:44
对optmum程序包没怎么研究过........

藤椅
治感冒 发表于 2009-10-19 16:10:51
2# zhaomn200145


那反正也不是关键吧,只要知道optmum返回值是什么意思就OK 吧。。。。能解释下其它的问题吗?看不太懂,想改成自己的不好下手。

板凳
xuelida 在职认证  发表于 2009-10-19 21:01:21
首先初始值你可以自己定,或者用ols方法估计。
trans转换,你可以参考这两个语句,分别看一下这两个语句的输出结果,你就能看出不同了
"Estimated parameters before trans are";;xout';
"Estimated parameters after trans are";;prm_fnl';

报纸
治感冒 发表于 2009-10-19 22:24:24
xuelida 发表于 2009-10-19 21:01
首先初始值你可以自己定,或者用ols方法估计。
trans转换,你可以参考这两个语句,分别看一下这两个语句的输出结果,你就能看出不同了
"Estimated parameters before trans are";;xout';
"Estimated parameters after trans are";;prm_fnl';
谢谢了,不过更糊涂了......

没有trans也可以估计出结果?似然函数不是调用了trans么?那为什么要trans这个函数对参数进行修正啊?基于什么原因啊?你那个后面的AR(2)也有trans。

还有prmtr0怎么来的,麻烦解释下吧。谢谢了!

地板
治感冒 发表于 2009-10-19 22:24:38
xuelida 发表于 2009-10-19 21:01
首先初始值你可以自己定,或者用ols方法估计。
trans转换,你可以参考这两个语句,分别看一下这两个语句的输出结果,你就能看出不同了
"Estimated parameters before trans are";;xout';
"Estimated parameters after trans are";;prm_fnl';
谢谢了,不过更糊涂了......

没有trans也可以估计出结果?似然函数不是调用了trans么?那为什么要trans这个函数对参数进行修正啊?基于什么原因啊?你那个后面的AR(2)也有trans。

还有prmtr0怎么来的,麻烦解释下吧。谢谢了!

7
治感冒 发表于 2009-10-19 22:49:51
网络出问题了,发了两次,不好意思。

其实我是不明白那个trans在整个估计的作用。xout是MLE估计的结果,为什么要用trans修正?这个思想是什么?

8
xuelida 在职认证  发表于 2009-10-20 01:15:22
你看看ar的mle估计的原理,相应的参数求解。这里xout估计的1和2,即prmtr=prmtr1; prmtr[2]=prmtr1[2]/(1+abs(prmtr1[2]));和after trans 估计的结果应该一样的。而3不一样,这是因为在初始值里给出的对数值,xout估计的也是对数值,因此用trans进行转换。

优化的初始值你可以根据所研究的相关问题自己定,或者用ols方法估计。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 15:14