線形モデルにおける交互作用

はじめに

前回の「ダミー変数」についての記事の最後に、連続型とカテゴリー型の説明変数が混在した線形モデルが登場した。
mstour.hatenablog.com
このようなモデルを模式的に図解すると、縦軸に目的変数の値(点数)、横軸に連続型変数(学習時間)の値が置かれ、各カテゴリー(受けた補習のグループ)の平均を示す直線*1が平行に並び、直線間の長さがグループ間の差を示している。
また直線の傾きが、学習時間が増えるにともなって点数が上昇する程度を表す。

ところで、この「直線の傾き」に注目していただきたい。
f:id:mstour:20210108202446j:plain

ここには暗黙のうちにとても大きな仮定が置かれていることにお気づきだろうか。

その仮定とは、「3つの全ての直線が平行であること」*2
つまり、補習を受けていないグループも、放課後だけ補習を受けたグループも、放課後だけでなく始業前も補習を受けたグループも、学習時間を増やすことによるテストの点数の伸び具合が全く同じだと仮定されている。
そのように考えられる十分な根拠があるなど、この仮定を正当化できる理由があればよいが、例えば次の図のような関係性のほうがより適切なモデルになっているかもしれない。
f:id:mstour:20210113204202j:plain
このモデルでは、補習を受ける量が増える(なし<放課後のみ<放課後+始業前)につれて、直線の傾きが急になっている。つまり、補習を受ける量が多くなるほど、少ない家庭学習時間でより高得点を取れるようになるという様子を表している。十分にありえるのではないだろうか?

このように、グループによってある説明変数の効果が異なるような時、グループとその説明変数との間には「交互作用(Interaction)が存在する」と表現される。
交互作用を無視するとデータを誤って解釈してしまう危険があるので、交互作用を線形モデルに取り入れるべき場面がある。今回は、線形モデルにおいて交互作用をどう取り扱うかについて話していきたい。


交互作用とは

教科書的に言うと、交互作用とは、「ある要因の効果は一定ではなく、他の要因の水準によって異なっている」ような状況を指す。このことを、もう少し単純な例で説明してみよう。

いま、補習を受けた場合と受けなかった場合を比較して、期末テストの点数に違いがあったかを確かめたいものとする(補習のカテゴリーは、「あり」と「なし」の2つである)。
ここで、男子学生と女子学生とで補習の効果に違いはあるだろうかという疑問がわいたとしよう。
そこで、男女別に補習を受けた学生と受けなかった学生の点数の平均をそれぞれ計算してみたところ、男子学生の方が女子学生よりも補習による点数の伸びが大きかったことが判明した*3
f:id:mstour:20210113204219j:plain
この時、補習の効果は一定ではなく、性別によって異なっていることから、補習と性別との間には交互作用が存在していることになる。

なおここでは交互作用のある変数として2カテゴリーだけからなる変数(補習、性別)を例示したが、一方の変数が連続型の場合も考え方は全く同様である(「はじめに」での例の通り)。


線形モデルで交互作用をどう表現するか

では、このような交互作用がありそうだとして、線形モデルでどのように表現すればよいか?
「補習のあり・なし」と「性別」の単純な例で考えてみる。

目的変数であるテストの点数を y_i、補習のあり・なしを x_{i1}、性別を x_{i2}とする。ただし x_{i1}は補習ありのとき1、補習なしのとき0をとるものとする。同様に、 x_{i2}は男子学生の場合に1、女子学生の場合に0をとるものとする。まず、補習のあり・なしと性別を説明変数とする線形モデル*4

 \displaystyle
y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \varepsilon_i \hspace{20pt} (i = 1, \cdots, N)
と表せる。
いま関心があるのは補習を受けた時の効果なので、「補習ありのグループと、補習なしのグループとの差」である \beta_1の値がどのくらいになるかを知りたい。
なお、説明変数に x_{i2}を含めることによって、男女間の差(補習の効果とは関係のない、元々の学力の違い)を調整している*5。したがってこのモデルでは、男女間の元々の学力の違いによる影響を取り除いた上で、補習の効果を評価することを意図している。

しかしながら、このモデルでは「男子学生と女子学生とで、補習の効果は同じ」と仮定していることになるため、交互作用を反映するにはモデルの修正が必要となる。
交互作用を反映させるには、以下のように \beta_3 x_{i1} x_{i2}という項を追加する( x_{i1} x_{i2}は、 x_{i1} x_{i2}との掛け算であることに注意されたい)。

 \displaystyle
y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \beta_3 x_{i1} x_{i2} + \varepsilon_i \hspace{20pt} (i = 1, \cdots, N)
このようなモデルをあてはめると、男子学生の補習の効果は「 x_{i1} = 1, x_{i2} = 1の場合」から「 x_{i1} = 0, x_{i2} = 1の場合」を引けばよいので
 \displaystyle
(\beta_0 + \beta_1 + \beta_2 + \beta_3) - (\beta_0 + \beta_2) = \beta_1 + \beta_3
女子学生の補習の効果は「 x_{i1} = 1, x_{i2} = 0の場合」から「 x_{i1} = 0, x_{i2} = 0の場合」を引けばよいので
 \displaystyle
(\beta_0 + \beta_1) - (\beta_0) = \beta_1
となる。つまり、交互作用項のパラメータ \beta_3が、男女間の補習の効果の違いを表している。
f:id:mstour:20210113204238j:plain

最後に連続型の変数との交互作用についても触れておく。
「補習のあり・なし」と「家庭での学習時間」とに交互作用があるとする場合を考えてみよう。先ほどと同様に補習のあり・なしを x_{i1}とし、家庭での学習時間を x_{i2}とする。
この場合も交互作用項としては \beta_3 x_{i1} x_{i2}を追加して

 \displaystyle
y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \beta_3 x_{i1} x_{i2} + \varepsilon_i \hspace{20pt} (i = 1, \cdots, N)
というモデルを用いればよい。
この場合の補習の効果を先ほどと同様に「 x_{i1} = 1の場合」から「 x_{i1} = 0の場合」を引く形で計算してみると
 \displaystyle
(\beta_0 + \beta_1 + \beta_2 x_{i2} + \beta_3 x_{i2}) - (\beta_0 + \beta_2 x_{i2}) = \beta_1 + \beta_3 x_{i2}
となり、家庭での学習時間 x_{i2}によって値が変わってしまう。したがって、このような交互作用が考えられる場合には、全体で共通の補習の効果は計算できず、例えば「家庭学習時間が30分の場合の補習の効果は・・・」のような個々の効果を評価することになる。
f:id:mstour:20210113204252j:plain

まとめ

交互作用の概念と、線形モデルにおける交互作用の表現について紹介した。
実際にデータと解析例を見るとよりわかりやすいけれど、長くなるので、改めてRを用いたシミュレーションを記事にしたいと思う。

今回は以下の文献を参考にした。
[1] J.L.Fleiss(2004), "臨床試験のデザインと解析", アーム.
[2] John M. Lachin(2020), "医薬データのための統計解析", 共立出版.
[3] David W. Hosmer他(2014), "生存時間解析入門", 東京大学出版会.

*1:説明変数に学習時間を入れているので、平均は学習時間によって変動する。

*2:いわゆる共分散分析も、このことを仮定している。

*3:なお、話を単純にするために、補習を受けなかった学生の点数の平均は男女で同じだったとする。

*4:ここでは目的変数に正規分布を仮定した重回帰モデルを用いているが、一般化線形モデルやCox比例ハザードモデルなどでも以降の考え方は同様である。

*5:「交互作用とは」のところでは男女間の元々の違いはないものと単純化していたが、ここではより一般的なケースを考えている。なお補習を受ける・受けないをランダムに割り当てる「ランダム化比較試験」を行えば、補習ありのグループと補習なしのグループの男女比は平均的に等しくなるので、男女間の違いをそれほど厳格に調整しなくてもよい。ただし、性別が結果に非常に強く影響を及ぼすと想定される場合には、ランダム化の際に層別化したり、解析の段階で調整を行ったりする場合も多い。