首页 > 解决方案 > 使用 nls() 时的置信区间

问题描述

我正在编写一个代码来模拟细菌的失活。我能够使用 nls() 获得模型。现在,当我尝试计算和绘制置信区间和预测区间时,我无法得到合适的拟合。较低的 CI 和 PI 被绘制错误,我不知道如何纠正这个问题。

我的代码:

Xo <- c(0, 0.461, 0.978, 2.087)
Y <- c(0, -2.891, -4.197, -4.489)
dat <- data.frame(Xo, Y, colClass="numeric")
f <- function(Xo, n, k) {-k*(Xo)^n}
m <- nls(Y~f(Xo, n, k), data=dat, start=c(n=2, k=20), trace=TRUE)
summary(m)
yfitted <- predict(m)
plot(Xo, yfitted)
lines(Xo, yfitted)
plot(dat$Xo, yfitted, xlim=c(0, 5), ylim=c(-5, 0))
y.conf <- predictNLS(m, interval="confidence", alpha =0.05, nsim=10000)$summary
y.pred <- predictNLS(m, interval="prediction", alpha=0.05, nsim=10000)$summary
matlines(Xo, y.conf[, c("Sim.2.5%", "Sim.97.5%")], col="red", lty="dashed")
matlines(Xo, y.pred[, c("Sim.2.5%", "Sim.97.5%")], col="blue", lty="solid")

剧情

标签: rconfidence-intervalnls

解决方案


推荐阅读