logo

回帰分析における交互作用 📂統計的分析

回帰分析における交互作用

ビルドアップ

まず、質的変数を含む回帰分析について読むことをおすすめする。

今年の就職者全体の、大学入学試験のスコア$X_{1}$、年齢$X_{2}$、性別$S$、最終学歴$E$から、初任給$Y$を推測してみよう。質的変数が存在するため、性別を

$$ S = \begin{cases} 1 & ,\text{여성} \\ 0 & ,\text{남성} \end{cases} $$

そして、学歴を

$$ E_{1} = \begin{cases} 1 & ,\text{대졸} \\ 0 & ,\text{고졸} \end{cases} \\ E_{2} = \begin{cases} 1 & ,\text{석사} \\ 0 & ,\text{고졸} \end{cases} \\ E_{3} = \begin{cases} 1 & ,\text{박사} \\ 0 & ,\text{고졸} \end{cases} $$

と定義すると、回帰式は

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \beta_{3} S + \gamma_{1} E_{1} + \gamma_{2} E_{2} + \gamma_{3} E_{3} + \varepsilon $$

のように表されるだろう。推測するに、大学入試のスコアが高いほど賢かったり、勤勉で、年齢が高いほど経験が豊富で、高強度の体力労働を行う人は主に男性であり、学歴が高ければ専門性を要求される仕事をしているため、初任給も高くなるだろう。

しかし、このような仮定は$X_{1} , X_{2} , S , E$が互いに独立しているという前提があってのことだ。すぐに目につく問題は、年齢と最終学歴だ。一部の天才を除いて、通常、修士よりも学士、博士よりも修士の社会進出が遅いのは当然だ。反対に、20歳で就職する人がいれば、この人の学歴はほぼ間違いなく高校卒業以下だ。経験者でない限り、年齢はある程度学歴と関係があるだろうし、独立という前提が崩れる。同じ社会の新入社員であっても、韓国では男性の社会進出が女性より遅れる傾向にあるため、性別も就職年齢に影響を与えることが示唆される。

定義 1

このように、単一変数だけではわからない変数間の作用を交互作用という。

統計の偽造の正体

単に平均だけを比較して性別間の賃金格差があるとか、いきなり大卒が高卒より多く受け取るという言葉は、統計的に見て非常に疑わしい主張だ。もちろん、それらの主張が真実である可能性もあるが、それを証明するためには、きれいに装飾されたインフォグラフィックや理解しやすい指標を見るのではなく、様々な角度からデータを検討し、退屈かもしれないが統計的な意味を持つ分析法で得られた結果が裏付けされる必要がある。

統計を利用して偽情報を撒き散らす者たちが最も頻繁に使う言葉は「統計的に数値的な差がある」というものだが、実際は「平均的に数値的な差があること」がほとんどだ。統計と平均は違う。せめて交互作用を知るほどに統計を勉強したなら、騙されないようにしよう。 質的変数との交互作用を解決するためには、主に二つの変数を掛け合わせる方法を好んで使う。例えば、

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \beta_{3} S + \gamma E + \varepsilon $$

年齢$X_{2}$と性別$S$の交互作用を考慮したい場合は、$X_{2} \cdot S$のような新しい変数が追加されることで、男性の場合の年齢と女性の場合の年齢を考慮できるようになる。 新しい項が追加された回帰式を

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \delta ( X_{2} \cdot S ) + \beta_{3} S + \gamma E + \varepsilon $$

とすると、男性の場合は

$$ Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2} + \gamma E + \varepsilon $$

女性の場合は

$$ Y = \beta_{0} + \beta_{1} X_{1} + ( \beta_{2} + \delta ) X_{2} + \beta_{3} + \gamma E + \varepsilon $$

となる。幾何学的に言えば、年齢に応じた回帰直線の切片と傾きの両方が変わり、性別を考慮した比較が可能になる。 Rでは、このように回帰式を設定するとそのまま分析される。ヒントとして、全変数に対して二乗(^2)表現を使うと、変数間の掛け算が可能な全ての場合について自動的に計算される。

実習

(質的変数を含む回帰分析に続いて)

20180927\_102536.png

20180920\_094549.png out1は交互作用を考慮しない回帰分析で、out2は交互作用を考慮した回帰分析だ。 要約を見ると、suppVC:doseが有意で係数が正であることから、基本的にビタミンを摂取するグループの歯の長さは短いが、摂取量が多ければビタミンを摂取するグループの歯の長さもかなり長くなることが示される。オレンジジュースを1単位増やすごとに伸びる歯の長さは$7.811 \cdots$だが、ビタミンを1単位増やすごとに伸びる歯の長さは$7.811 \cdots + 3.904 \cdots = 11.715 \cdots$だ。少量を投与する場合はオレンジジュースが、大量を投与する場合はビタミンが歯の長さに助けとなるという意味だ。 1.png 2.png Plot 1は交互作用を考慮しない回帰分析に対する標準化残差図で、「Plot 2」は交互作用を考慮した回帰分析に対するものである。「Plot 2」にはまだ気になる点が残っているが、明らかに「Plot 1」に比べて改善されていることがわかる。 分析を行うと、$A$や$B$は有意でないが、$a \ast b$が有意になる場合がある。もちろん、このような場合には非常に注意深いアプローチが必要だが、分析が正しく行われた場合、$A$と$B$は有意ではなくても回帰式に含まれるべきだということを覚えておくことが重要だ。当然ながら、$A$または$B$のどちらか一方が有意でなくても、両方を含める必要がある。

コード

以下は、例のコードだ。このポストでは、lm()関数を使ってout2を作成するための二つの方法が同じだ。

head(ToothGrowth); tail(ToothGrowth); str(ToothGrowth)
out2<-lm(len~.^2,data=ToothGrowth); summary(out2)
out2<-lm(len~.+supp*dose,data=ToothGrowth); summary(out2)
 
win.graph(5,5); plot(rstudent(out2), main="Standardized Residual Plot 2"); abline(h=0)

  1. Hadi. (2006). Regression Analysis by Example(4th Edition): p125127. ↩︎