У меня есть следующие данные, расположенные здесь . Я пытаюсь рассчитать 95% доверительный интервал для средней чистоты, когда процент углеводородов равен 1,0. В R я ввожу следующее.
> predict(purity.lm, newdata=list(hydro=1.0), interval="confidence", level=.95)
fit lwr upr
1 89.66431 87.51017 91.81845
Тем не менее, как я могу получить этот результат сам? Я попытался использовать следующее уравнение.
И я ввожу следующее в R.
> SSE_line = sum((purity - (77.863 + 11.801*hydro))^2)
> MSE = SSE_line/18
> t.quantiles <- qt(c(.025, .975), 18)
> prediction = B0 + B1*1
> SE_predict = sqrt(MSE)*sqrt(1+1/20+(mean(hydro)-1)^2/sum((hydro - mean(hydro))^2))
> prediction + SE_predict*t.quantiles
[1] 81.80716 97.52146
Мои результаты отличаются от функции предсказания R. Что я неправильно понимаю в интервалах прогнозирования?
r
regression
confidence-interval
prediction-interval
idealistikz
источник
источник
predict(purity.lm, newdata=list(hydro=1.0), interval="prediction", level=.95)
Ответы:
Ваш
predict.lm
код рассчитывает доверительные интервалы для установленных значений. Ваша рука вычисляет интервалы прогнозирования для новых данных. Если вы хотите получить тот же результат,predict.lm
что и при расчете руки, изменитеinterval="confidence"
наinterval="prediction"
источник
Хороший ответ от dpel. Я бы добавил, что разницу между доверительным интервалом и интервалом прогнозирования можно указать, как показано ниже:
Источник См слайд страницы 5/17 и 11/17
источник