Мне нужен двусторонний 95% доверительный интервал для моей нелинейной модели.Я использовал следующие данные:
xvalues<-c(0.92 , 3.00, 6.00 , 9.00 ,12.00 ,15.00, 18.00, 21.00, 24.00, 27.00)
yvalues<-c(210000000 ,210000000 ,200000000 ,180000000, 180000000, 180000000 ,160000000, 160000000 ,160000000, 150000000)
data<-data.frame(xvalues,yvalues)
Я подгонял к данным асимптотическую модель:
fit = nls(yvalues ~ SSasymp(xvalues, Asym, r0, lrc), data=data)
xCurve <- seq(0, 27, 1)
yCurve <- coef(fit)[1]+(coef(fit)[2]-coef(fit)[1])*exp(-exp(coef(fit)[3])*xCurve)
plot(yvalues~xvalues)
lines(xCurve, yCurve, col = 'green', lty = 1)
Мне нужны доверительные линии вокруг моей линии регрессии.К сожалению, я получил эту ошибку, когда я хотел предсказать доверительный интервал:
xnew<-seq(0,27,1)
pre<-predictNLS(fit, newdata=data.frame(xvalues=xnew), interval = c("confidence"),alpha = 0.05)
predictNLS: Propagating predictor value #1...
Error in if (df != as.integer(df)) stop("Rejection sampling currenly works only for integer degrees of freedom. Consider using algorithm='gibbs'.") :
missing value where TRUE/FALSE needed
Я также попытался с помощью pre<-predictNLS(fit, newdata=data.frame(xvalues=xnew), interval = c("confidence"),alpha = 0.05,algorithm='gibbs')
, но я получил ту же ошибку.Как решить эту проблему?