Andrew,

I think that the weird edfs may result from an unhandled case in the side constraint calculation. In particular the term

s(BCAR.imp,bs="cr",k=length(BCAR.knots),by=as.factor(pot.trial))

is confounded with

te(soc.imp,BCAR.imp,k=c(4,4))

but there was an issue with picking this up properly because of the factor 'by' 
variable, which should have been fixed by a change in 1.7-13. If it wasn't 
picked up then the fitting routines would have noticed a lack of 
identifiability later, and dealt with it - which is how the terms can then end 
up having no degrees of freedom (instead of the 1 EDF that would be expected 
for fully penalized).

In itself this would not explain the difference in number of coefficients, 
however. The obvious options there are that some factor levels have got dropped 
for some replicates, or that for some replicates some smooth arguments do not 
have enough unique values to allow  the number of knots specified, in which 
case the number of knots will be reduced. The only way to get further, I think, 
is to to compare coef(mod) for a couple of models that differ in their number 
of coefficients, and find the labels of the coefficients that have been 
dropped....

best,
Simon

On 29/01/13 00:20, Andrew Crane-Droesch wrote:
Hi Simon,

Thanks for replying.

On further investigation, I can't reproduce this error on my local machine -- it only occurs when sending to a cluster (to run the multiple imputations in parallel) that I've got access to. I send to a friend's web server, and I get the same sort of error (but a different set of results!) that the cluster gave me. The seed is set identically across the three machines. gam.check indicates convergence after 16 iterations locally, but 21 iterations on both remote machines. And both remote machines give results that penalize the random effects, and the first, second and fourth spline terms effectively to zero (res.df ~1e-7).

I then checked versions. My local machine has mgcv 1.7.22, the cluster has 1.7.3, and the server has 1.7.12. My local machine has R 2.15.1, the cluster has 2.12.2, and the server has 2.14.1. I updated the server's R version, and the result was fixed. Will see if the people who manage the cluster can update the cluster.

The tryCatch is there because my imputation models that feed the gams are not bug-free.

Thanks anyway for replying.

Best,
Andrew

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to