我正在尝试运行 ZIP 和 ZINB 模型来尝试研究一些可能有助于解释 8 个地理区域内疾病 (orf) 分布的因素。这些模型适用于某些地区,但不适用于其他地区。然而,在 R 中分解和运行模型时,我收到错误消息。
我该如何解决这个问题,或者是否有一个模型可以更好地处理该子集,因为只有当所有区域都统一时,分析才有意义。
zinb3 = zeroinfl(Cases2012 ~ Precip+ Altitude +factor(Breed)+ factor(Farming.Practise)+factor(Lambing.Management)+ factor(Thistles) ,data=orf3, dist="negbin",link="logit")
Error in solve.default(as.matrix(fit$hessian)) :
system is computationally singular: reciprocal condition number = 2.99934e-24
Results after fitting zerotrunc & glm as suggested by @Achim Zeileis. How do i interprete zerotruc output given that no p values. Also how can I correct the error with glm?
zerotrunc(Cases2012 ~ Flock2012+Stocking.Density2012+ Precip+ Altitude +factor(Breed)+ factor(Farming.Practise)+factor(Lambing.Management)+ factor(Thistles),data=orf1, subset = Cases2012> 0)
Call:
zerotrunc(formula = Cases2012 ~ Flock2012 + Stocking.Density2012 + Precip + Altitude +
factor(Breed) + factor(Farming.Practise) + factor(Lambing.Management) + factor(Thistles),
data = orf1, subset = Cases2012 > 0)
Coefficients (truncated poisson with log link):
(Intercept) Flock2012 Stocking.Density2012
14.1427130 -0.0001318 -0.0871504
Precip Altitude factor(Breed)2
-0.1467075 -0.0115919 -3.2138767
factor(Farming.Practise)2 factor(Lambing.Management)2 factor(Thistles)3
1.3699477 -2.9790725 2.0403543
factor(Thistles)4
0.8685876
glm(factor(Cases2012 ~ 0) ~ Precip+ Altitude +factor(Breed)+ factor(Farming.Practise)+factor(Lambing.Management)+ factor(Thistles) +Flock2012+Stocking.Density2012 ,data=orf1, family = binomial)
Error in unique.default(x, nmax = nmax) :
unique() applies only to vectors
最佳答案
根据所提供的信息很难确切地说出发生了什么。但是,我怀疑某些地区的数据不允许符合指定的模型。例如,可能在某些区域中,某些因子水平(“品种”或“农业”、“实践”、“兰宾”、“管理”或“蓟马”)仅具有零值(或仅非零值,但在实践中不太常见)。那么系数估计通常会退化,导致相关的零膨胀概率变为 1,并且无法估计计数系数。
使用障碍而不是零通胀模型通常更容易区分这些影响。那么模型的两部分也可以分别通过 glm(factor(y > 0) ~ ..., ..., family = binomial)
进行拟合和zerotrunc(y ~ ..., ..., subset = y > 0)
。后一个函数本质上与 pscl
的代码相同。使用但已被分解为包 countreg 中的独立函数在 R-Forge 上(尚未在 CRAN 上)。
关于r - ZIP 和 ZINB 模型在对数据进行子集化和分解时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31631690/