[R] Optimisation and NaN Errors using clm() and clmm()
Thomas
thomasfoxley at aol.com
Mon Apr 15 13:18:41 CEST 2013
Dear List,
I am using both the clm() and clmm() functions from the R package
'ordinal'.
I am fitting an ordinal dependent variable with 5 categories to 9
continuous predictors, all of which have been normalised (mean
subtracted then divided by standard deviation), using a probit link
function. From this global model I am generating a confidence set of 200
models using clm() and the 'glmulti' R package. This produces these errors:
/> model.2.10 <- glmulti(as.factor(dependent) ~
predictor_1*predictor_2*predictor_3*predictor_4*predictor_5*predictor_6*predictor_7*predictor_8*predictor_9,
data = database, fitfunc = clm, link = "probit", method = "g", crit =
aicc, confsetsize = 200, marginality = TRUE)
...
After 670 generations:
Best model:
as.factor(dependent)~1+predictor_1+predictor_2+predictor_3+predictor_4+predictor_5+predictor_6+predictor_8+predictor_9+predictor_4:predictor_3+predictor_6:predictor_2+predictor_8:predictor_5+predictor_9:predictor_1+predictor_9:predictor_4+predictor_9:predictor_5+predictor_9:predictor_6
Crit= 183.716706496392
Mean crit= 202.022138576506
Improvements in best and average IC have bebingo en below the specified
goals.
Algorithm is declared to have converged.
Completed.
There were 24 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: optimization failed: step factor reduced below minimum
2: optimization failed: step factor reduced below minimum
3: optimization failed: step factor reduced below minimum/
etc.
I am then re-fitting each of the 200 models with the clmm() function,
with 2 random factors (family nested within order). I get this error in
a few of the re-fitted models:
/> model.2.glmm.2 <- clmm(as.factor(dependent) ~ 1 + predictor_1 +
predictor_2 + predictor_3 + predictor_6 + predictor_7 + predictor_8 +
predictor_9 + predictor_6:predictor_2 + predictor_7:predictor_2 +
predictor_7:predictor_3 + predictor_8:predictor_2 +
predictor_9:predictor_1 + predictor_9:predictor_2 +
predictor_9:predictor_3 + predictor_9:predictor_6 +
predictor_9:predictor_7 + predictor_9:predictor_8+ (1|order/family),
link = "probit", data = database)
> summary(model.2.glmm.2)
>
Cumulative Link Mixed Model fitted with the Laplace approximation
formula: as.factor(dependent) ~ 1 + predictor_1 + predictor_2 +
predictor_3 + predictor_6 + predictor_7 + predictor_8 + predictor_9 +
predictor_6:predictor_2 + predictor_7:predictor_2 +
predictor_7:predictor_3 + predictor_8:predictor_2 +
predictor_9:predictor_1 + predictor_9:predictor_2 +
predictor_9:predictor_3 + predictor_9:predictor_6 +
predictor_9:predictor_7 + predictor_9:predictor_8 + (1 | order/family)
data: database
link threshold nobs logLik AIC niter max.grad cond.H
probit flexible 103 -65.56 173.13 58(3225) 8.13e-06 4.3e+03
Random effects:
Var Std.Dev
family:order 7.493e-11 8.656e-06
order 1.917e-12 1.385e-06
Number of groups: family:order 12, order 4
Coefficients:
Estimate Std. Error z value Pr(>|z|)
predictor_1 0.40802 0.78685 0.519 0.6041
predictor_2 0.02431 0.26570 0.092 0.9271
predictor_3 -0.84486 0.32056 -2.636 0.0084 **
predictor_6 0.65392 0.34348 1.904 0.0569 .
predictor_7 0.71730 0.29596 2.424 0.0154 *
predictor_8 -1.37692 0.75660 -1.820 0.0688 .
predictor_9 0.15642 0.28969 0.540 0.5892
predictor_2:predictor_6 -0.46880 0.18829 -2.490 0.0128 *
predictor_2:predictor_7 4.97365 0.82692 6.015 1.80e-09 ***
predictor_3:predictor_7 -1.13192 0.46639 -2.427 0.0152 *
predictor_2:predictor_8 -5.52913 0.88476 -6.249 4.12e-10 ***
predictor_1:predictor_9 4.28519 NA NA NA
predictor_2:predictor_9 -0.26558 0.10541 -2.520 0.0117 *
predictor_3:predictor_9 -1.49790 NA NA NA
predictor_6:predictor_9 -1.31538 NA NA NA
predictor_7:predictor_9 -4.41998 NA NA NA
predictor_8:predictor_9 3.99709 NA NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Threshold coefficients:
Estimate Std. Error z value
0|1 -0.2236 0.3072 -0.728
1|2 1.4229 0.3634 3.915
(211 observations deleted due to missingness)
Warning message:
In sqrt(diag(vc)[1:npar]) : NaNs produced/
I have tried a number of different approaches, each has its own
problems. I have fixed these using various suggestions from online
forums (eg
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2011q1/015328.html,
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2011q2/016165.html)
and this is as good as I can get it.
After the first stage (generating the model set with glmulti) I tested
every model in the confidence set individually - there were no errors -
but there was clearly a problem during the model selection process.
Should I be worried?
No errors appear in the top 5% of re-fitted models (which are the only
ones I will be using) however I am concerned that errors may be
indicative of a problem with my approach.
A further worry is that the errors might be removing models that could
otherwise be included.
Any help would be much appreciated.
Tom
More information about the R-help
mailing list