楼主: 苏攀攀
3072 3

matlab在HMM预测疾病流行状态时大数的阶乘问题 [推广有奖]

  • 0关注
  • 1粉丝

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
228 点
帖子
43
精华
0
在线时间
41 小时
注册时间
2009-6-1
最后登录
2010-5-18

楼主
苏攀攀 发表于 2010-3-25 13:49:04 |AI写论文
5论坛币
拟解决的问题:建立隐马尔科夫模型,根据发病数预测疾病的流行状态,发病数这个观测在流行与未流行状态下产生的概率服从poisson分布,matlab程序如下:
j=0:10                                                                  # j 为观测值,即发病数
A1=(5.^j) *exp(-1.7)
B1=factorial(j)
p1=A.1/B1                                                          #p1:未流行状态下发病数的概率                                                      
j=0:10
A2=(15.^j) *exp(-4.8)
B2=factorial(j)
p2=A2./B2                                                           #p2:流行状态下发病数的概率   
tr = [0.8874,0.1126;
0.4677,0.5323];                                                  #tr:两个状态的转移概率
e = [p;p2;];                                                            #e:两个状态下发病数的概率
seq = hmmgenerate(100,tr,e);                       
[estTR, estE] = hmmtrain(seq,tr,e);
estimatedStates = hmmviterbi(seq,tr,e);
pStates =  hmmdecode(seq, tr, e)                  #分别产生观测序列、参数估计值和状态序列

现在的问题是,j 即发病数很大,在700-3000左右,这样j的阶乘B就很大,在matlab中就不能显示,为“INF”,P 就为0了,之后的参数估计值和状态序列这些就没有意义了。但实际上在几百万人中发生千多的病例,应该也算是poisson分布,我现在就不知道应该怎么处理这种观测值 j 很大matlab给不出结果的情形呢?是数据可以在怎么转化或者分布出问题了,还是程序有其他写法呢?
本人是学生,非常希望再次得到大家的帮助,谢谢!

关键词:MATLAB atlab matla Lab Atl MATLAB 疾病 大数 HMM 阶乘

沙发
shuihaoliu 发表于 2010-3-25 14:01:48
有个matlab专业论坛你可以去看一下,我是学计算机的,你的数据处理好象有问题,当染是个人观点
男儿本色

藤椅
苏攀攀 发表于 2010-3-25 14:30:29
which forum?国外的还是国内的啊?可否把网址发一下呢?谢谢

板凳
gssdzc 在职认证  发表于 2010-3-25 23:02:35
我喜欢去matlab中文论坛
http://www.ilovematlab.cn

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

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