MENU

【無料プレゼント付き】学会発表・論文投稿に必要な統計を最短で学ぶことができる無料メルマガ

媒介効果と調整効果:2つの「影響」を理解する

研究論文やデータ分析でよく耳にする「媒介効果」と「調整効果」。どちらも変数間の関係性を深く掘り下げる際に重要な概念であるが、その意味するところは大きく異なる。本記事では、これら二つの効果の違いを明確にし、具体的な例とRでの計算例を交えながら、それぞれの解釈方法までをわかりやすく解説する。自身のデータ分析の精度を一段と高めるために、ぜひ最後まで読んでほしい。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

目次

概要:媒介効果と調整効果の違い

  • 媒介効果(Mediator Effect)とは、ある独立変数(X)が従属変数(Y)に影響を与える際に、その間に別の変数(M)が介在し、XからYへの影響がMを介して生じる関係性のことである。MはXとYの関係を「媒介する」役割を果たす。つまり、「XがMを引き起こし、MがYを引き起こす」という因果の連鎖を考える。
  • 調整効果(Moderator Effect)とは、ある独立変数(X)が従属変数(Y)に与える影響の強さや方向が、別の変数(W)の値によって変化する関係性のことである。WはXとYの関係を「調整する」役割を果たす。つまり、「XとYの関係性はWの値によって異なる」という交互作用を考える。
特徴媒介効果(Mediator)調整効果(Moderator)
役割独立変数と従属変数の関係を「媒介」する独立変数と従属変数の関係を「調整」する
関係性X → M → Y (因果の連鎖)(X → Y)← W (交互作用)
問いかけなぜXはYに影響を与えるのか?いつ(または誰にとって)XはYに影響を与えるのか?

具体例

媒介効果の例:

  • 「学習時間(X)」が「試験成績(Y)」に与える影響は、「理解度(M)」によって媒介される。
    • 学習時間が増えるほど理解度が上がり、理解度が上がるほど試験成績が向上するという関係性である。学習時間自体が直接的に試験成績を上げるのではなく、理解度を介して影響を与えると考えられる。

調整効果の例:

  • 「新しい学習方法の導入(X)」が「試験成績(Y)」に与える影響は、「元々の学力レベル(W)」によって調整される。
    • 新しい学習方法が、元々の学力が低い生徒には大きな効果をもたらすが、元々の学力が高い生徒にはあまり効果がない、あるいは逆効果になる場合も考えられる。この場合、元々の学力レベルが学習方法と試験成績の関係性を調整している。

R 計算例

ここでは、先ほどの例を参考に、Rを用いた簡略な計算例を示す。実際の分析では、さらに厳密なモデル選択や仮定の確認が必要である。

媒介効果のRでの計算例(lavaanパッケージを使用)

学習時間、理解度、試験成績の架空データを作成する。

R スクリプト例:

# パッケージのインストール(初回のみ)
# install.packages("lavaan")

# 必要なパッケージの読み込み
library(lavaan)

# 架空データの作成
set.seed(123)
data_mediation <- data.frame(
  learning_time = round(rnorm(100, 10, 2)), # 学習時間
  understanding = round(rnorm(100, 50, 10) + 2 * rnorm(100, 10, 2)), # 理解度(学習時間に影響される)
  exam_score = round(rnorm(100, 70, 15) + 0.5 * rnorm(100, 50, 10)) # 試験成績(理解度に影響される)
)

# 媒介モデルの指定
mediation_model <- '
  # 回帰パス
  understanding ~ a * learning_time
  exam_score ~ b * understanding + c * learning_time

  # 間接効果(媒介効果)の計算
  indirect := a * b

  # 全効果の計算
  total := c + (a * b)
'

# モデルの実行
fit_mediation <- sem(mediation_model, data = data_mediation)

# 結果の要約
summary(fit_mediation, standardized = TRUE, fit.measures = TRUE)

実行結果:

> summary(fit_mediation, standardized = TRUE, fit.measures = TRUE)
lavaan 0.6-19 ended normally after 1 iteration

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         5

  Number of observations                           100

Model Test User Model:
                                                      
  Test statistic                                 0.000
  Degrees of freedom                                 0

Model Test Baseline Model:

  Test statistic                                 1.494
  Degrees of freedom                                 3
  P-value                                        0.684

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000
  Tucker-Lewis Index (TLI)                       1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)               -795.795
  Loglikelihood unrestricted model (H1)       -795.795
                                                      
  Akaike (AIC)                                1601.590
  Bayesian (BIC)                              1614.616
  Sample-size adjusted Bayesian (SABIC)       1598.825

Root Mean Square Error of Approximation:

  RMSEA                                          0.000
  90 Percent confidence interval - lower         0.000
  90 Percent confidence interval - upper         0.000
  P-value H_0: RMSEA <= 0.050                       NA
  P-value H_0: RMSEA >= 0.080                       NA

Standardized Root Mean Square Residual:

  SRMR                                           0.000

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  understanding ~                                                       
    learnng_tm (a)   -0.384    0.577   -0.665    0.506   -0.384   -0.066
  exam_score ~                                                          
    undrstndng (b)   -0.036    0.155   -0.233    0.816   -0.036   -0.023
    learnng_tm (c)   -0.909    0.895   -1.015    0.310   -0.909   -0.101

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .understanding   108.204   15.302    7.071    0.000  108.204    0.996
   .exam_score      258.821   36.603    7.071    0.000  258.821    0.990

Defined Parameters:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    indirect          0.014    0.063    0.220    0.826    0.014    0.002
    total            -0.895    0.893   -1.002    0.316   -0.895   -0.100

> 

調整効果のRでの計算例(標準的な回帰分析を使用)

新しい学習方法の導入、試験成績、元々の学力レベルの架空データを作成する。

R スクリプト例:

# 架空データの作成
set.seed(456)
data_moderation <- data.frame(
  new_method = sample(0:1, 100, replace = TRUE), # 新しい学習方法の導入(0:なし, 1:あり)
  initial_ability = round(rnorm(100, 60, 10)) # 元々の学力レベル
)
# 試験成績(新しい学習方法と初期学力の交互作用を考慮)
data_moderation$exam_score <- 
  round(70 + 5 * data_moderation$new_method + 0.3 * data_moderation$initial_ability + 
  -0.2 * data_moderation$new_method * data_moderation$initial_ability + rnorm(100, 0, 5))

# 調整効果(交互作用項)を含む回帰モデルの指定
# I()で交互作用項を明示的に指定
moderation_model <- lm(exam_score ~ new_method * initial_ability, data = data_moderation)

# モデルの要約
summary(moderation_model)

実行結果:

> summary(moderation_model)

Call:
lm(formula = exam_score ~ new_method * initial_ability, data = data_moderation)

Residuals:
    Min      1Q  Median      3Q     Max 
-11.742  -3.504   0.420   3.554  10.212 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                66.72526    4.63566  14.394  < 2e-16 ***
new_method                  8.97447    6.29060   1.427  0.15693    
initial_ability             0.36660    0.07679   4.774 6.46e-06 ***
new_method:initial_ability -0.28576    0.10390  -2.750  0.00712 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.922 on 96 degrees of freedom
Multiple R-squared:  0.4874,    Adjusted R-squared:  0.4714 
F-statistic: 30.43 on 3 and 96 DF,  p-value: 6.514e-14

> 

結果解釈

媒介効果の解釈:

lavaanパッケージの出力では、以下の点に注目する。

  • aパス(独立変数 → 媒介変数)の有意性: 学習時間が理解度に有意な影響を与えているか。
  • bパス(媒介変数 → 従属変数)の有意性: 理解度が試験成績に有意な影響を与えているか。
  • cパス(独立変数 → 従属変数)の有意性(直接効果): 理解度を統制した上で、学習時間が試験成績に直接的な影響を与えているか。
  • indirect(間接効果)の有意性: 媒介効果が存在するかどうかを示す。これが有意であれば、学習時間が理解度を介して試験成績に影響を与えていると言える。
  • total(全効果): 媒介効果と直接効果を合わせた独立変数から従属変数への全体の影響である。

もし間接効果が有意で、直接効果が有意でなければ「完全媒介」、直接効果も有意であれば「部分媒介」と解釈される。

調整効果の解釈:

回帰分析の出力では、new_method:initial_abilityと出力されている、交互作用項に注目する。

  • 交互作用項の係数とp値: この係数が有意であれば、調整効果が存在すると判断できる。
    • 係数が正の場合:initial_abilityが高いほど、new_methodexam_scoreに与える正の影響が強まる、または負の影響が弱まる。
    • 係数が負の場合:initial_abilityが高いほど、new_methodexam_scoreに与える正の影響が弱まる、または負の影響が強まる。

この例では、new_methodinitial_abilityの交互作用項の係数とp値を見ることで、元々の学力レベルが新しい学習方法の試験成績への効果をどのように調整しているかを判断する。例えば、交互作用項が負で有意であれば、「元々の学力レベルが高いほど、新しい学習方法の効果は小さくなる」と解釈できる。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

まとめ

媒介効果と調整効果は、変数間の関係性を深く理解するための強力なツールである。媒介効果は「なぜ」ある影響が生じるのかというメカニズムを、調整効果は「いつ」「どのような条件下で」ある影響が生じるのかという状況を明らかにする。これらの概念を適切に使い分けることで、より精緻なデータ分析が可能となり、研究やビジネスにおける意思決定に貢献できるであろう。ぜひ自身のデータでこれらの分析を試してみてほしい。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

コメント

コメントする

目次