Построить нелинейные регрессионные конф интервалы в R
Пожалуйста помоги. Мне удалось приспособить довольно приличную кривую нелинейной регрессии к моим данным, используя:
model2 <- nls(urine~a*(1-exp(-c*water)), data = eagle, start = list(a=550, c=0.00385))
и затем я генерирую свой график, используя:
av <- seq(0,1200, 0.5)
bv <- predict (model2, data=eagle, list(water=av))
plot (urine~water, data = eagle)
lines (av,bv)
Я хочу нарисовать несколько пунктирных линий для верхнего и нижнего доверительных интервалов 95%. Мне удалось написать код для моего анализа линейной регрессии, но я борюсь с текущей нелинейной регрессией. Следующий код:
a <- predict (model2, newdata=data.frame(water=av), interval="confidence")
для линейных регрессий это дает мне фрейм данных с тремя столбцами для подгонки, lwr и upr. С моей нелинейной регрессией это просто дает мне список чисел, с которыми я ничего не могу сделать. Какие-либо предложения? Есть ли простой способ получить верхние и доверительные линии для нелинейной регрессии?
1 ответ
se.fit не работает по-видимому. Нашел много форумов, обсуждающих трудности подгонки доверительных интервалов к нелинейным регрессиям в R. После целого дня поиска и удара головой об Интернет я наконец нашел очень полезную формулу. Я не уверен на 100%, как это работает, но это работает, так что здесь для всех, кто должен это сделать...
После того как вы создали свою статистическую таблицу для ваших прогнозируемых значений на основе последовательности значений x, вы можете получить доступ к данным значений CI lwr и upr в столбцах 6 и 7 выходных данных и построить график таким образом.