一、中介效應的概念
中介效應(Mediation)是指當一個自變量對因變量的關系不再顯著,或者減弱,甚至在加上中介變量后關系轉為顯著,或增強的一種情況。意味著中介變量在原始變量和結果變量之間扮演了某種角色。
舉個例子,研究員想要了解糖分飲料與兒童肥胖的關系。研究員可以控制年齡、性別和運動等其他變量,從而判斷兩者之間是否存在因果關系。但同時,可以發現其他變量并沒有減少糖分和肥胖之間的聯系。這時,研究員提出了“飲料消耗量”作為中介變量,即飲料消耗量可能是肥胖與糖分飲料之間的直接關聯因素。這就是中介效應。
中介效應常伴隨著“確認中介變量是否存在”和“驗證中介效應的大小是否足夠”等問題。對于科學家來說,確認中介變量是否存在很重要,因為中介變量在原始變量和結果變量之間,其中之一可以發生變化并不影響中介變量,或者其他變量可以同時影響原始變量和中介變量。當然,驗證中介效應的大小是否足夠也很重要,這可以幫助確定中介變量與結果變量之間的關系。
二、中介效應的實現
在Stata中,中介效應主要是通過回歸模型來實現的。
首先,我們可以使用簡單的線性回歸模型 $y = \beta_0 + \beta_1 x + e $ 來對原始變量與結果變量之間的關系進行評估,其中 $e$ 代表誤差項。然后,我們可以添加一個中介變量 $m$,并引入附加回歸模型來計算中介效應。
reg y x
predict y_hat, xb
reg m x
predict m_hat, xb
reg y m x
test m
在這個代碼示例中,我們首先通過簡單的線性回歸模型來計算原始變量與結果變量之間的關系,并用 predict 函數計算出其預測值。接下來,我們使用中介變量和原始變量來引入一個附加回歸模型,并用 predict 函數計算中介變量的預測值。最后,我們重新計算一個新的線性回歸模型,使用中介變量和原始變量作為自變量,用來驗證中介效應是否顯著。
三、中介效應的模擬
為了更好地理解中介效應,我們可以進行一些模擬實驗。
我們可以使用下面的代碼生成一個自變量 $x$、一個中介變量 $m$ 和一個結果變量 $y$。
clear
set obs 1000
gen x = rnormal()
gen m = rnormal()
gen y = 0.2*x + 0.3*m + rnormal()
通過上面的代碼,我們創建了一個包含1000個觀察值的數據集,其中自變量 $x$ 和中介變量 $m$ 均為正態分布。而結果變量 $y$ 則由 $x$ 和 $m$ 以及一個誤差項組成。我們可以使用以下命令繪制這三個變量之間的散點圖。
scatter y x m
接著,我們可以通過以下命令估計 $x$ 與 $y$ 之間的直接聯結(模型1)和間接聯結(模型2)。
reg y x
predict yhat, xb
reg m x
predict mhat, xb
reg y m x
test m
最后,我們可以使用以下命令估計中介效應。
qui sum x
scalar xm = r(mean)
qui sum yhat
scalar yhatm = r(mean)
qui sum mhat
scalar mhatm = r(mean)
scalar indirect = xm*mhatm
scalar direct = yhatm - indirect
scalar total = _b[x]*xm
scalar mediated = indirect/total
display "Direct: " direct
display "Indirect: " indirect
display "Total: " total
display "Mediated: " mediated
在這個例子中,模型1和模型2分別是 $y = \beta_0 + \beta_1 x + e $ 和 $m = \alpha_0 + \alpha_1 x + e $,而模型3是 $y = \gamma_0 + \gamma_1 m + \gamma_2 x + e $,其中 $e$ 代表誤差項。使用 test 命令檢查中介效應是否顯著,使用 scalar 命令計算直接和間接效應的大小,并使用計算公式計算總效應和中介效應的大小。
四、結論
中介效應是一種描述變量之間關聯的方法。通過Stata中介效應的實現和模擬實驗,我們可以更好地理解中介效應的概念和計算方法。該方法在社會科學和醫學研究中非常常見,并被廣泛應用于哪些變量之間存在著間接路徑或影響鏈的研究。