乐趣区

关于数据挖掘:R语言LME4混合效应模型研究教师的受欢迎程度附代码数据

全文链接:http://tecdat.cn/?p=11724

最近咱们被客户要求撰写对于混合效应模型的钻研报告,包含一些图形和统计输入。
文中对多层_回归_模型进行了根本介绍。

介绍

本教程冀望:

  • 多层_回归_模型的基础知识。
  • R 中编码的基础知识。
  • 装置 R 软件包  lme4,和  lmerTest

步骤 1:设定 

如果尚未装置所有上面提到的软件包,则能够通过命令装置它们  install.packages("NAMEOFPACKAGE")

library(lme4) # 用于剖析
library(haven) # 加载 SPSS .sav 文件
library(tidyverse) # 数据处理所需。

受欢迎水平数据集蕴含不同班级学生的特色。本教程的次要目标是找到模型和测验对于这些特色与学生受欢迎水平(依据其同学)之间的关系的假如。咱们将应用.sav 文件,该文件能够在 SPSS 文件夹中找到。将数据下载到工作目录后,能够应用read_sav() 命令将其关上。

GitHub 是一个平台,容许钻研人员和开发人员共享代码,软件和研究成果,并在我的项目上进行合作。

步骤 2:数据清理

数据集中有一些咱们不应用的变量,因而咱们能够抉择将要应用的变量,并查看前几个察看值。

# 咱们只抉择将要应用的变量
head(populardata) # 咱们来看一下前 6 个察看样本
## # A tibble: 6 x 6
##   pupil class extrav       sex  texp popular
##   <dbl> <dbl>  <dbl> <dbl+lbl> <dbl>   <dbl>
## 1     1     1      5  1 [girl]    24     6.3
## 2     2     1      7  0 [boy]     24     4.9
## 3     3     1      4  1 [girl]    24     5.3
## 4     4     1      3  1 [girl]    24     4.7
## 5     5     1      5  1 [girl]    24     6  
## 6     6     1      4  0 [boy]     24     4.7

步骤 3:绘制数据

在开始剖析之前,咱们能够绘制内向性和受欢迎水平之间的关系,而无需思考数据的多层构造。

ggplot(data  = populardata,
       aes(x = extrav,
           y = popular))+
  geom_point(size = 1.2,
             alpha = .8,
             position = "jitter")+# 为绘图目标增加一些随机噪声
  theme_minimal()

当初咱们能够向该图增加回归线。

到目前为止,咱们曾经疏忽了数据的嵌套多层构造。咱们能够通过对不同类进行色彩编码来显示这种多层构造。

当初咱们能够为数据中的 100 个不同类别绘制不同的回归线

咱们分明地看到,内向性和受欢迎水平之间的关系在所有层级中并不相同,但均匀而言,存在显著的正向关系。在本教程中,咱们将显示这些不同斜率的估计值(以及如何解释这些差别)。


点击题目查阅往期内容

R 语言用 Rshiny 摸索 lme4 狭义线性混合模型(GLMM)和线性混合模型(LMM)

左右滑动查看更多

01

02

03

04

咱们还能够对最极其的回归线进行色彩编码。

人气数据:

f1(data = as.data.frame(popular2data), 
   x    = "extrav",
   y    = "popular",
   grouping = "class",
   n.highest = 3, 
   n.lowest = 3) %>%
  ggplot()+
  geom_point(aes(x     = extrav,
                 y     = popular, 
                 fill  = class, 
                 group = class),
             size     =  1, 
             alpha    = .5, 
             position = "jitter", 
             shape    = 21, 
             col      = "white")+
  geom_smooth(aes(x     = extrav,
                  y     = popular,
                  col   = high_and_low,
                  group = class,
                  size  = as.factor(high_and_low),
                  alpha = as.factor(high_and_low)),
              method = lm,
              se     = FALSE)+

步骤 4:剖析数据

截距模型

咱们第一个模型是截距模型。

如果咱们查看 LMER 函数的不同输出,则:

  1. “受欢迎水平”,示意咱们要预测的因变量。
  2. 一个“〜”,用于示意咱们当初给出了其余感兴趣的变量。(与回归方程式的 ’=’ 相比)。
  3. 公式中示意截距的“1”。
  4. 因为这是仅截距模式,因而咱们在这里没有任何其余自变量。
  5. 在方括号之间,咱们具备随机成果 / 斜率。同样,值 1 示意垂直“|”的截距和变量右侧 条用于批示分组变量。在这种状况下,类 ID。因而,因变量“受欢迎水平”是由截距和该截距的随机误差项预测的。
  6. 最初,咱们在data = 命令后指定要应用的数据集
summary(interceptonlymodel) #失去参数估计.
## 通过 REML 进行线性混合模型拟合。t 测验应用 Satterthwaite 的办法


## REML criterion at convergence: 6330.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5655 -0.6975  0.0020  0.6758  3.3175 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  class    (Intercept) 0.7021   0.8379  
##  Residual             1.2218   1.1053  
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)  5.07786    0.08739 98.90973    58.1   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

如果查看汇总输入,则在“随机效应”下能够看到,类别层 0.7021 上的残差和第一层(学生层)上的残差为 1.2218。这意味着类内相关性(ICC)为 0.7021 /(1.2218 + 0.7021)=.36。
在“固定成果”下,报告截距的估计值为 5.078。
咱们还能够输入计算 ICC。

## # Intraclass Correlation Coefficient
## 
##      Adjusted ICC: 0.365
##   Conditional ICC: 0.365

一层预测变量

当初咱们能够首先增加第一层(学生)程度的预测变量。一层预测因子是性别和内向性。当初,咱们仅将它们增加为固定成果,而不增加为随机斜率。在此之前,咱们能够绘制两种性别在成果上的差别。咱们发现性别之间可能存在均匀差别,但斜率(回归系数)没有差别。

summary(model1)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [## lmerModLmerTest]
##    Data: popular2data
## 
## REML criterion at convergence: 4948.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2091 -0.6575 -0.0044  0.6732  2.9755 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  class    (Intercept) 0.6272   0.7919  
##  Residual             0.5921   0.7695  
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept) 2.141e+00  1.173e-01 3.908e+02   18.25   <2e-16 ***
## sex         1.253e+00  3.743e-02 1.927e+03   33.48   <2e-16 ***
## extrav      4.416e-01  1.616e-02 1.957e+03   27.33   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) sex   
## sex    -0.100       
## extrav -0.705 -0.085

当初的截距为 2.14,性别的回归系数为 1.25,内向回归系数为 0.44。在输入的固定成果表的最初一列中,咱们看到了 P 值,这些值示意所有回归系数均与 0 显着不同。

一层和二层预测变量

当初,咱们(除了重要的 1 层变量)还在第 2 层(老师教训)增加了预测变量。

## Linear mixed model fit by REML. t-tests use Satterthwaite's method [## lmerModLmerTest]
##    Data: popular2data
## 
## REML criterion at convergence: 4885
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1745 -0.6491 -0.0075  0.6705  3.0078 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  class    (Intercept) 0.2954   0.5435  
##  Residual             0.5920   0.7694  
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept) 8.098e-01  1.700e-01 2.264e+02   4.764  3.4e-06 ***
## sex         1.254e+00  3.729e-02 1.948e+03  33.623  < 2e-16 ***
## extrav      4.544e-01  1.616e-02 1.955e+03  28.112  < 2e-16 ***
## texp        8.841e-02  8.764e-03 1.016e+02  10.087  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) sex    extrav
## sex    -0.040              
## extrav -0.589 -0.090       
## texp   -0.802 -0.036  0.139

结果表明,层 1 和层 2 变量均显着。然而,咱们尚未为任何变量增加随机斜率。
当初,咱们还能够与根底模型相比,计算出第 1 层和第 2 层的解释方差。

  • 对于 1 层,这是(1.2218 – 0.592)/1.2218 = 0.52
  • 对于 2 层,这是(0.7021 – 0.2954)/0.7021 = 0.58

具备随机斜率的一层和二层预测模型(1)

当初咱们还想包含随机斜率。第 1 层的两个预测变量(性别和内向性)均具备随机斜率。要在 LMER 中实现此操作,只需将随机斜率的变量增加到输出的随机局部。(1|class)变成  (1+sex+extrav |class)

## Linear mixed model fit by REML. t-tests use Satterthwaite's method [## lmerModLmerTest]
##    Data: popular2data
## 
## REML criterion at convergence: 4833.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1643 -0.6555 -0.0247  0.6711  2.9571 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev. Corr       
##  class    (Intercept) 1.341820 1.15837             
##           sex         0.002395 0.04894  -0.39      
##           extrav      0.034738 0.18638  -0.88 -0.10
##  Residual             0.551448 0.74260             
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept) 7.585e-01  1.973e-01 1.811e+02   3.845 0.000167 ***
## sex         1.251e+00  3.694e-02 9.862e+02  33.860  < 2e-16 ***
## extrav      4.529e-01  2.464e-02 9.620e+01  18.375  < 2e-16 ***
## texp        8.952e-02  8.617e-03 1.014e+02  10.389  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) sex    extrav
## sex    -0.062              
## extrav -0.718 -0.066       
## texp   -0.684 -0.039  0.089
## convergence code: 0
## Model failed to converge with max|grad| = 0.026373 (tol = 0.002, component 1)

咱们能够看到所有固定的回归斜率依然很显着。然而,没有给出对随机效应的显着性测验,然而,可变性别的斜率的误差项(方差)预计很小(0.0024)。这可能意味着类别之间的 SEX 变量没有斜率变动,因而能够从下一次剖析中删除随机斜率预计。因为没有针对此方差的间接显着性测验,咱们能够应用 软件包的  ranova() 函数  lmerTest,提供相似于 ANOVA 的随机成果表。它查看如果删除了某种随机效应(称为似然比测验),则模型是否变得显著更差,如果不是这种状况,则随机效应不显着。

ranova(model3)
## ANOVA-like table for random-effects: Single term deletions
## 
## Model:
##                                      npar  logLik    AIC    LRT Df
## <none>                                 11 -2416.6 4855.3          
## sex in (1 + sex + extrav | class)       8 -2417.4 4850.8  1.513  3
## extrav in (1 + sex + extrav | class)    8 -2441.9 4899.8 50.506  3
##                                      Pr(>Chisq)    
## <none>                                             
## sex in (1 + sex + extrav | class)        0.6792    
## extrav in (1 + sex + extrav | class)  6.232e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

咱们看到性别的随机影响的确不显着(P = 0.6792),内向的随机影响也很显着(P <.0001)。

具备随机斜率的一层和二层预测模型

咱们在疏忽性别的随机斜率之后持续。

## Linear mixed model fit by REML. t-tests use Satterthwaite's method [## lmerModLmerTest]
##    Data: popular2data
## 
## REML criterion at convergence: 4834.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1768 -0.6475 -0.0235  0.6648  2.9684 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev. Corr 
##  class    (Intercept) 1.30296  1.1415        
##           extrav      0.03455  0.1859   -0.89
##  Residual             0.55209  0.7430        
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##              Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept) 7.362e-01  1.966e-01 1.821e+02   3.745 0.000242 ***
## sex         1.252e+00  3.657e-02 1.913e+03  34.240  < 2e-16 ***
## extrav      4.526e-01  2.461e-02 9.754e+01  18.389  < 2e-16 ***
## texp        9.098e-02  8.685e-03 1.017e+02  10.475  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr) sex    extrav
## sex    -0.031              
## extrav -0.717 -0.057       
## texp   -0.688 -0.039  0.086

咱们看到:

  • 截距是 0.736
  • 性别的固定影响是 1.252
  • 老师教训的影响是 0.091
  • 内向的均匀影响为 0.453
  • 内向斜率的随机效应为 0.035
  • 一层残差为 0.552
  • 二层的残差为 1.303

具备随机斜率和跨程度交互作用的一层和二层预测 

作为最初一步,咱们能够在老师的教训和内向性之间增加跨层的交互作用。换句话说,咱们要考察的是,班上内向与受欢迎水平之间关系的差别是否能够由该班老师的老师教训来解释。咱们增加了 Extraversion 和 Teacher 体验之间的层级交互项。这意味着咱们必须增加 TEXP 作为 EXTRAV 系数的预测因子。内向性和老师教训之间的跨层级交互作用能够通过“:”符号或乘以符号来创立。
如果将所有这些都以公式模式示意,则失去:

受欢迎水平 ij =β0j+β1 genderij +β2j extraversionij + eij

受欢迎水平 ij =β0j+β1 genderij +β2j extraversionij + eij。
其中 β0j=γ00+γ01∗ experiencej +u0jβ0j=γ00+γ01∗ experiencej + u0j 和 β2j=γ20+γ21∗ experiencej +u2jβ2j=γ20+γ21∗ experiencej + u2j
合并失去:

受欢迎水平 ij =γ00+γ10∗ sexij +γ20∗ extraversionij +γ01∗教训 j +γ21∗ extraversionij ∗教训 j + u2j ∗ extraversionij + u0j + eij

受欢迎水平 ij =γ00+γ10∗ sexij +γ20∗ extraversionij +γ01∗教训 j +γ21∗ extraij u2j * extraversionij + u0j + eij

## Linear mixed model fit by REML. t-tests use Satterthwaite's method [## lmerModLmerTest]
##    Data: popular2data
## 
## REML criterion at convergence: 4780.5
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.12872 -0.63857 -0.01129  0.67916  3.05006 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev. Corr 
##  class    (Intercept) 0.478639 0.69184       
##           extrav      0.005409 0.07355  -0.64
##  Residual             0.552769 0.74348       
## Number of obs: 2000, groups:  class, 100
## 
## Fixed effects:
##               Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept) -1.210e+00  2.719e-01  1.093e+02  -4.449 2.09e-05 ***
## sex          1.241e+00  3.623e-02  1.941e+03  34.243  < 2e-16 ***
## extrav       8.036e-01  4.012e-02  7.207e+01  20.031  < 2e-16 ***
## texp         2.262e-01  1.681e-02  9.851e+01  13.458  < 2e-16 ***
## extrav:texp -2.473e-02  2.555e-03  7.199e+01  -9.679 1.15e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) sex    extrav texp  
## sex          0.002                     
## extrav      -0.867 -0.065              
## texp        -0.916 -0.047  0.801       
## extrav:texp  0.773  0.033 -0.901 -0.859

交互项用 extrav:texp 示意,Fixed effects 并预计为 -0.025。
从这些后果中,咱们当初还能够通过应用老师教训作为第二层变量来计算解释的内向斜率方差:(0.03455-0.005409)/0.03455 = .843。因而,内向斜率回归系数的方差的 84.3%能够由老师的教训来解释。
内向系数在受欢迎水平上的截距和斜率均受老师教训的影响。一名具备 0 年教训的老师的班级中,内向得分为 0 的男学生(SEX = 0)的预期受欢迎度为 -1.2096。一名相似的(男)学生,每减少 1 分内向度,就将取得 0.8036 分,以进步其知名度。当老师教训减少时,每年教训的截距也减少 0.226。因而,同一个没有内向性的男学生与一个有 15 年教训的老师一起上课,其预期受欢迎度得分为 -1.2096 +(15 x .226)= 2.1804。老师的教训也加重了内向性对遍及的影响。对于具备 15 年教训的老师,内向的回归系数仅为 0.8036 –(15 x .0247)= 0.4331(相比之下,具备 0 年教训的老师班级为 0.8036)。
咱们还能够分明地看到,多年的老师教训既影响截距,又影响内向度的回归系数。

最初

在本教程完结,咱们将查看模型的残差是否正态分布(在两个层级上)。除了残差是正态分布的之外,多层模型还假如,对于不同的随机效应,残差的方差在组(类)之间是相等的。的确存在跨组的正态性和方差相等性的统计测验。

首先,咱们能够通过比拟残差和拟合项来查看均方差。

咱们还能够应用 QQ 图查看残差的正态性。该图的确表明残差是正态分布的。

当初,咱们还能够查看 100 个班级的两个随机成果。同样,能够看到合乎正态分布。

点击文末 “浏览原文”

获取全文残缺材料。

本文选自《R 语言 LME4 混合效应模型钻研老师的受欢迎水平》。

点击题目查阅往期内容

R 语言贝叶斯狭义线性混合(多层次 / 程度 / 嵌套)模型 GLMM、逻辑回归剖析教育留级影响因素数据
R 语言混合效应逻辑回归(mixed effects logistic)模型剖析肺癌数据
多程度模型、分层线性模型 HLM、混合效应模型钻研老师的受欢迎水平
R 语言 nlme、nlmer、lme4 用(非)线性混合模型 non-linear mixed model 剖析藻类数据实例
R 语言混合线性模型、多层次模型、回归模型剖析学生均匀问题 GPA 和可视化
R 语言线性混合效应模型(固定效应 & 随机效应)和交互可视化 3 案例
R 语言用 lme4 多层次(混合效应)狭义线性模型(GLM),逻辑回归剖析教育留级考察数据 R 语言 线性混合效应模型实战案例
R 语言混合效应逻辑回归(mixed effects logistic)模型剖析肺癌数据
R 语言如何用潜类别混合效应模型(LCMM)剖析抑郁症状
R 语言基于 copula 的贝叶斯分层混合模型的诊断准确性钻研
R 语言建设和可视化混合效应模型 mixed effect model
R 语言 LME4 混合效应模型钻研老师的受欢迎水平
R 语言 线性混合效应模型实战案例
R 语言用 Rshiny 摸索 lme4 狭义线性混合模型(GLMM)和线性混合模型(LMM)
R 语言基于 copula 的贝叶斯分层混合模型的诊断准确性钻研
R 语言如何解决线性混合模型中畸形拟合 (Singular fit) 的问题
基于 R 语言的 lmer 混合线性回归模型
R 语言用 WinBUGS 软件对学术能力测验建设档次(分层)贝叶斯模型
R 语言分层线性模型案例
R 语言用 WinBUGS 软件对学术能力测验(SAT)建设分层模型
应用 SAS,Stata,HLM,R,SPSS 和 Mplus 的分层线性模型 HLM
R 语言用 WinBUGS 软件对学术能力测验建设档次(分层)贝叶斯模型
SPSS 中的多层(等级)线性模型 Multilevel linear models 钻研整容手术数据
用 SPSS 预计 HLM 多层(档次)线性模型模型

退出移动版