Расчет доверительных интервалов для нелинейной модели: ошибка вgnettNLS - PullRequest
0 голосов
/ 27 сентября 2018

Мне нужен двусторонний 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'), но я получил ту же ошибку.Как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...