为什么我在这次gamlss电话中获得NA的sigma?

时间:2017-08-18 14:24:51

标签: r

Michael Barton询问以下问题有关Cross Validated和被拒绝的问题,因为它被认为是一个计算机问题。无论如何,我个人认为这个问题很有意思,我想知道它是否可以在这里得到解答。

原帖是here

  

我正在调用一个gamlss模型:

gamlss(formula = image_name + random(biological_source_name) - 1,
       sigma.formula = biological_source_name - 1,
       family = "NBI",
       data = na.omit(data))
     

经过三次迭代后,我收到一个错误:

     
GAMLSS-RS iteration 1: Global Deviance = 3814 
GAMLSS-RS iteration 2: Global Deviance = 7760
GAMLSS-RS iteration 3: Global Deviance = 7756

In digamma(y + (1/sigma)) : NaNs produced
In digamma(1/sigma) : NaNs produced
In digamma(y + (1/sigma)) : NaNs produced
In digamma(1/sigma) : NaNs produced
Error in glim.fit(f = sigma.object, X = sigma.X, y = y, w = w, fv = sigma,  : 
  NA's in the working vector or weights for parameter sigma
     

这对我来说是一些估计的sigma   分类预测因子会变为0.这是正确的吗?

     

有关如何解决这个问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

我就这个问题与作者联系。问题是负二项式只能模拟色散,而我的数据包含不同因变量组之间的欠分散和过分散输出变量。这导致sigma的错误变为0。

  

问题可能是数据不足。和西格玛变为零,衍生物产生NA。   尝试在此特定数据集中拟合双Poisson DPO()。

根据其中一位作者的建议,双泊松等分布允许拟合,因为标准偏差可以建模为大于或小于平均值。当使用这个发行版时,这解决了我的上述问题,我能够适应模型。

gamlss(formula = metric ~ image_name + random(biological_source_name) - 1,
   sigma.formula = ~ biological_source_name - 1,
   family = "DPO",
   data = na.omit(data))

请注意在上面的示例中使用DPO