2013-10-20 9 views
7

私はバージョン1.0から4にlme4を更新し、私は今、この警告を表示し、前に収束したlmer()私の混合効果モデルを、実行すると:新しいバージョンのlmerの繰り返し回数が増えますか?

Warning message: 
In (function (fn, par, lower = rep.int(-Inf, n), upper = rep.int(Inf, : 
    failure to converge in 10000 evaluations 

だから、私は増加してみたいのですが私がこれを修正できるかどうかを確認する反復回数。 (私は、メッセージの最初の部分が少し不透明に聞こえるので、何が警告を引き起こしているか分かりません)。いずれにしても、ドキュメントで、lmerControl()を使用する必要がありますが、実装することができませんでした。具体的にどのようにしたらよいか具体的な例を教えてもらえますか? (ヘルプファイルは役に立ちません)。ここに私のモデル:

m <- lmer(RT ~ Factor1*Factor2 + (0+Factor1+Factor2|Subject) + (1|Subject) + (1|Item) + (0+Factor1+Factor2|Item), data= data) 

ありがとうたくさんありがとう!

+0

エラーメッセージではありません。それは警告です。 –

+0

@DWin:ok、編集済み – Sol

答えて

11

lmerControl関数を使用すると、オプティマイザを選択して制御パラメータを渡すことができます。反復回数や評価数を制御するパラメータは、関数ごとに異なります(lmerControlのヘルプページを参照)。デフォルトのオプティマイザは「Nelder_Mead」であり、そのオプティマイザの選択のための評価の最大数は、「optCtrl」パラメータリストで「maxfun」を指定することで変更することができます。

m <- lmer(RT ~ Factor1*Factor2 + (0+Factor1+Factor2|Subject) + 
       (1|Subject) + (1|Item) + (0+Factor1+Factor2|Item), 
      data= data, control=lmerControl(optCtrl=list(maxfun=20000))) 

これは収束が到達されるという保証するものではありません。 (私の経験では、通常はデフォルトの最大値で十分です)あなたのデータがモデルの複雑さをサポートするには不十分である可能性があります。あるいは、モデルの設計が間違っています。

+0

ありがとう!私はそれを試して、私はこのメッセージが表示されます:警告メッセージ: checkArgs( "lmer"、optCtrl = list(maxfun = 20000)): 余分な引数 'optCtrl'は無視されました – Sol

+2

申し訳ありません、渡す必要がありました'lmerControl'。 –

+6

注:一般化線形混合モデル(glmer、glmer.nb)では、glmerControl –

関連する問題