[R-sig-ME] Questions about design and convergence warnings

Dube, Umber udube at wustl.edu
Thu Sep 28 16:58:12 CEST 2017


Thanks for your continued development of lme4 and all the support you've provided.

This is my first mixed model analysis. I've done my best to read over the past messages and think I've found a proper method for performing it, but I would like to verify that is correct.

I'm interested in performing a generalized linear mixed model analysis on RNA-sequencing data from different tissues derived from the same organ (I have 4 different tissues from ~160 diseased organs, ~60 healthy organs).

I have been modelling the following as fixed effects:
RNA Integrity Number (RIN) - quality of the total RNA extracted from each tissues (continuous)
Post-mortem Interval (PMI) - how much time elapsed following death until the tissue was frozen (continuous)
Sex - genetic sex of the organ (categorical)
Age at death (AOD) - age of organ at death (continuous)
Species - species of organ (categorical)
Gene -  normalized count data of gene expression (continuous)

I have been modelling the following as random effects:
Batch (categorical)

I understand that I have a nested model Organ/Tissue, but after reading (https://stackoverflow.com/questions/19414336/using-glmer-for-nested-data), I modeled tissue as a fixed effect due to the small numbers (4 tissues).

Altogether, my model is:

glmer(Disease ~ RIN + SEX + AOD + PMI + Species + (1|batch) + Tissue + (1|Tissue:Organ) + Gene, data=NormDEGenes, family=binomial(), control=glmerControl(optCtrl=list(maxfun=1e9) ) )

I unfortunately get convergence warnings with these models, but after going through the ?convergence documentation I hope they are false positives.

Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

To address this:

1) I've centered and scaled my continous predictors

2) I've checked for singularity #False

3) I've printed and compared with internal calculations

4) I've tried all available optimizers. I believe all of them have failed to converge, but they all end up with approximately the same log-liklihoods.


> ss$ fixef ## extract fixed effects
        (Intercept)     RIN_scale       SEXF    AOD_scale       PMI_scale       Species1        Species2        Species3        Tissue1 Tissue2 Tissue3 Gene
bobyqa  0.11463   -0.41005      0.409846        -0.07834        -0.65198        14.79972        13.30085        14.88501        -0.35383        -0.31039        0.666657        -2.42662
Nelder_Mead     -0.10894        -0.41005        0.40988 -0.07834        -0.652  15.02298        13.52411        15.10837        -0.35371        -0.31033        0.666808        -2.42659
nlminbw 0.067   -0.41005        0.409846        -0.07834        -0.65198        14.84728        13.34841        14.93257        -0.35383        -0.3104 0.666653        -2.4266
optimx.L-BFGS-B 0.066515        -0.40992        0.40951 -0.07822        -0.65189        14.84686        13.34846        14.93227        -0.35369        -0.3102 0.666332        -2.42644
nloptwrap.NLOPT_LN_NELDERMEAD   -0.19423        -0.40082        0.401142        -0.07745        -0.63582        14.74898        13.28662        14.83122        -0.3464 -0.30534        0.646181        -2.36802
nloptwrap.NLOPT_LN_BOBYQA       -0.19423        -0.40082         0.401142       -0.07745        -0.63582        14.74898        13.28662        14.83122        -0.3464 -0.30534        0.646181        -2.36802


> ss$ llik ## log-likelihoods
        bobyqa  Nelder_Mead     nlminbw optimx.L-BFGS-B nloptwrap.NLOPT_LN_NELDERMEAD   nloptwrap.NLOPT_LN_BOBYQA
        -327.896        -327.896        -327.896        -327.896        -327.933        -327.933

> ss$ sdcor ## SDs and correlations
                Organ:Tissue.(Intercept)        batch.(Intercept)
        bobyqa  3.68E-05        0.520826
        Nelder_Mead     5.56E-03        0.52084
        nlminbw 3.10E-08        0.520826
        optimx.L-BFGS-B 0.00E+00        0.52084
        nloptwrap.NLOPT_LN_NELDERMEAD   4.56E-08         0.517555
        nloptwrap.NLOPT_LN_BOBYQA       4.56E-08        0.517555



> ss$ theta ## Cholesky factors
                Organ:Tissue.(Intercept)        batch.(Intercept)
        bobyqa  3.68E-05        0.520826
        Nelder_Mead     5.56E-03        0.52084
        nlminbw 3.10E-08        0.520826
        optimx.L-BFGS-B 0.00E+00        0.52084
        nloptwrap.NLOPT_LN_NELDERMEAD   4.56E-08        0.517555
        nloptwrap.NLOPT_LN_BOBYQA       4.56E-08        0.517555


> ss$ which.OK ## which fits worked
        bobyqa   Nelder_Mead     nlminbw        nmkbw   optimx.L-BFGS-B  nloptwrap.NLOPT_LN_NELDERMEAD  nloptwrap.NLOPT_LN_BOBYQA
        TRUE    TRUE    TRUE    FALSE   TRUE    TRUE    TRUE


I would appreciate comment on my design, convergence warnings, and troubleshooting results.

Thanks,

Umber


	[[alternative HTML version deleted]]



More information about the R-sig-mixed-models mailing list