R語(yǔ)言 線(xiàn)性混合效應(yīng)模型實(shí)戰(zhàn)案例
原文鏈接:http://tecdat.cn/?p=3015
?
介紹
首先,請(qǐng)注意,圍繞多級(jí)模型的術(shù)語(yǔ)非常不一致。例如,多級(jí)模型本身可以稱(chēng)為分級(jí)線(xiàn)性模型,隨機(jī)效應(yīng)模型,多級(jí)模型,隨機(jī)截距模型,隨機(jī)斜率模型或匯集模型。根據(jù)學(xué)科,使用的軟件和學(xué)術(shù)文獻(xiàn),許多這些術(shù)語(yǔ)可能指的是相同的一般建模策略。?
?
讀入數(shù)據(jù)
多級(jí)模型適用于特定類(lèi)型的數(shù)據(jù)結(jié)構(gòu),其中單元嵌套在組內(nèi)(通常為5個(gè)以上組),并且我們希望對(duì)數(shù)據(jù)的組結(jié)構(gòu)進(jìn)行建模。
## ? id extro ?open agree social class school
## 1 ?1 63.69 43.43 38.03 ?75.06 ? ? d ? ? IV
## 2 ?2 69.48 46.87 31.49 ?98.13 ? ? a ? ? VI
## 3 ?3 79.74 32.27 40.21 116.34 ? ? d ? ? VI
## 4 ?4 62.97 44.41 30.51 ?90.47 ? ? c ? ? IV
## 5 ?5 64.25 36.86 37.44 ?98.52 ? ? d ? ? IV
## 6 ?6 50.97 46.26 38.83 ?75.22 ? ? d ? ? ?I
在這里,我們有關(guān)于嵌套在課堂內(nèi)和學(xué)校內(nèi)的科目外向性的數(shù)據(jù)。
在開(kāi)始之前讓我們先了解一下數(shù)據(jù)的結(jié)構(gòu):
## 'data.frame': ? ?1200 obs. of ?7 variables:
## ?$ id ? ?: int ?1 2 3 4 5 6 7 8 9 10 ...
## ?$ extro : num ?63.7 69.5 79.7 63 64.2 ...
## ?$ open ?: num ?43.4 46.9 32.3 44.4 36.9 ...
## ?$ agree : num ?38 31.5 40.2 30.5 37.4 ...
## ?$ social: num ?75.1 98.1 116.3 90.5 98.5 ...
## ?$ class : Factor w/ 4 levels "a","b","c","d": 4 1 4 3 4 4 4 4 1 2 ...
## ?$ school: Factor w/ 6 levels "I","II","III",..: 4 6 6 4 4 1 3 4 3 1 ...
在這里,我們看到我們有兩個(gè)可能的分組變量 -?class
和school
。讓我們進(jìn)一步探索它們:
##
## ? a ? b ? c ? d
## 300 300 300 300
##
## ? I ?II III ?IV ? V ?VI
## 200 200 200 200 200 200
##
## ? ? ?I II III IV ?V VI
## ? a 50 50 ?50 50 50 50
## ? b 50 50 ?50 50 50 50
## ? c 50 50 ?50 50 50 50
## ? d 50 50 ?50 50 50 50
這是一個(gè)完美平衡的數(shù)據(jù)集。您很可能沒(méi)有使用完美平衡的數(shù)據(jù)集,但我們將在未來(lái)探討其中的含義?,F(xiàn)在,讓我們稍微繪制一下數(shù)據(jù)。使用包中的優(yōu)秀xyplot
功能lattice
,我們可以跨變量探索學(xué)校和班級(jí)之間的關(guān)系。
?

?
在這里,我們看到,班內(nèi)有明顯的分層,我們也看到,social
變量是從強(qiáng)不同open
和agree
變量。我們還看到,班級(jí)a
和班級(jí)d
在最低和最高頻段分別有更多的傳播。讓我們接下來(lái)繪制數(shù)據(jù)school
。

?
通過(guò)學(xué)校我們看到學(xué)生緊密分組,但學(xué)校I
和學(xué)校的VI
分散程度遠(yuǎn)遠(yuǎn)高于其他學(xué)校。我們的預(yù)測(cè)因子中的相同模式在學(xué)校之間就像在課堂之間一樣。

?
在這里我們可以看到,學(xué)校和階級(jí)似乎在密切區(qū)分我們的預(yù)測(cè)者和外向性之間的關(guān)系。
探索merMod對(duì)象的內(nèi)部
在上一個(gè)教程中,我們?yōu)榍短讛?shù)據(jù)擬合了一系列隨機(jī)攔截模型。我們lmerMod
將更深入地研究在擬合此模型時(shí)生成的對(duì)象,以便了解如何使用R中的混合效果模型。我們首先擬合下面按類(lèi)分組的基本示例:
## [1] "lmerMod"
## attr(,"package")
## [1] "lme4"
首先,我們看到它MLexamp1
現(xiàn)在是該類(lèi)的R對(duì)象lmerMod
。這個(gè)lmerMod
對(duì)象是一個(gè)S4類(lèi),為了探索它的結(jié)構(gòu),我們使用slotNames
:
## ?[1] "resp" ? ?"Gp" ? ? ?"call" ? ?"frame" ? "flist" ? "cnms" ? ?"lower"
## ?[8] "theta" ? "beta" ? ?"u" ? ? ? "devcomp" "pp" ? ? ?"optinfo"
在lmerMod
對(duì)象中,我們看到了許多我們可能希望探索的對(duì)象。要查看其中的任何一個(gè),我們只需鍵入MLexamp1@
然后鍵入插槽名稱(chēng)本身即可。例如:
## lmer(formula = extro ~ open + agree + social + (1 | school),
## ? ? data = lmm.data)
## [1] 59.116514 ?0.009751 ?0.027788 -0.002151
## [1] "data.frame"
## ? extro ?open agree social school
## 1 63.69 43.43 38.03 ?75.06 ? ? IV
## 2 69.48 46.87 31.49 ?98.13 ? ? VI
## 3 79.74 32.27 40.21 116.34 ? ? VI
## 4 62.97 44.41 30.51 ?90.47 ? ? IV
## 5 64.25 36.86 37.44 ?98.52 ? ? IV
## 6 50.97 46.26 38.83 ?75.22 ? ? ?I
該merMod
對(duì)象有許多可用的方法 - 在這里枚舉太多。但是,我們將在下面的列表中介紹一些更常見(jiàn)的內(nèi)容:
## ?[1] anova.merMod* ? ? ? ?as.function.merMod* ?coef.merMod*
## ?[4] confint.merMod ? ? ? deviance.merMod* ? ? df.residual.merMod*
## ?[7] drop1.merMod* ? ? ? ?extractAIC.merMod* ? extractDIC.merMod*
## [10] family.merMod* ? ? ? fitted.merMod* ? ? ? fixef.merMod*
## [13] formula.merMod* ? ? ?isGLMM.merMod* ? ? ? isLMM.merMod*
## [16] isNLMM.merMod* ? ? ? isREML.merMod* ? ? ? logLik.merMod*
## [19] model.frame.merMod* ?model.matrix.merMod* ngrps.merMod*
## [22] nobs.merMod* ? ? ? ? plot.merMod* ? ? ? ? predict.merMod*
## [25] print.merMod* ? ? ? ?profile.merMod* ? ? ?qqmath.merMod*
## [28] ranef.merMod* ? ? ? ?refit.merMod* ? ? ? ?refitML.merMod*
## [31] residuals.merMod* ? ?sigma.merMod* ? ? ? ?simulate.merMod*
## [34] summary.merMod* ? ? ?terms.merMod* ? ? ? ?update.merMod*
## [37] VarCorr.merMod* ? ? ?vcov.merMod ? ? ? ? ?weights.merMod*
##
## ? ?Non-visible functions are asterisked
常見(jiàn)的需求是從merMod
對(duì)象中提取固定效果。fixef
提取固定效果的命名數(shù)字向量,這很方便。
## (Intercept) ? ? ? ?open ? ? ? agree ? ? ?social
## ? 59.116514 ? ?0.009751 ? ?0.027788 ? -0.002151
如果您想了解這些參數(shù)的p值或統(tǒng)計(jì)顯著性,請(qǐng)首先查看lme4
幫助,?mcmcsamp
了解各種方法的執(zhí)行情況。內(nèi)置于包中的一種便捷方式是:
## ? ? ? ? ? ? ? ?0.5 % ? 99.5 %
## .sig01 ? ? ? 4.91840 23.88758
## .sigma ? ? ? 2.53287 ?2.81456
## (Intercept) 46.27751 71.95610
## open ? ? ? ?-0.02465 ?0.04415
## agree ? ? ? -0.01164 ?0.06721
## social ? ? ?-0.01493 ?0.01063
從這里我們可以首先看到我們的固定效果參數(shù)重疊0表示沒(méi)有效果的證據(jù)。我們還可以看到.sig01
,這是我們對(duì)隨機(jī)效應(yīng)變化的估計(jì),是非常大且非常廣泛的定義。這表明我們的團(tuán)隊(duì)之間可能缺乏精確性 - 要么是因?yàn)槿后w之間的群體影響很小,要么得到更精確的估計(jì)的群體太少,我們每個(gè)群體中的單位太少,或者所有群體的組合都是以上。
另一個(gè)常見(jiàn)的需求是提取殘余標(biāo)準(zhǔn)誤差,這是計(jì)算效果大小所必需的。要獲得殘差標(biāo)準(zhǔn)誤的命名向量:
## [1] 2.671
例如,教育研究中的常見(jiàn)做法是通過(guò)將固定效應(yīng)參數(shù)除以殘差標(biāo)準(zhǔn)誤差來(lái)將固定效果標(biāo)準(zhǔn)化為“效果大小”,這可以lme4
很容易地實(shí)現(xiàn):
## (Intercept) ? ? ? ?open ? ? ? agree ? ? ?social
## ?22.1336705 ? 0.0036508 ? 0.0104042 ?-0.0008055
從這一點(diǎn),我們可以看到,我們對(duì)開(kāi)放性,宜人性和社交性的預(yù)測(cè)因素在預(yù)測(cè)外向性方面幾乎毫無(wú)用處 - 正如我們的情節(jié)所顯示的那樣。讓我們把注意力轉(zhuǎn)向下一個(gè)隨機(jī)效應(yīng)。
探索組變化和隨機(jī)效果
您很可能適合混合效果模型,因?yàn)槟苯訉?duì)模型中的組級(jí)變化感興趣。目前還不清楚如何從結(jié)果中探索這種群體水平的變化summary.merMod
。我們從這個(gè)輸出得到的是組效應(yīng)的方差和標(biāo)準(zhǔn)偏差,但我們不會(huì)對(duì)個(gè)別組產(chǎn)生影響。這是ranef
功能派上用場(chǎng)的地方。
## $school
## ? ? (Intercept)
## I ? ? ? -14.091
## II ? ? ? -6.183
## III ? ? ?-1.971
## IV ? ? ? ?1.966
## V ? ? ? ? 6.331
## VI ? ? ? 13.948
運(yùn)行該ranef
功能為我們提供了每個(gè)學(xué)校的攔截,但沒(méi)有太多額外的信息 - 例如這些估計(jì)的精確度。為此,我們需要一些額外的命令:
## [1] "ranef.mer"
## , , 1
##
## ? ? ? ? [,1]
## [1,] 0.03565
##
## , , 2
##
## ? ? ? ? [,1]
## [1,] 0.03565
##
## , , 3
##
## ? ? ? ? [,1]
## [1,] 0.03565
##
## , , 4
##
## ? ? ? ? [,1]
## [1,] 0.03565
##
## , , 5
##
## ? ? ? ? [,1]
## [1,] 0.03565
##
## , , 6
##
## ? ? ? ? [,1]
## [1,] 0.03565
該ranef.mer
對(duì)象是一個(gè)列表,其中包含每個(gè)組級(jí)別的data.frame。數(shù)據(jù)框包含每個(gè)組的隨機(jī)效果(這里我們只對(duì)每個(gè)學(xué)校進(jìn)行攔截)。當(dāng)我們要求lme4
隨機(jī)效應(yīng)的條件方差時(shí),它被存儲(chǔ)在attribute
那些數(shù)據(jù)幀的一個(gè)中作為方差 - 協(xié)方差矩陣的列表。
這種結(jié)構(gòu)確實(shí)很復(fù)雜,但它很強(qiáng)大,因?yàn)樗试S嵌套,分組和跨級(jí)隨機(jī)效果。此外,創(chuàng)建者lme4
已經(jīng)為用戶(hù)提供了一些簡(jiǎn)單的快捷方式,以便從ranef.mer
對(duì)象中獲得他們真正感興趣的內(nèi)容。
## $school
## ? ? (Intercept)
## I ? ? ? -14.091
## II ? ? ? -6.183
## III ? ? ?-1.971
## IV ? ? ? ?1.966
## V ? ? ? ? 6.331
## VI ? ? ? 13.948
##
## with conditional variances for "school"
## $school
?
此圖顯示了dotplot
隨機(jī)效應(yīng)。
使用模擬和圖來(lái)探索隨機(jī)效應(yīng)
一種常見(jiàn)的計(jì)量經(jīng)濟(jì)學(xué)方法是創(chuàng)建所謂的集團(tuán)級(jí)術(shù)語(yǔ)的經(jīng)驗(yàn)貝葉斯估計(jì)。不幸的是,關(guān)于什么構(gòu)成隨機(jī)效應(yīng)項(xiàng)的適當(dāng)標(biāo)準(zhǔn)誤差甚至如何一致地定義經(jīng)驗(yàn)貝葉斯估計(jì),沒(méi)有太多的一致意見(jiàn)。
## ? ?X1 ? ? ? ? ?X2 ? ?mean ?median ? ?sd
## 1 ? I (Intercept) -14.053 -14.093 3.990
## 2 ?II (Intercept) ?-6.141 ?-6.122 3.988
## 3 III (Intercept) ?-1.934 ?-1.987 3.981
## 4 ?IV (Intercept) ? 2.016 ? 2.051 3.993
## 5 ? V (Intercept) ? 6.378 ? 6.326 3.981
## 6 ?VI (Intercept) ?13.992 ?14.011 3.987
該REsim
函數(shù)為每個(gè)學(xué)校返回級(jí)別名稱(chēng)X1
,估計(jì)名稱(chēng),X2
估計(jì)值的平均值,中位數(shù)和估計(jì)的標(biāo)準(zhǔn)差。
另一個(gè)便利功能可以幫助我們繪制這些結(jié)果,看看他們?nèi)绾闻c以下結(jié)果進(jìn)行比較dotplot
:
?
這提供了對(duì)隨機(jī)效應(yīng)分量之間的變化的更保守的觀點(diǎn)。根據(jù)您的數(shù)據(jù)收集方式和研究問(wèn)題,可以采用其他方法來(lái)估算這些影響大小。但是,請(qǐng)謹(jǐn)慎行事。
作者推薦的另一種方法lme4
涉及RLRsim
包。使用該軟件包,我們可以測(cè)試隨機(jī)效應(yīng)的包含是否改善了模型擬合,我們可以使用基于模擬的似然比檢驗(yàn)來(lái)評(píng)估其他隨機(jī)效應(yīng)項(xiàng)的p值。
##
## ?simulated finite sample distribution of LRT. (p-value based on
## ?10000 simulated values)
##
## data:
## LRT = 2958, p-value < 2.2e-16
這里exactLRT
發(fā)出警告,因?yàn)槲覀冏畛跏褂肦EML而不是完全最大可能性來(lái)擬合模型。幸運(yùn)的是,該refitML
功能lme4
允許我們使用完全最大可能性輕松地重新調(diào)整我們的模型,以便輕松地進(jìn)行精確測(cè)試。
##
## ?simulated finite sample distribution of LRT. (p-value based on
## ?10000 simulated values)
##
## data:
## LRT = 2958, p-value < 2.2e-16
在這里,我們可以看到包含我們的分組變量是重要的,即使每個(gè)單獨(dú)的組的影響可能實(shí)質(zhì)上很小和/或不精確地測(cè)量。這對(duì)于理解模型的正確規(guī)范很重要。我們的下一個(gè)教程將更詳細(xì)地介紹這樣的規(guī)范測(cè)試。
隨機(jī)效應(yīng)至關(guān)重要?
如何解釋我們隨機(jī)效應(yīng)的實(shí)質(zhì)性影響?這在嘗試使用多級(jí)結(jié)構(gòu)來(lái)理解分組可能對(duì)個(gè)體觀察產(chǎn)生的影響的觀察工作中通常是至關(guān)重要的。為此,我們選擇了12個(gè)隨機(jī)病例,然后我們模擬了extro
它們?cè)?所學(xué)校中的每一所學(xué)校的預(yù)測(cè)值。注意,這是一個(gè)非常簡(jiǎn)單的模擬,僅使用固定效應(yīng)的平均值和隨機(jī)效應(yīng)的條件模式,而不是復(fù)制或采樣以獲得可變性的感覺(jué)。這將留給讀者和/或未來(lái)的教程練習(xí)!
現(xiàn)在我們已經(jīng)建立了一個(gè)模擬數(shù)據(jù)幀,


?
這個(gè)圖表告訴我們,在每個(gè)情節(jié)中,代表一個(gè)案例,學(xué)校有很大的變化。因此,將每個(gè)學(xué)生轉(zhuǎn)移到另一所學(xué)校對(duì)外向?qū)W分?jǐn)?shù)有很大影響。但是,每個(gè)學(xué)校的每個(gè)案例都有所不同嗎?
?
在這里我們可以清楚地看到,在每個(gè)學(xué)校中,案例相對(duì)相同,表明群體效應(yīng)大于個(gè)體效應(yīng)。
這些圖可用于以實(shí)質(zhì)方式證明群體和個(gè)體效果的相對(duì)重要性??梢宰龈嗟氖虑閬?lái)使圖表更具信息性,例如放置對(duì)結(jié)果的總可變性的參考,并且還觀察距離,移動(dòng)組將每個(gè)觀察值從其真實(shí)值移開(kāi)。
結(jié)論
lme4
提供了一個(gè)非常強(qiáng)大的面向?qū)ο蟮墓ぞ呒?,用于處理R中的混合效果模型。理解lme4
對(duì)象的模型擬合和置信區(qū)間需要一些勤奮的研究和使用各種函數(shù)和擴(kuò)展lme4
本身。在下一個(gè)教程中,我們將探索如何lme4
為難以指定的模型確定隨機(jī)效應(yīng)模型的適當(dāng)規(guī)范和框架的貝葉斯擴(kuò)展。我們還將探討廣義線(xiàn)性模型框架和glmer
多級(jí)廣義線(xiàn)性建模的功能。
參考文獻(xiàn)
1.基于R語(yǔ)言的lmer混合線(xiàn)性回歸模型
2.R語(yǔ)言用Rshiny探索lme4廣義線(xiàn)性混合模型(GLMM)和線(xiàn)性混合模型(LMM)
3.R語(yǔ)言線(xiàn)性混合效應(yīng)模型實(shí)戰(zhàn)案例
4.R語(yǔ)言線(xiàn)性混合效應(yīng)模型實(shí)戰(zhàn)案例2
5.R語(yǔ)言線(xiàn)性混合效應(yīng)模型實(shí)戰(zhàn)案例
6.線(xiàn)性混合效應(yīng)模型Linear Mixed-Effects Models的部分折疊Gibbs采樣
7.R語(yǔ)言L(fǎng)ME4混合效應(yīng)模型研究教師的受歡迎程度
8.R語(yǔ)言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預(yù)測(cè)GDP增長(zhǎng)
9.使用SAS,Stata,HLM,R,SPSS和Mplus的分層線(xiàn)性模型HLM