全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4011 1
2012-06-22
最近在搞这个混合模型,需要一个EM算法下的对数正态分布的程序,于是自己试了试,但是不行,会出现
Erreur : indice hors limites
出现这个提示是因为
  for (k in 1:2)  {     
         pY[,k] <- p[k]*dlnorm(x,meanlog=m[k],sdlog=s[k])/denom
         E[k] <- sum(pY[,k])
       p[k] <- E[k]/n
         xck <-as.matrix(log(x))
       m[k] <- pY[,k]%*%xck/E[k]         
         xck[,k] <- xck[,k] - mu[k]
         s[k]<- (t(matrix(pY[,k],n,1)*xck)%*%xck)/E[k]         
      }
这一步中xck是149*1,但是我在后面的程序中犯傻,给xck第二列数值,所以出现最上面的警示

Erreur dans while ((kiter < MaxIter) & (err > epsilon)) { :
  valeur manquante là où TRUE / FALSE est requis
在之后的程序运行中,出现这个提示,是因为给定的初始值太大或者太小,导致程序无法计算
当我调整初始值大小时,可以解决这个问题
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-31 16:19:14
这个是触到上限值了。
修改小一点就OK!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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