Lmer modeli yakınsama yapmıyor


12

Verilerim burada açıklanmıştır Tekrarlanan önlemler ANOVA takarken aov "Hata () modeli tekil hata" neden olabilir?

lmerBenim temel durum kullanarak kullanarak bir etkileşimin etkisini görmeye çalışıyorum :

my_null.model <- lmer(value ~ Condition+Scenario+ 
                             (1|Player)+(1|Trial), data = my, REML=FALSE)

my.model <- lmer(value ~ Condition*Scenario+ 
                             (1|Player)+(1|Trial), data = my, REML=FALSE)

Çalıştırmak anovabana önemli sonuçlar veriyor, ancak rastgele eğimi ( (1+Scenario|Player)) hesaba katmaya çalıştığımda model bu hatayla başarısız oluyor:

  Warning messages:
 1: In commonArgs(par, fn, control, environment()) :
   maxfun < 10 * length(par)^2 is not recommended.
 2: In optwrap(optimizer, devfun, getStart(start, rho$lower, rho$pp),  :
  convergence code 1 from bobyqa: bobyqa -- maximum number of function evaluations exceeded
 3: In commonArgs(par, fn, control, environment()) :
  maxfun < 10 * length(par)^2 is not recommended.
 4: In optwrap(optimizer, devfun, opt$par, lower = rho$lower, control = control,  :
   convergence code 1 from bobyqa: bobyqa -- maximum number of function evaluations exceeded
 5: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge with max|grad| = 36.9306 (tol = 0.002)
 6: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

O tekrarlamalar çok sonra yakınsama getirmediği takdirde Alternatif (ı ayarlayın 100 000) ve ben sonra aynı sonuçları alıyorum 50kve 100ko sadece onu bulmuyor, çok yakın gerçek değere olduğu anlamına gelir. Sonuçlarımı böyle bildirebilir miyim?

Yinelemeleri bu kadar yüksek ayarladığımda yalnızca şu uyarıları aldığımı unutmayın:

 Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
 Model failed to converge with max|grad| = 43.4951 (tol = 0.002)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
 Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

Yanıtlar:


8

Yakınsamanın değerlendirilmesi için alternatif bir yöntem için bu sohbete bakın . Özellikle, Ben Bolker'ın bu yorumu:

Teşekkürler. Daha basit bir test, size yakınsama uyarıları veren uygun bir örnek almak ve sonuçlarına bir göz atmak
relgrad <- with(fitted_model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
ve makul derecede küçük olup olmadığını görmek olacaktır (örn. <0.001?)

Alternatif olarak, burada farklı bir optimize edici denemek için Bolker'ın tavsiyelerini deneyebilirsiniz.


1
max (abs (relgrad)) size 2.9239489e-05 değeri verirse ne yapmalı?
Jens

1
@Jens o zaman bu gerçekten çok küçük olurdu (e-05 "ilk sıfırdan sonra 5 sıfır ve sonra solda gördüğünüz rakamları yazın" anlamına gelir). Yani bu değerden oldukça memnun oluruz!
Arthur Spoon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.