LoginSignup
4
4

More than 1 year has passed since last update.

【階層線形モデル(HLM)】学生時代挫折した階層線形モデル(HLM)についてまとめてみる -解説編

Last updated at Posted at 2022-04-04

はじめに

統計学を専攻していた時、階層線形モデル(Hierarchical Linear Model)の授業を受講したのですが、当時の自分には(今でも少し)理解がむつかしかったので、リベンジするためにブログにまとめようと思いました。

階層線形モデル(HLM)とは

階層線形モデル、Hierarchical Linear Model(HLM)とは、階層的な属性をもつデータに回帰分析をかける際、データのもつ階層的要素を活かしつつ、回帰分析の前提(Assumption)も守れる、マルチモデルの1つです。線形混合モデル(Linear Mixed Model)とも呼ばれます。

階層的データとは

階層的データとは、ひとつひとつの観測値が独立していなく、なんらかの階層的要素を持っている。という事です。
例えば、学校Aに通う高校3年生のクラスA,B,Cの生徒を対象にした学力調査を行なった場合、学校Aという大きなグループの中にクラスA,B,Cという階層が含まれている(nested)事になります。
また、1人の特定の人物における異なる時点での観測値も、同じ人物に含まれる、nestedするという事になります。
さらに、階層的データは3段階以上になる事もあり、上記の学校の定期身体検診の2回の結果を観測値とすれば、階層が3階に増えます。
統計力 (AIxデータ).png

線形回帰における前提(Assumption)とは Review

線形回帰が活用できる前提条件は以下になります。

  1. Linear relationship: $\beta$が「+」で繋がる式で表現されている  
  2. Independence: 観測値が独立である  
  3. Homoscedasticity: 残余が一定である  
  4. Normality: 残余が正規分布に従う

この前提の内2と3が階層データを扱うことで破られてしまいます。
2. Independence: 観測値が独立である→階層が含まれるので何らかの関係性を持つ
3. Homoscedasticity: 残余が一定である→階層が含まれるので、階層内で残余が偏る可能性がある  

また、それ以外の懸念点として、説明関数が階層毎に与える影響が変化してしまう可能性があります。
例えば、上記の3階層の例において、学力調査のため、入学時に学力テストを行い(Time1)、各教科の難易度を変化させ再度学期末に行なった所(Time2)、担任が数学担当であったクラスBだけ数学のテストの成績が上がったとした場合。
線形回帰を使用し、階層を無視して分析を進めてしまうと、説明関数の1つであるである数学の難易度の効果が全体的に薄れた事になります。結果、「数学のテスの難易度を上げても、成績にあまり影響しない」といったミスリーディングな分析になってしまう場合があるのです。

Why HLM ?

この様なデータを扱う際、それぞれの階層をカテゴリー変数として線形回帰モデルに導入すればいいと思うかもしれません。しかしそうすると、先ほどのクラスBの例で説明した通り、ある変数における効果が階層内のグループで乖離している場合、その効果(スロープ)が同一になってしまいます。また、同じ階層内のグループごとにモデルをフィットさせる方法は、サンプルサイズが少なくなり、重要なグループ内同士の情報をモデルに加味し損ねる可能性があります。

方程式

Y_{ij} = \alpha_{0j} + \beta_{1j}X + e_{ij} \\
\alpha_{0j} = \gamma_{00} + r_{1j}\\
\beta_{1j} = \gamma_{10} + r_{2j}\\

j:階層内のグループ(クラスA,B,C)
$\gamma_{00}$:全ての値の平均の切片
$r_{1j}$:グループ毎の切片
$\gamma_{10}$:全ての値の平均の傾き
$r_{2j}$:グループ毎の傾き

$r_{1j}$と$r_{2j}$を誤差項(Error Term)とし、式を結合

Y_{ij} = \gamma_{00} + \gamma_{10}X + r_{1j} + r_{2j}X +e_{ij} \\

イメージ 

仮に学校AにおけるクラスA,B,Cの国語の成績と数学の成績の相関

統計力 (AIxデータ)_JapanesevsMath.png

Intra-class Correlation Coefficient (ICC)

Intra-class Correlation Coefficient (ICC)とは、グループ内の相関関係を0~1の値で示したものです。この数値が高い(一般的に0.1以上)ほど、HLMを使用する価値があるといえます。各グループの分散($\tau_{j}^2$)と、全体の分散$(\sigma^2+\tau_{j}^2)$の割合を現したものになります。

$$
ICC = \dfrac{\tau_{j}^2}{\sigma^2+\tau_{j}^2}
$$

終わりに

次回はRで実装してみようかと思います!

参考文献 

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4