始める無料で始める

ランダム効果の切片

R の線形モデルは、確率的ではないとみなされるパラメータ(固定)を推定し、これを 固定効果 と呼びます。 一方、ランダム効果 のパラメータは、データが共通の誤差分布を共有すると仮定し、データ量が少ないときや外れ値があるときに異なる推定値を生むことがあります。 固定効果とランダム効果の両方を含むモデルは、混合効果 モデル、または 線形混合効果回帰 と呼ばれます。

lme4 パッケージは lmer() を使って混合効果モデル(固定効果とランダム効果の両方を含むモデル)を当てはめます。lmer()lm() と似た書式を使いますが、ランダム効果の切片には特別な構文を用います。

lmer(y ~ x + (1 | random-effect), data = my_data)

lmer() 関数は、モデルにランダム効果を含めることが必須です。含めないとエラーになります。ここでは lm()lmer() を当てはめ、その後データの一部を使ってフィットしたモデルを可視的に比較します。ランダム効果は通常プロットされないため(ggplot2 にも混合効果モデル向けの適切なプロットオプションがありません)、高度なデータ整形が必要になることから、このコードはあらかじめ用意しています。このプロットでは、ランダム効果の傾きによる破線と、固定効果の傾きによる実線の違いに注目してください。

注: broom パッケージは lme4 をサポートしていないため、broom.mixed が必要です。

この演習はコースの一部です

R による階層モデルと混合効果モデル

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Build a liner model including class as fixed-effect model
lm_out <- ___

# Build a mixed-effect model including class id as a random-effect
lmer_out <- lmer(___ ~ ___ + (1 | ___), data = ___)

# Extract out the slope estimate for mathkind
tidy(lm_out) %>%
    filter(term == "mathkind")
    
tidy(lmer_out) %>%
    filter(term == "mathkind")
コードを編集して実行