疫学研究や社会科学研究において、ある事象が別の事象に影響を与えるメカニズムを解明することは非常に重要である。しかし、単に「AがBを引き起こす」というだけでなく、その間に別の要因が介在することがよくある。このような時に登場するのが「媒介因子」「中間因子」「交絡因子」といった概念である。これらの概念は混同されがちであるが、それぞれが持つ意味と役割を理解することは、研究結果を正しく解釈し、より適切な介入策を検討するために不可欠である。本記事では、特に「媒介因子」に焦点を当て、その概要から具体的な例、そして「中間因子」「交絡因子」との違いについて、Rを用いた計算例も交えながら詳しく解説する。
媒介因子の概要と具体例
媒介因子(Mediator)とは、独立変数(原因となる変数)が従属変数(結果となる変数)に影響を与える際に、その因果関係を部分的に、あるいは完全に説明する第三の変数である。つまり、独立変数は直接的に従属変数に影響を与えるのではなく、媒介因子を介して従属変数に影響を与える。
模式的に表すと、以下のようになる。
$$ \text{独立変数} \rightarrow \text{媒介因子} \rightarrow \text{従属変数} $$
例えば、「学習時間が長いほど試験の得点が高くなる」という関係は理にかなっている。この時、「学習時間が長いと理解度が上がり、その結果試験の得点が高くなる」という繋がりが考えられる場合、”理解度”が媒介因子となる。学習時間(独立変数)が理解度(媒介因子)に影響を与え、その理解度(媒介因子)が試験の得点(従属変数)に影響を与えている、という構図である。
媒介因子を特定し、その影響を分析することで、因果関係の「なぜ?」をより深く理解することが可能となる。
媒介因子、中間因子、交絡因子の違い
ここで、混同しやすい「中間因子」と「交絡因子」との違いを明確にしておく。
- 媒介因子(Mediator):独立変数が従属変数に影響を与える「経路」の一部となる変数。独立変数が媒介因子に影響を与え、媒介因子が従属変数に影響を与えるという、因果の連鎖の中に位置する。媒介因子を統計的に調整(コントロール)すると、独立変数と従属変数の直接的な関係が弱まる、あるいは消失することが期待される。
- 中間因子(Intermediate Variable):媒介因子とほぼ同義で使われることが多いが、文脈によっては特定の時点での「中間的なアウトカム」を指すこともある。しかし、因果の経路を説明する役割という意味では、媒介因子と同じと考えて差し支えない。
- 交絡因子(Confounder):独立変数と従属変数の両方に関連し、かつ独立変数と従属変数の因果経路には含まれない第三の変数である。交絡因子が存在すると、独立変数と従属変数の間の見かけ上の関係が、実際よりも強く見えたり、弱く見えたり、あるいは存在しない関係があるように見えたりすることがある。交絡因子は、真の因果関係を歪めるため、研究においては統計的に調整(コントロール)する必要がある。
模式的に表すと、以下のようになる。
交絡因子:
$$ \text{独立変数} \leftarrow \text{交絡因子} \rightarrow \text{従属変数} $$
媒介因子:
$$ \text{独立変数} \rightarrow \text{媒介因子} \rightarrow \text{従属変数} $$
重要な違いは、交絡因子が「独立変数と従属変数の両方に影響を与える外部の要因」であるのに対し、媒介因子は「独立変数が従属変数に影響を与えるメカニズムの一部」であるという点である。交絡因子は「取り除くべき歪み」であり、媒介因子は「解明すべきメカニズム」であると考えると分かりやすいだろう。
具体例のR計算例
ここでは、媒介効果を分析するための代表的な方法である回帰分析を用いたアプローチをRで示す。架空のデータを用いて、「学習時間」が「試験の得点」に与える影響を「理解度」が媒介するかどうかを検証する。
R スクリプト例:
# データの作成 (架空のデータ)
set.seed(123) # 再現性のためのシード設定
n <- 100 # サンプルサイズ
学習時間 <- round(runif(n, 1, 10)) # 1時間から10時間の間で一様乱数
理解度 <- round(2 * 学習時間 + rnorm(n, 0, 1)) # 学習時間が理解度に影響
試験の得点 <- round(3 * 理解度 + 5 * 学習時間 + rnorm(n, 0, 5)) # 理解度と学習時間の両方が試験の得点に影響
# データフレームにまとめる
df <- data.frame(学習時間, 理解度, 試験の得点)
# 1. 学習時間が試験の得点に与える直接効果 (媒介因子を考慮しない場合)
model_total_effect <- lm(試験の得点 ~ 学習時間, data = df)
summary(model_total_effect)
# 2. 学習時間が理解度に与える影響
model_mediator_path <- lm(理解度 ~ 学習時間, data = df)
summary(model_mediator_path)
# 3. 理解度が試験の得点に与える影響 (学習時間を調整)
model_outcome_path <- lm(試験の得点 ~ 理解度 + 学習時間, data = df)
summary(model_outcome_path)
# 媒介効果の計算 (Baron & Kenny の手法に基づく)
# 直接効果 (c') = model_outcome_path の学習時間の係数
# 間接効果 (ab) = model_mediator_path の学習時間の係数 * model_outcome_path の理解度の係数
# 全効果 (c) = model_total_effect の学習時間の係数
# 結果の表示 (手計算で確認)
total_effect <- coef(model_total_effect)["学習時間"]
direct_effect <- coef(model_outcome_path)["学習時間"]
indirect_effect <- coef(model_mediator_path)["学習時間"] * coef(model_outcome_path)["理解度"]
cat("全効果 (Total Effect):", total_effect, "\n")
cat("直接効果 (Direct Effect):", direct_effect, "\n")
cat("間接効果 (Indirect Effect):", indirect_effect, "\n")
cat("直接効果 + 間接効果 (c' + ab):", direct_effect + indirect_effect, "\n")
# さらに詳細な媒介分析を行うパッケージ (例: `mediation` パッケージ) を利用することも推奨される。
# install.packages("mediation")
# library(mediation)
# med.result <- mediate(model_mediator_path, model_outcome_path, treat="学習時間", mediator="理解度", boot=TRUE)
# summary(med.result)
実行結果:
> # 1. 学習時間が試験の得点に与える直接効果 (媒介因子を考慮しない場合)
> model_total_effect <- lm(試験の得点 ~ 学習時間, data = df)
> summary(model_total_effect)
Call:
lm(formula = 試験の得点 ~ 学習時間, data = df)
Residuals:
Min 1Q Median 3Q Max
-11.7525 -3.6767 -0.6388 3.8685 13.1717
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.2831 1.2234 0.231 0.817
学習時間 10.9242 0.2026 53.908 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5.264 on 98 degrees of freedom
Multiple R-squared: 0.9674, Adjusted R-squared: 0.967
F-statistic: 2906 on 1 and 98 DF, p-value: < 2.2e-16
> # 2. 学習時間が理解度に与える影響
> model_mediator_path <- lm(理解度 ~ 学習時間, data = df)
> summary(model_mediator_path)
Call:
lm(formula = 理解度 ~ 学習時間, data = df)
Residuals:
Min 1Q Median 3Q Max
-1.9446 -0.9234 0.0681 1.0554 2.0892
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.04698 0.23770 -0.198 0.844
学習時間 1.99578 0.03937 50.692 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.023 on 98 degrees of freedom
Multiple R-squared: 0.9633, Adjusted R-squared: 0.9629
F-statistic: 2570 on 1 and 98 DF, p-value: < 2.2e-16
> # 3. 理解度が試験の得点に与える影響 (学習時間を調整)
> model_outcome_path <- lm(試験の得点 ~ 理解度 + 学習時間, data = df)
> summary(model_outcome_path)
Call:
lm(formula = 試験の得点 ~ 理解度 + 学習時間, data = df)
Residuals:
Min 1Q Median 3Q Max
-7.1760 -3.6993 -0.8468 2.9250 15.3789
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.3949 1.0907 0.362 0.718
理解度 2.3793 0.4634 5.134 1.46e-06 ***
学習時間 6.1756 0.9424 6.553 2.71e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.692 on 97 degrees of freedom
Multiple R-squared: 0.9743, Adjusted R-squared: 0.9738
F-statistic: 1842 on 2 and 97 DF, p-value: < 2.2e-16
> cat("全効果 (Total Effect):", total_effect, "\n")
全効果 (Total Effect): 10.92419
> cat("直接効果 (Direct Effect):", direct_effect, "\n")
直接効果 (Direct Effect): 6.175633
> cat("間接効果 (Indirect Effect):", indirect_effect, "\n")
間接効果 (Indirect Effect): 4.748561
> cat("直接効果 + 間接効果 (c' + ab):", direct_effect + indirect_effect, "\n")
直接効果 + 間接効果 (c' + ab): 10.92419
結果解釈
上記Rコードの出力結果を基に解釈を行う。
model_total_effect
の解釈:学習時間
の係数(Total Effect: c)は、学習時間
が試験の得点
に与える直接的な(媒介因子を考慮しない)影響を示す。この係数が統計的に有意であれば、学習時間
が試験の得点
に何らかの影響を与えていることが示唆される。
model_mediator_path
の解釈:学習時間
の係数(Path a: a)は、学習時間
が理解度
に与える影響を示す。これが統計的に有意であれば、学習時間
が増えることで理解度
も向上することが分かる。これは媒介効果の第一段階である。
model_outcome_path
の解釈:理解度
の係数(Path b: b)は、学習時間
を調整した上で、理解度
が試験の得点
に与える影響を示す。これが統計的に有意であれば、理解度
が高いほど試験の得点
も高くなることが示唆される。学習時間
の係数(Direct Effect: c′)は、理解度
を調整した上での学習時間
が試験の得点
に与える直接的な影響を示す。もし、model_total_effect
の学習時間
の係数と比較してこの係数が小さくなるか、統計的に有意でなくなった場合、理解度
が媒介因子として機能している可能性が高い。
媒介効果の判断:
- 全効果 (c) の存在: 独立変数と従属変数間に有意な関係があること。
- Path a (a) の存在: 独立変数が媒介因子に有意な影響を与えること。
- Path b (b) の存在: 独立変数で調整した上で、媒介因子が従属変数に有意な影響を与えること。
- 直接効果 (c′) の減少または非有意化: 全効果と比較して、媒介因子をモデルに含めることで独立変数から従属変数への直接的な影響が有意に減少するか、統計的に有意でなくなること。
間接効果(ab)は、独立変数が媒介因子を介して従属変数に与える影響の大きさを表す。一般的に、全効果 (c) は直接効果 (c′) と間接効果 (ab) の合計として表現される (c=c′+ab)。
上記のRの計算結果では、手計算でこれらの値を出力している。
mediationパッケージのような専用のツールを使用すると、より厳密なブートストラップ法などを用いた信頼区間の算出や、より複雑なモデルの分析が可能となる。
まとめ
本記事では、研究デザインにおいて非常に重要な概念である「媒介因子」について解説した。媒介因子は、独立変数が従属変数に影響を与えるメカニズムを解明するための鍵となる変数である。中間因子とほぼ同義で用いられることが多いが、因果関係を歪める「交絡因子」とはその役割が大きく異なる。
媒介因子を適切に分析することは、単なる相関関係の把握に留まらず、因果関係の「なぜ?」を深く理解し、より効果的な介入策や政策を立案するための基礎となる。Rなどの統計ソフトウェアを用いることで、これらの複雑な関係性を定量的に分析することが可能である。研究を行う際には、媒介因子、中間因子、交絡因子それぞれの役割を明確に理解し、適切な分析手法を選択することが、質の高い研究成果へと繋がるだろう。
コメント