繁体   English   中英

边际和条件 R^2 值的线性混合效应模型 (nlme/ lme4) 解释

[英]Linear mixed-effect models (nlme/ lme4) interpretation of marginal and conditional R^2 values

我正在调查细菌多样性,想知道多样性是否取决于 pH 值。 我的数据结构如下:

  • 我有一个包含 17 项不同研究的数据集
  • 每项研究都有多样性和 pH 值(研究之间的值数量不同)

现在我正在寻找一种方法来回答“pH 值对所有研究中的多样性是否有影响”这个问题

这个想法是使用 function lme并将学习设置为随机因素。 查看数据,它们似乎更适合二次项而不是线性回归,因此我尝试使用 pH 的二次项来计算 model:

my_model<- lme( fixed = Bacterial_diversity ~ pH +
I(pH^2),
random = ~ pH |Study,
data= my_data)

output(摘要)是:

> summary(my_model)
Linear mixed-effects model fit by REML
  Data: my_data
       AIC      BIC    logLik
  471.7855 497.7353 -228.8928

Random effects:
 Formula: ~pH | Paper
 Structure: General positive-definite, Log-Cholesky parametrization
            StdDev    Corr  
(Intercept) 4.4808759 (Intr)
pH          0.4783127 -0.88 
Residual    0.4154606       

Fixed effects:  Bacterial_diversity ~ pH + I(pH^2) 
                 Value Std.Error  DF   t-value p-value
(Intercept)  1.6641091 1.8078372 285  0.920497  0.3581
pH           1.1750097 0.4670426 285  2.515851  0.0124
I(pH^2)     -0.1187954 0.0363455 285 -3.268508  0.0012
 Correlation: 
        (Intr) pH    
pH      -0.895       
I(pH^2)  0.763 -0.959

Standardized Within-Group Residuals:
       Min         Q1        Med         Q3        Max 
-4.2091539 -0.4574020  0.1168270  0.6216446  2.0828655 

Number of Observations: 304
Number of Groups: 17 

我真的不知道如何解释这些结果。 当我使用tab_model(my_model)时,我最终得到两个 R^2 值。 边际 R^2 (0.025) 和条件 R^2 (0.974),给定的 p 值为 0.0012(对于 pH 的二次项)和 0.0124(对于 pH)。 是否为整个 model 计算了 R^2 值? 以及如何解释 R^2 值? 我可以说我的数据比线性回归更可能拟合二次项吗(由于 pH^2 的 p 值更显着)?

甚至是 model 我使用的是正确的还是我应该使用 nlme 而不是 lme4 (我真的不明白其中的区别。)。

我只想展示不同研究中 pH 值和细菌多样性之间的关系

如果您有任何想法,这将有很大帮助。 如果对数据、代码或其他任何问题有疑问,请随时提出。

摘要和引文

我建议使用performance package 甚至partR2 package,它们使用您提到的边缘和条件 R2 的 Nakagawa R2 值。 我还建议阅读有关该主题的这三篇论文,它们解释了价值观是什么:

配件一个 Model

我在下面提供了这些值和解释的工作示例。 首先,我在下面加载所需的包和 model。 为简单起见,我在此处删除了 NA 值,但在实际场景中应谨慎处理这些值。

#### Libraries ####
library(lmerTest) # for model fitting
library(performance) # for Nakagawa conditional/marginal R2
library(partR2) # for part R2 values
library(tidyverse) # for tidying data

#### Remove NA Values ####
carrots <- carrots %>% 
  drop_na()

#### Fit Model ####
fit <- lmer(Preference 
           ~ sens2 
           + Homesize 
           + (1 | Consumer),
           data=carrots)

边际和条件 R2

然后我们就可以运行一个伪R2的简单总结了。

#### Run Pseudo R2 and Part R2 ####
r2_nakagawa(fit)

这给了我们这个:

# R2 for Mixed Models

  Conditional R2: 0.176
     Marginal R2: 0.064

条件 R2 是整个 model 的解释方差量。在这种情况下,固定效应和随机效应都解释了大约 17.6% 的结果方差。 边际 R2 解释了这种差异有多少仅归因于固定效应。 这是一个相当小的数量:0.064%。

个别效果:R2 部分

然而,这并不能说明个人的影响。 为此, partR2可以帮助回答这个问题(在一定程度上)。 请注意,如果您缺少与固定效果匹配的数据或随机斜率,则partR2 function 将返回一个错误。 我已将靴子设置为 100,但对于最终的 model,它们应该接近 1000(我这样做只是为了节省时间和计算)。

part <- partR2(fit,
       partvars = c("sens2",
                    "Homesize"),
       nboot = 100)

在这里,您可以在此处获得固定效应大小的摘要:

summary(part)

见下文。 您会注意到它会自动提供边际 R2,它与sens2+Homesize的总 partR2 相匹配:

R2 (marginal) and 95% CI for the full model: 
 R2     CI_lower CI_upper ndf
 0.0643 0.0407   0.0964   3  

----------

Part (semi-partial) R2:
 Predictor(s)   R2     CI_lower CI_upper ndf
 Model          0.0643 0.0407   0.0964   3  
 sens2          0.0498 0.0262   0.0818   2  
 Homesize       0.0145 0.0000   0.0461   2  
 sens2+Homesize 0.0643 0.0407   0.0964   1  

----------

Inclusive R2 (SC^2 * R2):
 Predictor IR2    CI_lower CI_upper
 sens2     0.0498 0.0307   0.0729  
 Homesize3 0.0145 0.0016   0.0401  

----------

Structure coefficients r(Yhat,x):
 Predictor SC      CI_lower CI_upper
 sens2      0.8804  0.6980   0.9834 
 Homesize3 -0.4749 -0.7164  -0.1814 

----------

Beta weights (standardised estimates)
 Predictor BW      CI_lower CI_upper
 sens2      0.2235  0.1754   0.2703 
 Homesize3 -0.2800 -0.4716  -0.0914 

----------

在这里我们可以看到sens2对 model 的贡献大于基于更高解释方差的家庭大小。 有关详细信息,请参阅我在上面包含的文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM