0

私はlme4Rでパッケージを使用しており、ランダム勾配とランダム切片モデルに適合しようとしています. ランダムな勾配とランダムな切片モデルを実行するときにこのエラーを理解し、このエラーに関して何をすべきかを誰かが理解するのを手伝ってくれれば、本当に役に立ちます:

mdl17<-lmer(yld.res ~ brk + (1+brk|state),data=data1,REML="FALSE")
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge with max|grad| = 1.84098 (tol = 0.002, component 3)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

どうもありがとう

4

1 に答える 1

9

@CarlWitthoft が述べたように、警告はモデルの収束の失敗について通知します。過小定義または過剰定義のいずれかです。また、あてはめようとしているモデルがまったく意味があるかどうかも確認する必要があります。さらに、 or (すべてのパッケージを更新する場合) をlme4実行して、パッケージの最新バージョンを確実にインストールする必要があります。現在のパッケージには、収束の警告に関する独自のページが含まれています。を介してロードした後、発行してその man ページにアクセスできます。そこには、警告メッセージに関する追加情報が表示されます。(注: 将来のバージョンには、必ずしもこのページが含まれているとは限りません。) 追加の手段として、別のオプティマイザーの使用方法を検索できます。eg importsの新しいバージョンupdate.packages("lme4")update.packages()lme4library(lme4)?convergencelme4nloptr使用することができます。

気になる警告やエラー メッセージが表示された場合は、httpslme4 ://github.com/lme4/lme4/ の Github ページも確認してください。特定のケースでは、関連する可能性のある情報がいくつかあります。

「の最近のバージョンではlme4 (e.g. 1.1-6)、誤った収束警告が表示されます。r-sig-mixed-models に関する要約投稿があります。警告が表示されmax|grad|たが、モデルがこのテストに合格した場合:

dd <- fit@optinfo$derivs
with(dd,max(abs(solve(Hessian,gradient)))<2e-3)

その後、誤検知の警告が表示されますが、この問題は将来のバージョンで解消されます(1.1-7 and up)。" [1]

ページGithubに関連情報が含まれている場合 (たとえば、警告またはエラーが の現在のバージョンに固有のものである場合)、の現在のマスターを からCRANインストールすることを検討し、使用時に問題が解消されるかどうかを確認する必要があります。lme4Github

(1) 最初にdevtools:をインストールし、名前空間にinstall.packages("devtools")アタッチします。library(devtools)

(2) 次に、以下を使用して、Github からパッケージinstall_github("lme4/lme4", dependencies = TRUE)の最新のマスターをインストールします。(の呼び出しに渡す必要があるにlme4もかかわらず、ビネットの構築に失敗したことを示すエラーが発生した場合。)dependencies = TRUEbuild_vignettes = FALSEinstall_github()


収束警告に関する概要へのリンクは次のとおりです

于 2014-07-15T15:14:33.607 に答える