Rの新しいデータの混合モデルから固定効果のみの予測を取得する


8

固定効果のみを使用し、ランダム効果を0に保持して、新しいデータセットで混合モデル(glmerを介したロジスティック)の予測を構築したいと思います。しかし、それらを計算できるようにモデルマトリックスを設定するのに問題があります。

merクラスには予測メソッドがないため、新しいデータセットの予測のランダム効果を省略したいので、元の構造で使用されているのと同じ構造の固定効果のモデル行列を作成する必要があると思いますモデルですが、新しいデータを使用しています。次に、モデルの固定効果係数を掛けます。

モデル式の固定効果部分には、数値の固定効果間の因子と交互作用項が含まれているため、行列から固定変数を抽出するよりも少し複雑です。たとえば、因子コントラスト展開が元と同じであること、相互作用項が適切にリストされていることなどを確認する必要があります。

だから私の質問は:モデルの作成に使用された元のモデルマトリックスの構造を模倣する新しいモデルマトリックスを構築するためのより簡単な一般的なアプローチは何ですか?

私はmodel.matrix(my.model、data = newdata)を試しましたが、それはnewdataに基づくものではなく、元のモデル行列を返すようです。

サンプルコード:

library(lme4)

cake2 <- head(cake) # cake2 is "new" data frame for future predictions

# recipe is a fixed effect factor, temp is fixed effect numeric, replicate is random effect
m <- lmer(angle ~ temp + recipe + (1 | replicate), data=cake)
summary(m)

nrow(cake2)         # but new data frame has 6 rows
nrow(cake)          # original data frame has 270 rows

# attempt to make new model matrix using different data frame
mod.mat.cake2 <- model.matrix(m, data=cake2)
nrow(mod.mat.cake2) # 270 rows, same as orig data frame

数式から用語を抽出し、そこから新しい数式を作成するなど、他の方法を試しましたが、要素と相互作用項の扱いが複雑すぎて、壊れやすいようでした。

mod.mat.cake2をmの式に基づく固定効果モデルマトリックスにするにはどうすればよいですか?ただし、cake2の値を使用しますか?または、lmerモデルから固定効果のみの予測を取得する簡単な方法はありますか?

すべての助けに感謝します。ありがとうございました。


非常に大雑把ですが単純なアプローチ:計算時間が主要な要素ではない場合(つまり、これを何回も実行する必要がない場合)、新しいデータをlm()適合させ、適合からモデルマトリックスを抽出し、それを前の近似からのモデル係数。
Macro

回答:


13

多分これは不正行為ですが

fixedformula <- as.formula(lme4.0:::nobars(formula(m))[-2])
model.matrix(fixedformula,newdata=cake2)

注意:

  • 私が使っているlme4.0「古い」(CRAN)のR-鍛造バージョンである、ここにlme4:あなたは置き換えることができるlme4ためlme4.0、上記のコードで
  • の新しい(r-forge /開発)バージョンにlme4predictメソッドがあります。その場合

    predict(m,re.form=NA,newdata=cake2)

正常に動作します(re.form=NAすべてのランダム効果をゼロに設定します。これlevel=0は、以前と同じですpredict.lme


1
ベン、ありがとう。最初の解決策が適切に機能するのに苦労しました。ただし、lme4のdevバージョンに切り替えて、predict / REform = NA関数を使用すると、モデルマトリックスの詳細をいじる必要なく、トリックを実行できます。私のコードで使用していた開発バージョンではまだ実装されていないように見える機能がいくつかあります(特に、ランダムな効果のpostVarを簡単に抽出できないようです)。予測機能を使用して、新しいlme4が他の部分に対して完了するまで待つことができます。
colonel.triq

当たり前かもしれませんが、あなたがしたいことの(非常に)小さな自己完結型の例を書いて、それを
開発
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.