[R] R Error: System is computationally singular

Marc Schwartz marc_schwartz at me.com
Thu May 24 22:09:23 CEST 2012


Nathan,

This does help, as in the first cut you provided, there was no variability in LOCS for LCOVER >= 5 and you have very few values of LOCS > 0 (you still do, relative to the scale of the total).

Have you tried using a zero inflated negative binomial model (dist = "negbin") rather than poisson? I am not sure that the assumption of a zero inflated poisson distribution is reasonable with your data. Also, at least in this cut of the data, you have no 4's in LOCS and no 8's in LCOVER (same as before).

If my math is correct only 0.006% of your LOCS values are > 0. I am also not convinced that you have enough data to differentiate between 1 and >=1 of whatever it is you are counting in LOCS.

If that is the case, you might want to consider using logistic regression with a dichotomous response variable of LOCS == 0 versus LOCS >= 1. You seem to be in the general realm of very rare events given the distribution of LOCS in your data. 

Regards,

Marc Schwartz


On May 24, 2012, at 2:41 PM, Nathan Svoboda wrote:

> Hi David,
> 
> My apologies, I am not sure if this makes a big difference in your assessment of the problem, but the results I just sent were only from a portion (1/15) of the data. The dataset is rather large and the computer I am currently using to set up the models is limited in its capabilities to analyze large datasets. When I run the code you provided on a larger portion of the data (1/2) this is the output I receive:
> 
> LCOVER
> LOCS       1       2       3       4       5       6       7       9
>   0 1692196  630659  550623 6140352  180896  255512  785929   63756
>   1     141      30      48     279       9      14      36       1
>   2      17       4       5      14       3       3       4       1
>   3       0       0       0       3       0       0       1       0
>   5       2       0       0       0       0       0       0       0
> 
> Thanks again for your time and assistance,
> 
> Nate
> 
> Nathan Svoboda
> Graduate Research Assistant
> Mississippi State University
> 
> 
> On May 24, 2012, at 1:57 PM, Nathan Svoboda wrote:
> 
>> Greetings,
>> 
>> I am trying to fit a zero-inflated Poisson model using zeroinfl() 
>> from the
>> pscl library. I have 5 covariates (4 continuous, 1 categorical); the
>> categorical variable has 7 levels.  I have had success fitting 
>> models that
>> contain only the continuous covariates; however, when I add the 
>> categorical
>> variable to any of the models (or if I run it by itself) I get the 
>> following
>> error:
>> 
>> Error in solve.default(as.matrix(fit$hessian)) :
>> 
>> system is computationally singular: reciprocal condition number =
>> 3.46934e-20
>> 
>> The code I am using is:
>> 
>> library(pscl)
>> f1 <- formula(LOCS ~ as.factor(LCOVER) + D_ROADS + D_WATER + D_EDGE +
>> D_GRASS)
>> ZIP1 <- zeroinfl(f1, dist="poisson", link = "logit", data = FAWNS)
>> 
>> There is no correlation between my covariates. Also, I tried 
>> reducing my
>> categorical covariate to 3 levels and still receive the same error. 
>> Can
>> anyone suggest why I may be getting this error when I add the 
>> categorical
>> covariate?
>> 
> 
> What does this show:
> 
> with( FAWNS, table(LOCS, LCOVER) )
> 
> --
> David Winsemius, MD
> West Hartford, CT



More information about the R-help mailing list