lmerモデルの結果を表示する
データサイエンティストには成果を伝える力が求められます。DataCampにはこのテーマに関するコースもあります。 自分の分析を説明することで、相手は結果を理解しやすくなります。 そのためには、相手の知識レベルや期待に合わせて説明の仕方を調整しましょう。
非技術者向けには、出力から得られた重要な発見を平易に伝えます。たとえば、母親の年齢が高い郡では出生率が低い傾向があります のようにまとめます。 技術者向けには、係数推定値、信頼区間、検定統計量などの詳細を含めます。 回帰出力の記述方法については、The Chicago Guide to Writing about Multivariate Analysis のような書籍に有用な提案があります。
この演習では、固定効果を抽出して可視化します。係数は geom_point() で、95%信頼区間は geom_linerange() でプロットします。さらに、ゼロの位置を視覚化しやすくするために geom_hline() で赤い基準線を追加します。95%信頼区間にゼロが含まれなければ、その係数推定値はゼロと有意に異なると解釈できます。
ggplot では xmin や xmax が使えず、ymin と ymax のみ指定できるため、coord_flip() が必要です。また、theme_minimal() はデフォルトからテーマを変更します。
【技術メモ】lmer から回帰係数を抽出するのは少し難しく、lmer と broom の作者による議論が参考になります。
この演習はコースの一部です
R による階層モデルと混合効果モデル
演習の手順
broom.mixedパッケージのtidy()を使って、モデルoutから係数を抽出します。信頼区間も含めてください。- 既存のコードを使って、ランダム効果の推定値をフィルタで除外します。
- 係数テーブルを画面に表示します。
ggplot2で出力をプロットします。x軸にterm、y軸にestimate、yminにconf.low、ymaxにconf.highを指定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Extract out the parameter estimates and confidence intervals
coef_estimates <-
___(___, ___) %>%
filter(effect == "fixed")
# Print the new dataframe
print(___)
# Plot the results using ggplot2
ggplot(coef_estimates, aes(x = ___, y = ___,
ymin = ___, ymax = ___)) +
geom_hline( yintercept = 0, color = 'red' ) +
geom_linerange() + geom_point() + coord_flip() + theme_minimal()