經(jīng)常我們會(huì)聽見隨機(jī)效應(yīng)模型街夭,固定效應(yīng)模型片林,混合效應(yīng)模型呀嫉拐,其實(shí)這些個(gè)東西都是多水平模型:
Multilevel models (also known as hierarchical linear models, linear mixed-effect model, mixed models, nested data models, random coefficient, random-effects models, random parameter models, or split-plot designs) are statistical models of parameters that vary at more than one level.
什么時(shí)候會(huì)用到多水平模型呢趟薄?
一般在處理嵌套數(shù)據(jù)的時(shí)候會(huì)用到多水平模型贱枣,此時(shí)該模型的分析單位通常是在較低層次上的個(gè)人,他們被嵌套在較高層次上的背景或綜合單位中日麸。比如個(gè)人嵌套在家庭寄啼,學(xué)生嵌套在學(xué)校,meta分析中每個(gè)研究對象嵌套在每個(gè)研究中代箭。
還有就是縱向數(shù)據(jù)的處理墩划,這個(gè)可以理解為時(shí)間嵌套在個(gè)人中,個(gè)人水平就成了高水平嗡综。
盡管二層次模型是最常見的乙帮,多層次模型也可以用于具有多個(gè)層次的數(shù)據(jù)。
今天就給大家寫一個(gè)實(shí)際的該運(yùn)用多水平模型進(jìn)行數(shù)據(jù)分析的例子极景,我們在這個(gè)例子中就可以體會(huì)傳統(tǒng)的回歸模型和多水平模型的差異察净,以及該使用多水平模型卻沒有正確的使用時(shí)所造成的后果。
數(shù)據(jù)模擬
本文依然會(huì)給大家模擬一個(gè)非常容易理解的例子:
比如我們模擬出來3個(gè)變量:幸福感盼樟、GPA氢卡,朋友數(shù)量,這三個(gè)變量都是有關(guān)于大學(xué)生的恤批,然后我們就感興趣GPA和朋友數(shù)量是不是會(huì)影響大學(xué)生的幸福感异吻。
我們還要把數(shù)據(jù)設(shè)置成嵌套的,我們讓我們的大學(xué)生來自不同的學(xué)校喜庞,比如他們分別來自3個(gè)窮學(xué)校和3個(gè)富學(xué)校,這樣的話棋返,我們的就知道我們的學(xué)生是嵌套在學(xué)校中延都,那么對于這3個(gè)變量的分析就應(yīng)該使用多水平模型。
看數(shù)據(jù)模擬的代碼:
nrich=40
npoor=160
#規(guī)定參數(shù)
S.F.Rich=-2
S.F.Poor=6
S.G.Rich=.7
S.G.Poor=.7
# 富學(xué)校
# School 1
X1 <- rnorm(nrich, 10, 2) # 朋友數(shù)量
Z1 <- runif(nrich, 1.0, 4.0) # GPA
Y1 <- S.F.Rich*X1 + S.G.Rich*Z1 + 80 + rnorm(nrich, sd= 5) # 幸福感
# School 2
X2 <- rnorm(nrich, 10, 2)
Z2 <- runif(nrich, 1.0, 4.0)
Y2 <- S.F.Rich*X2 + S.G.Rich*Z2 + 75 + rnorm(nrich, sd= 5)
# School 3
X3 <- rnorm(nrich, 10, 2)
Z3 <- runif(nrich, 1.0, 4.0)
Y3 <- S.F.Rich*X3 + S.G.Rich*Z3 +90 + rnorm(nrich, sd= 5)
# 窮學(xué)校
# School 4
X4 <- rnorm(npoor, 5, 2) #朋友數(shù)量
Z4 <- runif(npoor, 1.0, 4.0) #GPA
Y4 <- S.F.Poor*X4 + S.G.Poor*Z4 + 35 + rnorm(npoor, sd = 10)
# School 5
X5 <- rnorm(npoor, 5, 2)
Z5 <- runif(npoor, 1.0, 4.0)
Y5 <- S.F.Poor*X5 + S.G.Poor*Z5 + 40 + rnorm(npoor, sd = 10)
# School 6
X6 <- rnorm(npoor, 5, 2)
Z6 <- runif(npoor, 1.0, 4.0)
Y6 <- S.F.Poor*X6 + S.G.Poor*Z6 + 50 + rnorm(npoor, sd = 10)
# 3個(gè)富學(xué)校的數(shù)據(jù)集:
Student.Data.School.1<-data.frame(Happiness=Y1, Friends=X1, GPA=Z1)
Student.Data.School.2<-data.frame(Happiness=Y2, Friends=X2, GPA=Z2)
Student.Data.School.3<-data.frame(Happiness=Y3, Friends=X3, GPA=Z3)
# 3個(gè)窮學(xué)校的數(shù)據(jù)集:
Student.Data.School.4<-data.frame(Happiness=Y4, Friends=X4, GPA=Z4)
Student.Data.School.5<-data.frame(Happiness=Y5, Friends=X5, GPA=Z5)
Student.Data.School.6<-data.frame(Happiness=Y6, Friends=X6, GPA=Z6)
#總的數(shù)據(jù)集
All.Schools.Data <- rbind(Student.Data.School.1, Student.Data.School.2, Student.Data.School.3,
Student.Data.School.4, Student.Data.School.5, Student.Data.School.6)
這個(gè)數(shù)據(jù)模擬看起來比較復(fù)雜睛竣,給大家解釋一下:首先我們模擬出了3個(gè)富學(xué)校中的3個(gè)變量晰房,這個(gè)3個(gè)富學(xué)校中因變量幸福感和自變量的區(qū)別就是關(guān)系的截距不一樣,大家可以看到我分別在截距項(xiàng)上加了80射沟,75殊者,90。
然后模擬了3個(gè)窮學(xué)校中這三個(gè)變量的關(guān)系验夯,此處有不同的也依然在截距中猖吴,我分別在截距項(xiàng)上加了35,40挥转,50海蔽。
我們需要特別注意的就是我們富學(xué)校和窮學(xué)校之間的差異共屈,在富學(xué)校中使用朋友數(shù)量和GPA來預(yù)測幸福感的時(shí)候,斜率分別為-2党窜,0.7拗引;但是在窮學(xué)校中斜率分別是6和0.7。
常規(guī)數(shù)據(jù)分析
我們知道這個(gè)數(shù)據(jù)是我們模擬的幌衣,我們知道窮學(xué)校和富學(xué)校的學(xué)生中朋友數(shù)量和幸福感的關(guān)系是不一樣的矾削。
但是你導(dǎo)師給你這個(gè)總的數(shù)據(jù)集,里面有6個(gè)學(xué)校的學(xué)生數(shù)據(jù)豁护,讓你探討一下學(xué)生幸福感和朋友數(shù)量及GPA的關(guān)系怔软,你會(huì)怎么做?
大部分不知道多水平模型的人择镇,或者沒有注意到學(xué)生是嵌套在學(xué)校中的挡逼,這些人肯定的做法是如下的線性回歸:
All.Schools.Data$Friends.C<-scale(All.Schools.Data$Friends, scale = FALSE)[,]
All.Schools.Data$GPA.C<-scale(All.Schools.Data$GPA, scale = FALSE)[,]
Reg.Model<-lm(Happiness ~ Friends.C + GPA.C, data = All.Schools.Data)
summary(Reg.Model)
然后就得到如下的回歸結(jié)果:
[圖片上傳失敗...(image-712e07-1611476278089)]
根據(jù)這個(gè)結(jié)果我們可以說或者會(huì)說,朋友數(shù)量對幸福感有正向影響但是GPA對幸福感無影響腻豌。
有心的同學(xué)估計(jì)會(huì)說我們再按照學(xué)校進(jìn)行亞組分析看看
好
我們首先設(shè)置兩個(gè)變量家坎,一個(gè)是學(xué)生ID,另一個(gè)是學(xué)校
All.Schools.Data$StudentID<-seq(1:nrow(All.Schools.Data))
All.Schools.Data$School<-c(rep(1, nrich), rep(2,nrich), rep(3, nrich), rep(4, npoor),
rep(5, npoor), rep(6, npoor))
我們知道前三個(gè)是富學(xué)校后三個(gè)是窮學(xué)校吝梅,此時(shí)我們就可以進(jìn)行學(xué)校的亞組分析:
School.Rich.Reg.Model<-lm(Happiness ~ Friends.C + GPA.C,
data = subset(All.Schools.Data, School<4))
summary(School.Rich.Reg.Model)
School.Poor.Reg.Model<-lm(Happiness ~ Friends.C + GPA.C,
data = subset(All.Schools.Data, School>3))
summary(School.Poor.Reg.Model)
[圖片上傳失敗...(image-293e70-1611476278089)]
可以看到此亞組分析的結(jié)果依然不一致虱疏,在富學(xué)校中只有朋友數(shù)量對幸福感有負(fù)向的預(yù)測作用,在窮學(xué)校中朋友數(shù)量和GPA對幸福感都有正向的預(yù)測作用苏携,看見沒做瞪,和總體數(shù)據(jù)集的結(jié)果就矛盾了。
所以我們的研究問題依然沒有能夠正確地回答右冻,朋友數(shù)量和GPA對幸福感的影響究竟是怎么樣的呢装蓬?
多水平模型
看了錯(cuò)誤的分析方法后,我們再看正確的分析方法纱扭,因?yàn)槲覀兠靼讓W(xué)生是嵌套在學(xué)校中的牍帚,我們有必要將學(xué)校間的變異和校內(nèi)的變異分開來看,往多水平模型上考慮:
Null<-lmer(Happiness ~ 1 # 純截距模型
+(1|School), # 每個(gè)學(xué)校都有自己的截距
data=All.Schools.Data, REML = FALSE)
summary(Null)
我們首先建立了一個(gè)純截距模型乳蛾,就是說有可能朋友數(shù)量和GPA對幸福感其實(shí)是沒作用的暗赶,然后我們來檢驗(yàn)這個(gè)模型的組內(nèi)相關(guān)系數(shù)ICC
ICC.Model<-function(Model.Name) {
tau.Null<-as.numeric(lapply(summary(Model.Name)$varcor, diag))
sigma.Null <- as.numeric(attr(summary(Model.Name)$varcor, "sc")^2)
ICC.Null <- tau.Null/(tau.Null+sigma.Null)
return(ICC.Null)
}
ICC.Model(Null)
ICC要回答的問題就是更高的水平究竟所占的變異有多大,如果這個(gè)變異顯著的大于0那么就應(yīng)該用多水平模型肃叶。
The ICC measures the degree of clustering in our data and answers the question, “How much does my Level 2 predict the total variance of my study?” If your ICC is greater than 0, you have a multi-level study
運(yùn)行上面的代碼蹂随,我們可以得到本研究中ICC為0.20617,我們需要使用多水平模型因惭。
首先我們只考慮學(xué)校水平的截距:
The.Model.1<-lmer(Happiness ~ GPA.C
+(1|School),
data=All.Schools.Data, REML = FALSE)
summary(The.Model.1)
得到的結(jié)果為控制了學(xué)校水平的波動(dòng)后岳锁,GPA其實(shí)對幸福感無影響。
進(jìn)一步的我們可以考慮學(xué)校水平上學(xué)生的朋友數(shù)量可以變化(隨機(jī)斜率):
The.Model.2<-lmer(Happiness ~ Friends.C + GPA.C
+(1+Friends.C|School), # 幸福感隨著學(xué)校的不同而不同筛欢,而且朋友數(shù)量和學(xué)校有關(guān)
#朋友數(shù)量是學(xué)校的方程
data=All.Schools.Data, REML = FALSE)
summary(The.Model.2)
[圖片上傳失敗...(image-c6d5bd-1611476278089)]
那么此時(shí)的結(jié)果為:控制了學(xué)校水平的隨機(jī)效應(yīng)后浸锨,朋友數(shù)量對幸福感其實(shí)是沒有影響的唇聘。
在這個(gè)例子中我們得到的GPA的系數(shù)并不等于0.7,是因?yàn)槊總€(gè)學(xué)校水平朋友數(shù)量抽走變異是不一樣的柱搜,最終我們的結(jié)論應(yīng)該是朋友數(shù)量對幸福感無影響迟郎,其實(shí)也是可以理解的,在富學(xué)校中這個(gè)關(guān)系是朋友越多幸福感越若聪蘸,在窮學(xué)校中朋友越多幸福感越強(qiáng)宪肖,推廣到一般的學(xué)生中其實(shí)朋友對幸福感的影響并沒有顯著意義,之所以不同學(xué)校結(jié)果不一樣是因?yàn)閷W(xué)校本身的隨機(jī)效應(yīng)健爬。
到這兒你就可以給你的導(dǎo)師說控乾,朋友數(shù)量對幸福感無關(guān)。
小結(jié)
今天給大家寫了多水平模型的例子娜遵,感謝大家耐心看完蜕衡。發(fā)表這些東西的主要目的就是督促自己,希望大家關(guān)注評(píng)論指出不足设拟,一起進(jìn)步慨仿。內(nèi)容我都會(huì)寫的很細(xì),用到的數(shù)據(jù)集也會(huì)在原文中給出鏈接纳胧,你只要按照文章中的代碼自己也可以做出一樣的結(jié)果镰吆,一個(gè)目的就是零基礎(chǔ)也能懂,因?yàn)樽约壕褪鞘裁淳幊袒A(chǔ)沒有從零學(xué)Python和R的跑慕,加油万皿。數(shù)據(jù)分析問題咨詢,代處理請私信(spss,R,Mplus)核行。
(站外鏈接發(fā)不了牢硅,請關(guān)注后私信回復(fù)“數(shù)據(jù)鏈接”獲取本頭條號(hào)所有使用數(shù)據(jù))
往期內(nèi)容: