公告

[公告]
2014/01/17
由於已經是faculty的關係,不太有足夠時間寫部落格。因此更新的速度會相當緩慢。再加上近幾年來SAS GLOBAL FORUM沒有出現讓我覺得驚艷的技術文件,所以能分享的文章相對也減少許多。若有人推薦值得分享的SAS技術文件,請利用『問題討論區』告知。

2013/07/19
臉書留言板的功能因為有不明原因故障,因此特此移除。而intensedebate的留言板因管理不易,也一併移除。目前已經開啟內建的 G+ 留言系統,所以請有需要留言的朋友,可直接至『問題討論區』裡面留言。


2009年6月18日 星期四

Examining Mediator and Moderator effect using Rural Women HIV Study

原文載點:http://support.sas.com/resources/papers/proceedings09/191-2009.pdf

這一篇技術文件是簡單地利用一個真正的女性HIV資料來教如何使用 SAS 檢定 mediator(或稱 mediation) 和 moderator。關於 mediator 和 moderator 的定義請參照:

Mediator:http://davidakenny.net/cm/mediate.htm
Moderator:http://davidakenny.net/cm/moderation.htm

首先,這個資料背景是來自一個cross-sectional的長期研究裡面所抽出來的第一次面訪資料,總計有 280 位遭到 HIV 感染的女性。

Baron & Kenny (1986) 首度發表檢測 mediator 的方法,整個流程要跑三個迴歸模式(Eq1, Eq2, Eq3),並且要符合四個準則(C1, C2, C3, C4)。三個迴歸模式分別為:
(Eq1) IV -> DV
(Eq2) IV -> M (Mediator)
(Eq3) IV + M -> DV

前兩個準則 C1 和 C2 是,如果 Eq1 和 Eq2 都出現顯著的結果,基本上就表示 Mediator 可能是存在的。此外,還需要另兩個存在於 Eq3 的準則需要符合:
(C3) M 在 Eq3 一定要顯著。
(C4) IV 的估計參數在 Eq3 要降到 0。

若這四個準則都達成了,則可以說這個 M 變數是 full mediator。如果 C4 沒有達成,則稱 M 為 partial mediator。

最後,再用 Sobel test 來檢定一個 mediator 是否顯著地將 IV -> DV 的總效應完全取代。

因此,在這個 HIV Women 的資料庫中,定義 Available Social Support (tssqav) 為 IV,Reason for Missing Medication (treas) 為 DV,而 mediator 變數則為 Spiritual Activity (tcopesa)。

我們可以連續用三個 PROC REG 程序把 Eq1~Eq3 給建立起來:
ods rtf;
ods listing close;
proc reg data=two;
model treas = tssqav / stb pcorr2 scorr2;
title ' Regression model / step1 y=x' ;
run;
proc reg data=two;
model tcopesa = tssqav / stb pcorr2 scorr2;
title ' Regression model / step2 m=x' ;
run;
proc reg data=two;
model treas = tssqav tcopesa / stb pcorr2 scorr2;
title ' Regression model / step3 y=m x' ;
run;
ods rtf close;
ods listing;
quit;
run;
第一個 PROC REG 得到 β=-0.98 (p-value=0.02),因此 C1 達成。第二個 PROC REG 程序得到 β=0.143 (p-value=0.003),因此 C2 也達成。至於 Eq3 的配適結果,得到 (β1, β2)=(-0.79, -0.44),其 p-value 分別為 0.055 和 0.02,表示 M 在 Eq3 依舊顯著,但 IV 在 Eq3 變成不顯著了。所以基本上 C3 是達成了,但由於 β1 沒有降到接近 0,所以 C4 不算達成,因此 Spiritual Activity 只能稱是個 partial mediator,而不是 full mediator。

不過本篇技術文件並沒有繼續去做 Sobel test,但前北卡大心理系教授 Dr. Preacher 和 OSU 教授 Dr. Hayes 曾經在 2004 年發表了一篇關於 Sobel test 的論文,裡面有附完整的 Sobel test SAS macro。

原文:http://www.comm.ohio-state.edu/ahayes/BRMIC2004.pdf
程式:here
語法:%sobel(data=file, y=dv, x=iv, m=med, boot=z);

其中,data表示想要呼叫進來使用的資料,y 是放 DV 變數名稱,x 是放 IV 變數名稱, m 是放 mediator 變數名稱,而 boot 則是指定要做 bootstrap resampling 的次數,從 1000 到 1000000 之間任一數字皆可。如果不想用的話就直接寫 0,這樣一來 %sobel 會自動關閉 bootstrap resampling 的功能。

網路上也有不少的 Sobel test calculator,可自行用 google 搜尋。

那麼,要進行 moderator 的檢定,則需要配適這個迴歸模型:IV+M+IV*M -> DV。如果 IV*M 的估計參數是顯著的話,則表示 M 是 IV 和 DV 的 moderator。程式如下:

ods rtf;
ods listing close
proc reg data=two;
model treas = tssqav tcopesa sscopesa/ stb pcorr2 scorr2;
title ' Regression model / testing moderator effect' ;
run;
ods rtf close;
ods listing;
quit;
run;
其中 sscopesa 是 tssqav 和 tcopesa 的交互作用項,這是由於 PROC REG 程序裡面不能使用 tssqav*tcopesa 這種語法來代表交互作用。因此在跑這個程式之前,一定要先用一個 data step 把交互作用項用另一個變數名稱給建立起來。

最後我們得到 IV*M 的估計參數 β=0.00175,其 p-value=0.5172 並不顯著,因此可以測得 Spiritual Activity 並不是 Moderator。
CODE { display: block; /* fixes a strange ie margin bug */ font-family: Courier New; font-size: 8pt; overflow:auto; background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y; border: 1px solid #ccc; padding: 10px 10px 10px 21px; max-height:200px; height:200px; // for IE6 line-height: 1.2em; }