如何解决为什么 lme 模型的截距和线远低于原始数据
我有一个包含三个因素的混合模型:一个是分类的,两个是连续的。当试图在原始数据上绘制拟合线时,它远远低于。为什么会这样? 这是模型输出:
Linear mixed-effects model fit by maximum likelihood
Data: x
AIC BIC logLik
143.5392 155.3614 -64.76961
Random effects:
Formula: ~1 | col
(Intercept) Residual
StdDev: 2.737332e-05 1.221771
Fixed effects: ctmax ~ ur * hl + ratectmax
Value Std.Error DF t-value p-value
(Intercept) 23.855561 2.868299 31 8.316971 0.0000
urhigh 8.717054 4.542828 31 1.918861 0.0642
hl 0.125498 0.035472 31 3.537982 0.0013
ratectmax 7.283523 2.284297 31 3.188518 0.0033
urhigh:hl -0.080326 0.049294 31 -1.629521 0.1133
这是要绘制的脚本:
plot(x$ctmax~x$hl,pch=24,bg=c("light grey","purple","transparent","red","yellow")[x$col],ylim=c(20,48),family = "Times",cex.lab = ".85",cex.axis = ".85",xlab="heating rate (°C/min)",ylab="Temperature (°C)",family = "Times")
abline(23.85,0.12,col="black",lwd=1.8)
该方法也没有绘制任何内容,尽管它对于只有两个连续因子的模型非常有效。
lines(predict(m7),lwd=1,lty=1)
解决方法
最后,这和我预期的一样:为原始预测因子的每个水平绘制模型的预测值,给了我更合理的线条。
x$pred=predict(m7)
points(x$ctmax[!x$ur%in%"50"]~x$hl[!x$ur%in%"50"],pch=24,family = "Times",cex.lab = ".85",cex.axis = ".85",xlab="Hydration level (%)",ylab=" Temperature (°C)",ylim=c(25,50),bg="light grey")
with(x,abline(lm(x$pred[!x$ur%in%"50"]~hl[!x$ur%in%"50"]),col="light grey"))
# dry treatment
points(x$ctmax[!x$ur%in%"85"]~x$hl[!x$ur%in%"85"],cex.lab = ".85",bg="black")
with(x,abline(lm(x$pred[!x$ur%in%"85"]~hl[!x$ur%in%"85"]),col="black"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。