2015-12-29 17 views
6

線形混合モデルを使用し、母集団レベルで予測を行う(固定効果のみを使用し、ランダム効果の代わりに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」が、それは明らかに動作しません。そう!

  1. 適切な方法のヘルプページを見ていますか?そうでない場合、正しい方法は何ですか?
  2. 人口レベルの予測作業を行うにはどうすればいいですか?

答えて

8

あなたはre.formを探しています:

re.form:上の状況をランダム効果の計算式を。 'NULL'の場合、 にはすべてのランダム効果が含まれます。 'NA' または '〜0'、何 ランダム効果あなたの他の質問については

require(lme4) 
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) 
newx <- seq(min(sleepstudy$Days), max(sleepstudy$Days)) 
predict(fm1, newdata=data.frame(Days=newx), re.form=NA) 
##  1  2  3  4  5  6  7  8 
## 251.4051 261.8724 272.3397 282.8070 293.2742 303.7415 314.2088 324.6761 
##  9  10 
## 335.1434 345.6107 

含まれていない場合:

  • merModはリニア(lmerModの両方が含まれている "スーパークラス" であります)と一般化された線形(glmerMod)モデル:?"merMod-class"
  • あなたの次の2つはおそらくを試してみてくださいする必要があります。ただし、allow.new.levelsは、時折NAの値を持つケース用に設計されていますが、すべてNAの値... predict(fm1, newdata = data.frame(Days = newx, Subject = "a"), allow.new.levels = TRUE)が機能しません。コードでall-NA列が検出され、上流で間違っていると解釈されるように見えます。これはコード内で修正される可能性がありますが、re.formが存在するため、
+1

ありがとうございました!おそらく助けの言葉で私を混乱させました: "... on condition on"。私はネイティブスピーカーではありません、それはどういう意味ですか?おそらく、それはランダムな効果を持つ特定の状況のちょうどいくつかの英語の言い回しですか?それとも、lmerや統計自体に何らかの「条件」概念があるのでしょうか?私はこれが何を意味するのか分かりませんでしたので、おそらく私はそれを見落としました。 – TMS

+2

統計用語(専門用語):何かを条件付けするとは、予測するときにその価値を考慮するということです。 –

+0

ああ、偉大なベン、説明のおかげで! :-) – TMS

関連する問題