R语言解读线性混合效应模型
作者:吴健 公众号:统计与编程语言
希望大家关注支持
线性模型需要满足正态性、独立性、线性和同方差性等假设,其中独立性是线性模型最重要的假设之一,独立性要求每一个数据点必须来自于不同的总体。但由于重复测量数据、区组数据以及空间相关数据不能满足独立性假设,因此常常利用线性混合效应模型对上述数据进行分析。
由于本文非统计学专业文章,所以当出现与教科书描述不符的现象,请以教科书为准。本文力求用简化的语言,来介绍混合效应模型基本概念,同时配备R语言实现
1.线性混合效应模型
在试验设计中,因子是指影响研究变量的各个原因。水平是指一个因子的不同状态。效应是指该因子各水平对研究变量的影响。而效应又可分为固定效应(当一个因子水平是一个有限集合,而且试验感兴趣的就是水平效应本身时)和随机效应(因子的水平是一个无限集合,数据中该因子出现的水平仅是这个无限集合的一个随机样本)。如果在线性模型中既包括固定效应同时又包括随机效应,则称该模型为线性混合效应模型。
2.基于线性混合效应模型分析性别和态度对音调高低的影响-R语言实现
2.1数据说明
研究数据来自于Winter and Grawunder (2012),该数据共分为5列(subject:区域;gender:性别;scenario:情景;attitude:态度;frequency:音调)。
(1)读取数据:
politeness <- read.csv("http://www.bodowinter.com/tutorial/politeness_data.csv")
(2)删除缺失数据
politeness <- politeness[-which(!complete.cases(politeness)),]
(3)数据探索
par(mfrow=c(2,2))
boxplot(frequency~subject, politeness, main='区域')
boxplot(frequency~scenario, politeness, main='情景')
boxplot(frequency~attitude, politeness, main='态度')
boxplot(frequency~gender, politeness, main="性别")
数据探索发现音调在不同区域、情景、态度和性别中均存在一定的差异。
(4)据研究目的和样品取得的方法确定固定效应和随机效应
研究目的为确定性别和态度对音调高低的影响。因此,性别和态度为固定效应,其中数据探索发现音调在不同区域和情景中同样存在一定的差异,为满足线性模型的独立假设并排除区域和情景对音调的影响,将区域和情景作为随机效应进行分析。
(5)模型拟合
Install.packages(“lme4”)
library(lme4)
politeness.model <- lmer(frequency ~ attitude + gender + (1|subject) + (1|scenario),data=politeness,REML=FALSE)
summary(politeness.model)
结果分析:
Random effects:
Groups Name Variance Std.Dev.
scenario (Intercept) 219.5 14.81
subject (Intercept) 615.6 24.81
Residual 645.9 25.41
通过标准差(Std.Dev)发现音调在区域间的变化大于情景。
Fixed effects:
Estimate Std. Error t value
(Intercept) 256.846 16.116 15.938
attitudepol -19.721 5.584 -3.532
genderM -108.516 21.013 -5.164
固定效应截距为256.846Hz,表明女性在态度不友好的时候平均音调为256.846 Hz;斜率-19.721 Hz表明态度从不友好到友好音调降低19.721 Hz;斜率-108.516 Hz表明女性比男性音调高108.516Hz.
(6)固定效应(性别和态度)对音调影响的显著性分析
态度对音调影响的显著性分析:
代码:
politeness.model <- lmer(frequency~ attitude + gender + (1|subject) + (1|scenario),data=politeness,REML=FALSE)
politeness.null <- lmer(frequency ~ gender +(1|subject) + (1|scenario),data=politeness,REML=FALSE)
anova(politeness.null, politeness.model)
结果分析:
Data: politeness
Models:
politeness.null: frequency ~ gender + (1 | subject) + (1 | scenario)
politeness.model: frequency ~ attitude + gender + (1 | subject) + (1 | scenario)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
politeness.null 5 816.72 828.81 -403.36 806.72
politeness.model 6 807.10 821.61 -397.55 795.10 11.618 1 0.0006532 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
P=0.0006532 表明态度对声调的影响显著
性别对音调影响的显著性分析:
代码:
politeness.model <- lmer(frequency~ attitude + gender + (1|subject) + (1|scenario),data=politeness,REML=FALSE)
politeness.null <- lmer(frequency ~ attitude +(1|subject) + (1|scenario),data=politeness,REML=FALSE)
anova(politeness.null, politeness.model)
结果分析:
Data: politeness
Models:
politeness.null: frequency ~ attitude + (1 | subject) + (1 | scenario)
politeness.model: frequency ~ attitude + gender + (1 | subject) + (1 | scenario)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
politeness.null 5 817.04 829.13 -403.52 807.04
politeness.model 6 807.10 821.61 -397.55 795.10 11.938 1 0.00055 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
P=0.00055 表明性别对声调的影响显著
在明白整个线性混合效应模型的原理、建模和检验过程,就可以在今后的科研、工作中正确的使用该模型发现规律。
参考:
1.线性混合效应模型引论, 吴密霞. 科学出版社.
2. A very basic tutorial for performing linear mixed effects analyses. Bodo Winter. University of California, Merced, Cognitive and Information Sciences