![](/img/trans.png)
[英]How to determine if a linear mixed model is overdetermined in lme4/nlme?
[英]Linear mixed-effect models (nlme/ lme4) interpretation of marginal and conditional R^2 values
我正在调查细菌多样性,想知道多样性是否取决于 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。 为简单起见,我在此处删除了 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的简单总结了。
#### 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%。
然而,这并不能说明个人的影响。 为此, 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.