r で nlme パッケージを使用して、マルチレベルの線形モデルを実行しようとしていました。
6 つの異なる場所 (州) について、60 年間の応答変数として収量、予測変数として降水量を使用しています。私は、降雨がすべての場所で収量に同じレベルの影響を与えるのか、それとも異なる影響を与えるのかを確認しようとしています. 原則として、降水量と降水量の勾配が場所によって大きく異なるかどうかを確認しようとしています。したがって、降雨は私のランダム効果です。私は次のようにモデルを構築しました:
# baseline model which only includes intercept
mdl1<-gls(yield ~ 1,data = data, method="ML")
#intercept as random effect
mdl2<-lme(yield ~ 1,data=data,random = ~1|state,method="ML")
# slope as random effect
mdl3<-lme(yield ~ rain, data = data, random = ~rain|state,method="ML")
##compare the three model
anova(mdl1,mdl2,mdl3)
#this shows me when I add slope as random effect, my model shows better fit compared to baseline model (mdl1)
これはすべて正常に機能しています。別の予測変数 (カウント データ) を使用して同じ分析を行うと、問題が発生します。
# baseline model which only includes intercept: Works fine
mdl4<-gls(yield ~ 1,data = data, method="ML")
#intercept as random effect - works fine
mdl5<-lme(yield ~ 1,data=data,random = ~1|state,method="ML")
# include different predictor (break) this time instead of rain
mdl6<-lme(yield ~ break, data = data, random = ~break|state,method="ML")
mdl 6 を実行すると、エラーが表示されます
Error in lme.formula(res_yld ~ brk, data = data, random = ~brk | state, :
nlminb problem, convergence error code = 1
message = iteration limit reached without convergence (10)
なぜこれが起こっているのか、まったくわかりません。私の最初の予測子ではすべてうまくいきましたが、これは別の予測子では機能しません。ここで何が間違っていますか?これについてオンラインで読んでみましたが、投稿はあまり明確ではありません。これについて教えてくれる人に本当に感謝します。ありがとう