【R】理解線性回歸模型刻盐,中介調(diào)節(jié)模型 & 方差分析

線性回歸模型掏膏、中介調(diào)節(jié)模型和方差分析其實相互關(guān)聯(lián),且某種程度上都屬于一般線性模型(general linear model)敦锌。因此壤追,在統(tǒng)一的框架下梳理這三個模型可以更好地融會貫通。將不同來源的供屉、存在關(guān)聯(lián)的信息整合到綜合的知識結(jié)構(gòu)中行冰,有利于我們更系統(tǒng)地掌握一個領(lǐng)域的知識溺蕉。同時,加深對統(tǒng)計學(xué)知識的理解悼做,也能使我們避免在數(shù)據(jù)分析的過程中犯錯疯特,并更準(zhǔn)確地解讀結(jié)果。

本文假設(shè)讀者對上述三個模型以及R語言的基礎(chǔ)知識有所了解肛走,本文的目的是把三個模型放在統(tǒng)一的框架下梳理一遍漓雅。筆者并非統(tǒng)計學(xué)出身,只是由于研究中使用了這些模型朽色,因此將自己的思考分享給大家邻吞。才疏學(xué)淺,錯漏之處歡迎大家補充葫男。

線性回歸模型(Linear Regression Model)

為了偷懶不寫代碼抱冷,這里用了JASP(version 0.16.3)來展示例子。JASP是一個類似SPSS的提供GUI的統(tǒng)計分析軟件梢褐,不過它其實是基于R語言來分析數(shù)據(jù)的旺遮,對于常用的一些分析都提供了基本的設(shè)置(不過更復(fù)雜的分析就需要自己在R里面敲代碼來跑了)。

這里用的是College Success這個數(shù)據(jù)盈咳,如果你想自己嘗試的話耿眉,可以在JASP的菜單欄中找到這個數(shù)據(jù)(選擇“Open”,“Data Library”鱼响,“4. Regression”鸣剪,“College Success”,見下圖)丈积。

該數(shù)據(jù)似乎來源于Moore等人編寫的一本教科書筐骇,不過我沒有這本書,而且我們只是為了做演示桶癣,所以就大概猜測一下變量的含義。根據(jù)簡介娘锁,satm大概是SAT中的數(shù)學(xué)成績牙寞,反過來可以推斷hsm大概是高中的數(shù)學(xué)成績,gpa就是大學(xué)績點莫秆。這三個變量都是連續(xù)變量间雀。

我們先看看高中數(shù)學(xué)成績(hsm)對gpa的影響。我們將hsm作為一個covariate镊屎,gpa作為一個outcome惹挟,線性回歸分析的結(jié)果如下。

涉及到的公式如下(去掉了誤差的估計)缝驳,這里我們做的是簡單線性回歸连锯,用X來預(yù)測Y归苍。i表示截距(intercept),也就是X為0的時候Y的初始值运怖,它在某些時候是有意義的拼弃,例如當(dāng)X表示從確診到康復(fù)的時間,Y表示抑郁癥狀的水平摇展,我就可以用截距來說明患者在確診時的癥狀的嚴(yán)重程度吻氧。s表示斜率(slope),也就是我們估計的X的coefficient咏连,表示X對Y影響的程度盯孙。

Y = {i_0 + s_1X}

先來看圖中的第一、第二個表格祟滴。在這個例子中振惰,我們假設(shè)X對Y沒有影響(H0,也就是X解釋了Y的variance的程度為0)踱启,然后用分析得到的結(jié)果和H0進(jìn)行比較报账。這里是用了ANOVA來進(jìn)行假設(shè)檢驗。

首先解釋為什么ANOVA會出現(xiàn)在回歸...(施工中)

中介調(diào)節(jié)模型

在理解了線性回歸模型的基礎(chǔ)上埠偿,我們就可以看看中介調(diào)節(jié)模型了透罢。不過這里不講調(diào)節(jié)變量,只對最簡單的一個中介模型進(jìn)行講解冠蒋。

我們還是用的剛剛的數(shù)據(jù)羽圃。我們假設(shè)高中時的數(shù)學(xué)成績影響大學(xué)入學(xué)時的數(shù)學(xué)成績,并進(jìn)而影響大學(xué)績點抖剿。假設(shè)的模型如下圖所示朽寞。

在這個模型中,a代表了x對m的影響斩郎,b代表了x不變的情況下m對y的影響脑融,c'是代表了m不變的情況下x對y的影響(direct effect)。a乘b就是“x -> m -> y“這條路徑的效應(yīng)(indirect effect缩宜,以下寫為ab或)肘迎。最后還有一個total effect,c=c'+ab锻煌,包括了x對y的direct effect(x -> y)和indirect effect(x -> m -> y)妓布。不過我還不太清楚為什么indirect effect是a*b而非a+b,希望有了解的朋友可以解釋一下宋梧。

無論如何匣沼,這也意味著indirect effect可以表示為ab = c - c'。

三者的關(guān)系可以表示如下(公式2.1和2.2)捂龄,可以看出就是線性回歸模型释涛,其中i表示截距加叁,e表示誤差。

M = {i_1 + aX + e_M}
Y = {i_2 + c'X + bM + e_Y}

而total effect則可以表示如下(公式2.3)枢贿。

Y = i_3 + cX + e_Y

如果我們假設(shè):

c = c' + ab
i_3 = i2 + bi_1

以及殉农,total effect公式中的誤差等于前兩個公式中的:

e_Y = e_Y + be_m

那么公式2.3可以寫為以下形式(公式2.4)。

Y = (i_2 + bi_1) + (c' + ab)X + (e_Y + be_M)

同樣是一個線性回歸模型局荚。

既然如此超凳,現(xiàn)在來試著用線性回歸的方式來估計各路徑的系數(shù)。具體而言耀态,我們需要做兩個線性回歸模型轮傍。首先是用hsm(x)預(yù)測satm(m)(對應(yīng)公式2.1),結(jié)果如下圖所示首装〈匆梗可以得到路徑a的效應(yīng),a = 23.911仙逻,p < 0.001驰吓。

然后是在控制hsm(x)的情況下用satm(m)預(yù)測gpa(y),以及控制satm(m)的情況下用hsm(x)預(yù)測gpa(y)系奉,不過兩者的結(jié)果可以在同一個模型中查看(對應(yīng)公式2.2)檬贰,如下圖所示。得到b = 6.105e-4缺亮,p = 0.319翁涤,以及c' = 0.193,p < 0.001萌踱。

以上兩個線性回歸模型的結(jié)果就足夠了葵礼,因為我們只需要知道a、b并鸵、c'就可以算出c鸳粉。不過我們也可以順便看看用hsm(x)預(yù)測gpa(y)的結(jié)果(對應(yīng)公式2.3),如下圖所示园担。這里其實就是我們在上文線性回歸部分里的做的分析届谈。可以得到c = 0.208粉铐,p < 0.001掸冤。

最后將結(jié)果整理如下溢谤。

上圖沒有給出indirect effect梳凛,也就是ab吵取,我們可以現(xiàn)在計算看看笋婿,如下男韧。

> 23.911*6.105e-4
[1] 0.01459767

也可以通過a涝涤、b句占、c'來計算c,如下溪胶。

> 0.193+23.911*6.105e-4
[1] 0.2075977

最后用mediation analysis驗證結(jié)果搂擦,見下圖,結(jié)果是一致的哗脖。

小結(jié):中介調(diào)節(jié)模型可以被理解為通過一系列的回歸模型來探討多個變量如何通過一系列路徑或在不同條件下相互關(guān)聯(lián)的一種統(tǒng)計模型瀑踢。

順便一提,結(jié)構(gòu)方程的圖是通過如下代碼繪制的才避。

library(DiagrammeR)

code <- "digraph moderated_mediation_sem {
  # Nodes
  node [shape = rectangle, fontname = Arial, fontsize=12]
  X [pos = '-3,1!', label = 'hsm (x)']
  M [pos = '-1,2!', label = 'satm (m)']
  Y [pos = '1,1!', label = 'gpa (y)']

  # Edges
  edge [fontname = Arial, fontsize=12]
  X -> M [label = '23.911***']
  M -> Y [label = '0']
  X -> Y [label = 'c`=0.193***\nc=0.208***']
  
  # Graph
  graph [layout = neato, overlap = false, outputorder = edgesfirst]
}"

grViz(code) %>% 
  export_svg %>% 
  charToRaw %>% 
  rsvg_png("fig_example_mediation_model.png",width = 900*4, height = 300*4)

References
Hayes, A. F. (2013). Introduction to mediation, moderation, and conditional process analysis: A regression-based approach (pp. 85-122). Guilford publications.
https://github.com/peterdalle/social-science-diagrams

方差分析(Analysis of Variance, ANOVA)

簡單說就是橱夭,ANOVA可視為線性回歸模型的一種特例。然而桑逝,因為分析的目的不同棘劣,ANOVA還會涉及到許多線性回歸沒有的東西(例如assumption check,post-hoc comparison)楞遏。這也是為什么在R語言中茬暇,我們可以用aov()或者Anova()(來自car包)來分析lm()得到的結(jié)果。網(wǎng)上不少人也因此糾結(jié)究竟是用Anova()還是summary()來輸出lm()得到的模型的結(jié)果寡喝,這里其實就是涉及到應(yīng)該用ANOVA還是線性回歸來進(jìn)行統(tǒng)計分析糙俗。因此,雖然兩種模型同屬于線性模型的框架拘荡,但是應(yīng)用的場景不一樣臼节,因此具體用到的算法和報告的指標(biāo)會有所區(qū)別珊皿。

作為例子网缝,這里用的是Bear Googles這個數(shù)據(jù),如果你想自己嘗試的話蟋定,可以在JASP的菜單欄中找到這個數(shù)據(jù)(選擇“Open”粉臊,“Data Library”,“3. ANOVA”驶兜,“Bear Googles”)扼仲。

我們的自變量是FaceType(包括兩個水平,用1和0表示)抄淑,因變量是Attractiveness(連續(xù)變量屠凶,范圍從1到8)∷磷剩看名字可以大概猜到變量的含義矗愧,但是這里只是用于演示,就不展開闡述了郑原。為了能夠同時跑回歸和ANOVA唉韭,我把FaceType這個分類變量復(fù)制了一份夜涕,定義為scale尺度,相當(dāng)于用作dummy variable(見下圖)属愤。

線性回歸模型的結(jié)果見下圖女器。

方差分析的結(jié)果見下圖。

(施工中)

系數(shù)和p值

在線性回歸中住诸,我們關(guān)注的是自變量對因變量的variance的解釋的程度驾胆。也就是X變化了,Y多大程度上會變化贱呐,所以我們關(guān)注的是slope俏拱,由表格可知slope的coefficient為1.333。同時吼句,我們通過T-test來檢驗該slope是否顯著區(qū)別于0锅必。結(jié)果發(fā)現(xiàn)該slope顯著區(qū)別于0,t = 3.175, p = 0.003惕艳,所以X對Y的影響(或者說關(guān)系)是顯著的搞隐。

在ANOVA中,我們關(guān)注的是自變量的不同分組對因變量的variance的影響是否有顯著的差別远搪。因此我們關(guān)注的是組間比較的結(jié)果劣纲,由于ANOVA通常會涉及多個水平,因此用到了F-test而非T-test谁鳍,但因為我們這里的自變量只有兩個水平癞季,因此結(jié)果和T-test是一致的。t的平方 = F倘潜。

> 3.175^2
[1] 10.08062

同時绷柒,因為我們這里用到的自變量的值只有1和0...(施工中)

效應(yīng)量

R方并不會出現(xiàn)在ANOVA的結(jié)果中,相反涮因,ANOVA通常會報告eta方(eta-squared)這類效應(yīng)量指標(biāo)废睦。這是由兩種模型的側(cè)重點導(dǎo)致的。線性回歸模型關(guān)注的是預(yù)測變量多大程度上解釋了結(jié)果變量的variance养泡,這反映在R方這一指標(biāo)嗜湃。假設(shè)1代表所有variance都可以被解釋,那么我們就可以用1減去無法被解釋的variance所占的比例澜掩,來表示可解釋的variance的程度购披。其中,無法被解釋的variance用residual的平方和來表示肩榕,再加上預(yù)測變量的平方和就相當(dāng)于total variance刚陡。由此可計算出R方,如下,和表格中是一致的(為了方便和表格的結(jié)果比較橘荠,我在這里保留了三位小數(shù))。

> round(1 - 97.333 / (21.333 + 97.333), 3)
[1] 0.18

而ANOVA則通過eta方這類效應(yīng)量指標(biāo)來了解組間差異對結(jié)果的影響郎逃,這反映在eta方的計算方式哥童,也就是eta方 = 組間差異的平方和(組間差異導(dǎo)致的variance) / 總平方和(total variance),如下褒翰。

> round(21.333/(21.333+97.333), 3)
[1] 0.18

當(dāng)然贮懈,因為兩個模型都是基于相同的數(shù)據(jù)和分析思路跑出來的,所以這里得到了相同的結(jié)果优训。

小結(jié):方差分析和線性回歸模型同屬于線性模型朵你,只不過研究者基于不同的研究目的將它們用于不同的場合中,這兩種模型各自有著不同的側(cè)重點揣非。

?
----------2023.10.11更新----------
增加了線性回歸和ANOVA的部分內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抡医,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子早敬,更是在濱河造成了極大的恐慌忌傻,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搞监,死亡現(xiàn)場離奇詭異水孩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)琐驴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門俘种,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绝淡,你說我怎么就攤上這事宙刘。” “怎么了牢酵?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵荐类,是天一觀的道長。 經(jīng)常有香客問我茁帽,道長玉罐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任潘拨,我火速辦了婚禮吊输,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铁追。我一直安慰自己季蚂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扭屁,像睡著了一般算谈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上料滥,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天然眼,我揣著相機(jī)與錄音,去河邊找鬼葵腹。 笑死高每,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的践宴。 我是一名探鬼主播鲸匿,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼阻肩!你這毒婦竟也來了带欢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤烤惊,失蹤者是張志新(化名)和其女友劉穎洪囤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撕氧,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡瘤缩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伦泥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剥啤。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖不脯,靈堂內(nèi)的尸體忽然破棺而出府怯,到底是詐尸還是另有隱情,我是刑警寧澤防楷,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布牺丙,位于F島的核電站,受9級特大地震影響复局,放射性物質(zhì)發(fā)生泄漏冲簿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一亿昏、第九天 我趴在偏房一處隱蔽的房頂上張望峦剔。 院中可真熱鬧,春花似錦角钩、人聲如沸吝沫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惨险。三九已至羹幸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辫愉,已是汗流浹背栅受。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留一屋,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓袋哼,卻偏偏與公主長得像冀墨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涛贯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容