楼主: 杨花点点
12208 14

[问答] 【求助统计牛人】如何用R做HMM模型选择? [推广有奖]

11
杨花点点 发表于 2011-5-16 19:15:00
2#  
太谢谢你了……我要被论文急哭的时候遇到了牛人兼好人……我已经去问管理员这个悬赏帖到底是怎么回事了。。。


但看了你给我的EM notes,我又有问题了……

为什么要 take the N’th state to be a special state, the final or stop state呢?
而且Emission Prob Matrix不是N行M列行和为1么,为什么参数个数的第三项不是(M-1)*N,而是(N-1)*M呢?


然后我可以不 take the N’th state to be a special state么?这样的话是否可以这样确定参数个数:
1)Transition Prob Matrix中行和为1,故每行有( N – 1 )个自由参数,N行共有N ( N – 1 )个自由参数

2)Emission Prob Matrix中行和为1,故每行有( M – 1 )个自由参数,N行共有N ( M – 1 )个自由参数

3)Initial Prob Vector中各元素之和为1,故有( N – 1 )个自由参数


最后 Number of parameters = N ( N – 1 ) + N ( M – 1 ) + ( N – 1 ) 。。。。。。

12
杨花点点 发表于 2011-5-16 19:16:14
2# epoh

太谢谢你了……我要被论文急哭的时候遇到了牛人兼好人……我已经去问管理员这个悬赏帖到底是怎么回事了。。。


但看了你给我的EM notes,我又有问题了……

为什么要 take the N’th state to be a special state, the final or stop state呢?
而且Emission Prob Matrix不是N行M列行和为1么,为什么参数个数的第三项不是(M-1)*N,而是(N-1)*M呢?


然后我可以不 take the N’th state to be a special state么?这样的话是否可以这样确定参数个数:
1)Transition Prob Matrix中行和为1,故每行有( N – 1 )个自由参数,N行共有N ( N – 1 )个自由参数

2)Emission Prob Matrix中行和为1,故每行有( M – 1 )个自由参数,N行共有N ( M – 1 )个自由参数

3)Initial Prob Vector中各元素之和为1,故有( N – 1 )个自由参数


最后 Number of parameters = N ( N – 1 ) + N ( M – 1 ) + ( N – 1 ) 。。。。。。

13
epoh 发表于 2011-5-16 20:00:53
你只要看底下对parameters的解释 :
Theta is a vector of parameters.
It contains "THREE" types of parameters:
  -pi
  -a(j,k)
  -bj(o)  

及对应的数据,这样比较容易理解
pi1 = 1.0,  pi2 =0,  pi3 = 0
b1(e) = b1(f) = 0.5, b1(g) = b1(h) = 0
b2(e) = b2(f) = 0,    b2(g) = b2(h) = 0.5
a(1,2) = 1.0, a(1,1) =0, a(1,3) = 0
a(2,3) = 1.0, a(2,1) =0, a(2,2) = 0

14
杨花点点 发表于 2011-5-16 20:28:58
13# epoh

好像有点明白了……琢磨中……谢谢学长(应该是学长吧呵呵)~~ o(∩_∩)o

还是请你随便传一个100币的附件上来吧~我这么弱,你还不厌其烦地帮我解答,这是应得的,不然我很不好意思……

15
epoh 发表于 2011-5-20 18:52:00
忘了告诉楼主
matlab Econometrics Toolbox
有个function aicbic()可以帮你算
Definitions:
The AIC statistic is :
   AIC = (–2*LLF) + (2*NumParams).

The BIC statistic is:
   BIC = (–2*LLF) + (NumParams * log(NumObs)).

[AIC,BIC] = aicbic(LLF,NumParams,NumObs)

沿上例
LLF = -454.1974
NumParams= 6     %2+(2-1)*2+(2-1)*2 =6
NumObs=800

[AIC,BIC] = aicbic(LLF,NumParams,NumObs)

AIC = 920.3948
BIC = 948.5025
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 很好建议

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 02:57