Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第45回 重回帰分析と交互作用

第44回の補足 階層的重回帰分析について書きます。

階層的重回帰分析は、階層構造をもたせてモデルを構築することで、説明力が増加するかどうかや、変数間の媒介関係を検討することを目的としている回帰分析です。

□階層的重回帰分析の考え方

変数間の媒介関係を検討する場合、階層的重回帰分析の基本的な考え方は以下の図に基づきます。yに対するxの総効果を「直接効果」とzを媒介した「間接効果」に分解することで、変数の影響を明らかにしようとします。f:id:teruaki-sugiura:20150809002824p:plain

x2→yの矢印が直接効果を表し、x2→x3→yの矢印がx2の間接効果を表します。x1、x2の2つの説明変数を投入し、yへの回帰分析を行い、x2が有意な変数だった場合に、x3を投入することで、x2が有意でなくなれば、媒介関係があったといえます。そしてx3は媒介変数といえます。

demo <- read.csv("hie.csv")
demo
   x1 x2 x3 y
1   4 7  5 4
2   7 8  4 1
3   5 7  5 4
4   2 6  6 9
5   3 7  6 6
6   5 8  5 6
7   8 2  6 8
8   1 5  7 9
9   8 4  5 4
・・・
 
lm.1 <- lm(y~x1,data=demo)
lm.2 <- lm(y~x1+x2,data=demo)
lm.3 <- lm(y~x1+x2+x3,data=demo) 
summary(lm.1)
 
Call:
lm(formula = y ~ x1, data = demo)
 
Residuals:
   Min     1Q Median     3Q     Max
-3.4726 -1.4962 0.2632 1.1028 4.0369
 
Coefficients:
           Estimate Std. Error t value Pr(>|t|)  
(Intercept)   8.0388     0.8850   9.083 3.84e-08 ***
x1           -0.5095     0.1883 -2.706   0.0145 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
Residual standard error: 1.936 on 18 degrees of freedom
Multiple R-squared: 0.2892,     Adjusted R-squared: 0.2497
F-statistic: 7.324 on 1 and 18 DF, p-value: 0.01446
 
summary(lm.2)
 
Call:
lm(formula = y ~ x1 + x2, data = demo)
 
Residuals:
   Min     1Q Median     3Q     Max
-2.7068 -1.2195 -0.1286 1.3864 2.8420
 
Coefficients:
           Estimate Std. Error t value Pr(>|t|)  
(Intercept)   9.9625     1.1874   8.390 1.9e-07 ***
x1           -0.4951     0.1710 -2.895   0.0101 *
x2           -0.4218     0.1917 -2.200   0.0419 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
Residual standard error: 1.758 on 17 degrees of freedom
Multiple R-squared: 0.4468,     Adjusted R-squared: 0.3817
F-statistic: 6.864 on 2 and 17 DF, p-value: 0.006528
 
summary(lm.3)
 
Call:
lm(formula = y ~ x1 + x2 + x3, data = demo)
 
Residuals:
   Min     1Q Median     3Q     Max
-2.9064 -0.7117 -0.2213 0.8503 2.2762
 
Coefficients:
           Estimate Std. Error t value Pr(>|t|)  
(Intercept)   7.9627     1.0938   7.280 1.84e-06 ***
x1           -0.4711     0.1337 -3.523 0.00282 **
x2           -0.6525     0.1640 -3.979 0.00108 **
x3           0.7108     0.2063   3.446 0.00332 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
Residual standard error: 1.373 on 16 degrees of freedom
Multiple R-squared: 0.6825,     Adjusted R-squared: 0.6229
F-statistic: 11.46 on 3 and 16 DF, p-value: 0.0002922
 
AIC(lm.1,lm.2,lm.3)
     df      AIC
lm.1 3  87.08265
lm.2 4  84.07063
lm.3 5  74.96593

R2変化量(ΔR2)を見てみると、0.24→0.38→0.62と当てはまりが良くなっていることがわかる。そのためx1だけのモデルよりもx3まで投入したモデルの方が説明力が増していることが確認できます。SPSSではR2変化量の検定がオプションで追加できたのですが、Rではやり方がわかりません(後日、でき次第かきます)。しかし、追加した変数の偏回帰係数が有意であれば、R2変化量も同時に有意になることは知られています。そしてこのような結果の場合、R2も高く、AICが低いモデル(lm.3)を選択すればよさそうです。今回のデータでは、媒介関係があるとはいえませんが、媒介変数がある場合、x3を投入した際に、x1かx2の✴︎がなくなります。

 

以上でおしまい。