2017年11月20日 星期一

中介效果分析的各種方法及其限制

#本文為《傻瓜也會寫論文》∕《傻瓜也會跑統計》之補充資料#

我要畢業!從產生題目到寫完論文

72折優惠碼:「BOOK72


什麼是中介效果(1)   
        社會科學研究常常談中介效果 (mediation)。簡而言之,中介效果就是XY有影響力,但這影響力是透過某個中介變項M而發生的。例如,「跑步」會讓人分泌「多巴胺」,分泌「多巴胺」會讓人覺得「快樂」。這關係如下。


四步驟法和Sobel test
        常見且具較易理解的中介效果檢定有兩種方式:「四步驟法」和「Sobel test」。這兩種方法的操作在《傻瓜也會跑統計》的單元七中有詳細的說明,在此不再強調它們的操作,本文是想簡要說明這些方法的邏輯,以及它的優缺限制。
一、四步驟法
        四步驟法的想法很直覺,中介效果要滿足四個條件:X→MM→YX→Y這三者的效果都要顯著,也就是三個變項兩兩之間的關係都要顯著。而且,第四個條件,「同時」以X, M來預測Y時,XY的效果不顯著,但MY的效果仍然顯著(X,MY);這表示XM的效果有很高的重疊性,且這效果是以M為主(因為X,M→Y時,效果都被M搶走了)。因此X之所以對Y有效果,是因為M的關係;研究者藉由這四個條件去推論出X →M→Y的中介效果。
  四步驟法可能是最常被使用的中介效果分析法。主要的理由是它非常易懂,很便於讓不熟悉統計的人理解,在操作上也相對比較容易,直接使用SPSS的基礎模組就可以操作,不需要用到複雜的軟體或手動運算。但是它也受到一些批評。例如,它是目前各種中介效果統計法中,統計考驗力(power)較低的一種,也就是如果中介效果存在,它是比較不容易讓你發現中介效果的方法。而且,四步驟法故名思義必須進行四次分析,而隨著分析次數增加,統計結論犯錯的機率也增加(也就是所謂型一錯誤膨脹的問題)。再者,雖然四步驟法很直覺,但仔細想想會發現,它其實是用一種非常間接的方式在證明中介效果。就像有一天你在路上看到一顆蛋,然後你說:(一)母雞會生蛋,(二)這顆蛋附近有一隻雞,(三)這隻雞是母雞,(四)除了這隻母雞之外我沒看到其牠會生蛋的動物;因此這應該是一顆雞蛋。一定要這樣嗎?難道不能直接把這顆蛋拿起來仔細看一看它到底是不是雞蛋?有的。這種更直接的方法,就是Sobel test

二、Sobel test
        如前所述,中介效果指的是 XàMàY。它的核心想法是「X之所以有效果,是因為M的關係」,再進一步可以這樣說:「未考慮M時,XY的效果」(XàY),和「考慮M時,XY的效果」(X,MàY)應該要有差異。Sobel test就是檢驗(XàY)和(X,MàY)這兩個式子中X的效果是否有差異。
        相較於四步驟法,Sobel test對中介效果的檢定更直接,不必經過四層關卡,統計考驗力也比較好。不過Sobel test需要假定中介效果的抽樣分配是常態分配,有些學者認為這假定通常無法符合。但若樣本足夠大,Sobel test仍然會是一個可靠的方法。

三、其它檢定方法
        除了四步驟法和Sobel test,也還有一些其它方法可以檢定中介效果,例如使用結構方程模型(structural equation model)、路徑分析(path analysis)、拔靴法(bootstrapping)、實證M檢定(empirical M-test)等等。這些方法或許比四步驟法和Sobel test好,但是它們的共同問題都是使用的統計方法較為複雜,不是那麼有親和力。例如,我講一下拔靴法(bootstrapping)好了;拔靴法是把樣本當作母體,不斷地對中介效果進行抽樣,形成一個中介效果的抽樣分配,接下我們去計算中介效果的信賴區間……算了,我知道你不想聽。如果沒什麼特別理由,還是用四步驟法或Sobel test吧,這兩種方法《傻瓜也會跑統計》都可以幫你做到。從精確的角度來說,或許其它方法比四步驟法或Sobel test更好,但從能力的角度來說,有時你只能選擇自己負擔得起的統計方法。

1:本文中多數的評述參考自Hayes, A. F. (2009). Beyond Baron and Kenny: Statistical mediation analysis in the new millennium. Communication monographs, 76(4), 408-420.

=============這是分隔線,以上是《傻瓜也會跑統計》的部份,以下是「你不想知道的統計知識」的部份===============

                其實以圖來解釋不同的中介效果檢驗法,會更為精確;在中介效果中,我們至少有三個變項X, M, Y。這三個變項會有下面三個圖中的關係。
aXM的效果。
b:不考慮X時,MY的效果。
b':考慮X時,MY的效果。
c:不考慮M時,XY的效果。
c':考慮M時,XY的效果。

       於是,「四步驟法」的要求就是,a, b, c, b'都要顯著,且c'不顯著。
       而「Sobel test」則認為 (1)「未考慮M時,XY的效果」和(2)「考慮M時,XY的效果」二者如果有差異,就表示可能存在著中介效果。因此,Sobel test是藉由考驗 (c- c') 是否不為 0 來確認中介效果(註2)。

2Sobel證明了(c- c') =a*b',因此真正作Sobel test時是藉由考驗a*b'來推估(c- c')是否為0


2017年11月2日 星期四

素人眼中的R


#本文為《傻瓜也會寫論文》∕《傻瓜也會跑統計》之補充資料#

說到R這個統計軟體,這幾年可以說是赫赫有名。它就像統計界的Mac;比起用一般電腦,用Mac感覺就是很高級,所以好萊塢電影中如果出現電腦,十之八九都是Mac。同樣地,「痾?你還在用SPSS啊,我現在都用R耶……」,聴到別人講出這句話時也會有一種他比較厲害的感覺。

《傻瓜也會跑統計》的作者之一鄭中平老師是R的高手,著有《R在行為科學之應用》一書;另一個作者顏志龍則是比較不學無術,直到最近才去觸碰R。因此,趁著還算是入門者時提出一些學習過程中的感受,也分享給想學習R的人參考。以下觀點是顏志龍個人的想法,不代表本粉專兩位小編的共同立場。
R具有某些特點,這些特點通常就是它的優點……但往往也是它的缺點。

我要畢業!從產生題目到寫完論文

72折優惠碼:「BOOK72


(一)免費:
嚴格來說,這其實不太算是優點。因為像SPSS這類軟體的確是貴到讓人買不下手,但即使如此,大家多半都還是能弄到不用付錢的版本……我的意思是說學校有買,所以不必付費就能使用。因此R是免費的,這件事對多數人來說不算什麼大優點。

(二)輕盈:
當你安裝SPSS時,大部份統計功能都會被安裝進電腦中;R則不是這樣,它只安裝主程式,主程式包含的統計功能不多(所以R很輕盈),未來需要跑某種統計時,才去某個地方把需要的統計程式(稱之為「套件」)安裝進去。R可以想像成一艘空的航空母艦,因為它很空所以跑得很快;如果這次任務是要去暗殺某個元首,就把海豹部隊和黑鷹直昇機放上去,其它武器不帶;如果這次是要轟炸某個城市,就只帶上轟炸機,其它不帶。SPSS則是把所有形形色色的各種可能武器,不管用不用得到都帶上。只帶必要武器的R和載著一堆武器的SPSS比起來,跑得更快。因此佔用的電腦資源少、運作更有效率,這是很多人認為R的優點。
但是其實對一般人來說這差別不大。現在正常的電腦設備,灌SPSSR會多佔幾百Mb的硬碟容量,比一隻謎片來得少(這……我是聽學生說的);而如果只是執行一般的資料分析,使用SPSSR的速度不會有什麼差異。除非是某些特種行業……不對,是特殊行業,例如統計學家、計量學家,R的效率或許是重要的,否則對一般人來說這個分別應該沒什麼意義。
               此外,SPSS全包對一般人來說有它的好處,不用再另外去想(或去找)需要外掛的統計套件。反之,使用R你就得常處理這個問題;不過常用的統計套件也就是那幾個,所以熟悉後其實並不困難。

(三)自由度
R,與其說是個統計軟體,不如說是一套程式語言,就像C語言、Fortran等等一樣。因此它的自由度很高,如果熟悉這套語言,你可以創造出各種自己需要的統計程序。但這也表示它比較原始,對多數人來說並不可親。除了語法有難度外,大寫、小寫、逗號、括弧等等,一點小細節都錯不得;就像寫程式一樣,進入門檻不算容易。如果你問一般人,你願意為了跑統計而特別去學一套程式語言嗎?他可能會回答:「我只是跟鄉民進來看熱鬧的……」因此,如果你只是想要跑統計,卻要為此專程去學一套程式語言,cp值不算很高。這一點尤其對一輩子只寫一篇論文的研究生,甚至無特殊統計需求的學術專業人士來說可能都是如此;除非願意花很多精力去把R學到一種精熟的境界,如果只是學個半調子,不如使用更具親和力的統計套裝軟體來得比較實際。

(四)可以處理各種疑難雜症
這是我認為R最大的優點。SPSS雖然內建了很多統計功能,但有些進階或少見的統計功能,它就沒有提供。R則是需要時才載入統計套件,而多數統計方法都能找到它的套件;因此R可以完成很多SPSS可能作不到的統計分析。這一點我個人非常推。
        然而,這些能處理各種疑難雜症的套件是怎麼來的呢?是由全世界的好心人寫完後上傳分享給大家用的。這時候問題就來了,既然是非官方的,所以不能保證一定對,你使用某個套件來跑統計,只能選擇相信他寫得沒錯。這和SPSS不太一樣,SPSS要付費,所以它必須為程式錯誤負責,但寫出R的各種統計套件的人是免費給你用的,愛用不用你家的事,就算有錯他也不需要對你交代。
此外,由於這些套件是由不同的人寫出來的,跑R的過程中也比較可能出現各種奇奇怪怪的狀況。例如統計套件和R的程式版本之間有衝突;統計套件之間彼此有衝突;統計套件和你的電腦設定之間有衝突等等……這些都是本文作者在用R跑文字雲過程中的痛苦和經驗。

(五)我的建議
綜上所述,我個人的建議如下。除非你對寫程式很感興趣,或是將來立志要進入特種行業……是特殊行業,如資料處理的專家,否則能交給慣用統計軟體(如SPSSSAS等)作的事,還是交給慣用統計軟體,不能作的事才交給R。這樣可以避過很多R可能帶給你的困擾。
        例如,R也可以幫你作反向題轉換、加總分數,但這些事交給SPSS就好。R可以幫你跑ANOVAt檢定、探索性因素分析,但這些事SPSS也都作得到,交給SPSS就好。只有當SPSS作不到時才使用R。例如你想跑結構方式式,而基礎版的SPSS作不到。此時,就是R出場的好時機。你先用SPSS把資料整理好(能交給SPSS的都交給SPSS),再用R讀取資料進行結構方程式的分析。如果這樣作,那麼原則上R你只需要學會兩件事:(1)如何從R中讀進SPSS資料。(2)如何找到R的進階統計套件,並且寫出所需要的語法。這兩件事情都很簡單,多數R的書中都有記載。
                結論是:你可以帶著一艘裝載著常用武器的航空母艦(SPSS)出征;然後當發現這些武器不夠力時,叫出召喚獸(R)痛電對方。

PS.如果你讀完本文後,不同意我的觀點,表示你不是R的素人;請多多包涵;我說了,這只是「素人眼中的R」。