首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何规范Lmer模型?

如何规范Lmer模型?
EN

Stack Overflow用户
提问于 2022-07-12 20:01:12
回答 1查看 95关注 0票数 0

艾默:

代码语言:javascript
复制
mixed.lmer6 <- lmer(Size ~ (Time+I(Time^2))*Country*STemperature +
   (1|Country:Locality)+ (1|Locality:Individual)+(1|Batch)+
   (1|Egg_masses), REML = FALSE, data = data_NoNA) 

剩余数:

代码语言:javascript
复制
plot_model(mixed.lmer6, type = "diag")

在我的公式中尝试了手动日志、power、sqrt转换,但是没有改进,我也找不到合适的自动转换R函数,比如BoxCox (它不适用于LMER)

如有任何帮助或建议,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-07-15 00:59:58

这可能更适合CrossValidated (“我该怎么办?”)。适合简历;“我该怎么做?”是最好的堆叠溢出),但我会采取一个裂缝。

  • Q-Q图通常是你应该看的最后一次/least的重要诊断(顺序应该是(1)检查平均拟合与残差、残差与协变量之间的显著偏差/遗漏模式;(2)检查异常值/影响点的杠杆、库克距离;(3)检查异方差标度-位置图;(4)检查分布假设Q-Q图)。原因是,任何“上游”故障(例如漏掉的模式)也会出现在Q-Q图中;解决这些故障通常会解决明显的non-Normality.
  • If问题,您可以通过修正模型中的其他内容(添加协变量/添加交互作用/添加多项式或样条项/移除异常值)来修正分布假设,然后这样做。
  • 您可以编写自己的蛮力盒-Cox,类似

代码语言:javascript
复制
fitted_model <- lmer(..., data = mydata)
bcfun <- function(lambda, resp = "y") {
   y <- mydata[[resp]]
   mydata$newy <- if (lambda==0) log(y) else (y^lambda -1)/lambda
   ## https://stats.stackexchange.com/questions/261380/how-do-i-get-the-box-cox-log-likelihood-using-the-jacobian
   log_jac <- sum((lambda-1)*log(y))
   newfit <- update(fitted_model, newy ~ ., data = mydata)
   return(-2*(c(logLik(newfit))+ log_jac))
}
lambdavec <- seq(-2, 2, by = 0.2)
boxcox <- vapply(lambdavec, bcfun, FUN.VALUE = numeric(1))
plot(lambdavec, boxcox - min(boxcox))

(轻轻测试!但是,如果它不起作用,可以随时通知我)

  • ,如果您确实需要拟合一个带有重尾残差分布的混合模型(例如,学生t),那么选择是相当有限的。brms包可以适应这样的模型(但会把你拉下贝叶斯/MCMC兔子洞),而heavy包(目前存档在CRAN上)将工作,但似乎不处理交叉随机效应。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72957781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档