医療職からデータサイエンティストへ医療職からデータサイエンティストへ統計学、機械学習に関する記事をまとめています。R前回は、テストの点数と勉強時間との関連を学校レベルと個人レベルに分けて解析するマルチレベル分析の基礎をまとめました。Rを実践する場合は前回のデータセットをそのまま使うので、こちらの記事を参考にデータを作成してください。www.medi-08-data-06.workwww.medi-08-data-06.workランダム切片傾きモデルとは?さて、前回のランダム切片モデルでは、7つの学校全てで傾きが等しい、つまり勉強時間とテストの点数との関係が同じであると仮定しました。現実では勉強時間と点数の関係は学校ごとで異なることが考えられます。平均的にテストの点数が高い学校は、伸びしろが少ないため傾きが小さかったり....その背景をモデルに反映させて、学校ごとで切片も傾きも異なるとする方法をランダム切片傾きモデルと呼びます。実際にランダム切片傾きモデルをモデリングしていきましょう。ここでは、新たに以下の疑問を考えます。学校よって勉強時間と点数の関連は異なるのかテストの学校平均は、個人の勉強時間と点数の関連に影響するか学校の種類(公立、私立)は、個人の勉強時間と点数の関連に影響するかまずは一つ目の疑問です。これを議論するために傾きにもランダム効果を導入し、その傾きの分散が有意であれば学校によって個人の勉強時間と点数の関連が異なると言えます。個人レベルで勉強時間と点数の関連をみたいので勉強時間はCWC(集団平均中心化)を行なっています。これを求めてみるととなります。傾き平均が14、傾き分散が98.6なので個人でみると平均的に勉強時間が1時間長いと点数が14点高くなるが、その関係は学校によって異なり、14±10(100の平方根)ぐらいの幅があるという解釈になります。学校によって勉強時間と点数の関連は異なると言えそうです。Rでは以下のように実行します。ここでは、ランダム切片モデルと同じように学校レベルの変数(勉強時間の学校平均と学校種)を傾きにも加えます。するとこのモデルの解釈としては、学校レベルの変数が個人レベルの傾きに与える影響と解釈でき、学校レベルの変数と個人レベルの変数の交互作用になります。勉強時間の学校平均を加えたモデルを作ってみましょう。学校平均はCGM(全体平均中心化)を行なっておきます。(全体平均中心化を行う理由について記事下で補足しました)だいぶパラメーターが増えてきましたが、一つづつゆっくり見ていけば理解できるかと思います。みてみると傾き0.7、標準誤差0.2で有意な傾きとなっています。学校平均が1時間長い学校にいる生徒は、1時間勉強時間が長くなると点数が14+0.7=14.7点高くなると言えます。先ほど学校によって勉強時間と点数の関連が10点ほど異なっていると解析されましたが、それは学校の平均勉強時間が影響していたようです。100から27まで小さくなっています。Rでは以下のように実行します。0.102続いて、学校種が個人の勉強時間と点数に与える影響(学校種と点数の交互作用)も加えてみましょう。学校種は公立(0)、私立(1)のニ値ですが、これも全体平均中心化を行います。これを求めるとは27点になりました。これは、公立に比べて私立にいる生徒が1時間勉強時間が長くなると点数が17+27=44点高くなるということを表します。標準誤差も13点と大きいため、この関係は完全に成り立つ訳ではなさそうでうす。-0.3ですが有意な傾きではなくなりました。傾き分散をみてみると4.6点(22の平方根)となっていて一番小さくなっています。学校間での傾きの違いは、完全に有意ではないにしろ学校種の影響が大きそうだと推測できます。-0.927先ほどのモデルから傾きへの影響は学校種による違いが大きいことが分かりました。そこで、最後に学校平均を学校レベルの傾きから抜いてみましょう。これを求めるとが傾き19、標準誤差4.9で有意な傾きとなりました。よって説明されていた傾きの分散がなくなったため、学校種の影響が明確になったと言えそうです。4.5点(20の平方根)と今までで一番小さくなりました。-0.074モデルのまとめここで今までのモデルの関係性とそのパラメーターを比較してみましょう。モデル9が一番小さく、当てはまりが良いことがわかります。このモデル9とこれまでの解析から以下のような解釈ができます。