線形混合モデルを使用し、母集団レベルで予測を行う(固定効果のみを使用し、ランダム効果の代わりに0を使用する)。lmer:母集団レベルの予測でエラーが発生する
例モデル:
require(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
summary(fm1)
# values for prediction:
newx <- seq(min(sleepstudy$Days), max(sleepstudy$Days))
私は集団レベルで予測するいくつかの方法を試してみましたが、それらはすべて失敗しました:
pred <- predict(fm1, newdata = data.frame(Days = newx), allow.new.levels = TRUE)
# Error: couldn't evaluate grouping factor Subject within model frame: try adding grouping factor to data frame explicitly if possible
pred <- predict(fm1, newdata = data.frame(Days = newx, Subject = NA), allow.new.levels = TRUE)
# Error: Invalid grouping factor specification, Subject
pred <- predict(fm1, newdata = data.frame(Days = newx, Subject = as.factor(NA)), allow.new.levels = TRUE)
# Error: Invalid grouping factor specification, Subject
私は適切な予測方法のマニュアルを見つけることを試みたが、私どのようにわからない?私はhelp(package = "lme4")
を見ようとしましたが、私が見つけた最も近い機能はpredict.merMod
でした(モデルfm1
のクラスはlmerMod
ではありませんがmerMod
です)。 ?predict.merMod
を読み取り:FALSE(デフォルト)の場合
allow.new.levels(論理的)、次いでNEWDATAで検出された新しいレベル(またはNA値)エラーをトリガします。 TRUE 場合、予測は以前に観測されないレベル (またはNAS)とのデータのための無条件 (人口レベル)の値
を使用することを具体的に言います「またはNAS」が、それは明らかに動作しません。そう!
- 適切な方法のヘルプページを見ていますか?そうでない場合、正しい方法は何ですか?
- 人口レベルの予測作業を行うにはどうすればいいですか?
ありがとうございました!おそらく助けの言葉で私を混乱させました: "... on condition on"。私はネイティブスピーカーではありません、それはどういう意味ですか?おそらく、それはランダムな効果を持つ特定の状況のちょうどいくつかの英語の言い回しですか?それとも、lmerや統計自体に何らかの「条件」概念があるのでしょうか?私はこれが何を意味するのか分かりませんでしたので、おそらく私はそれを見落としました。 – TMS
統計用語(専門用語):何かを条件付けするとは、予測するときにその価値を考慮するということです。 –
ああ、偉大なベン、説明のおかげで! :-) – TMS