Давайте возьмем следующий пример:
set.seed(342)
x1 <- runif(100)
x2 <- runif(100)
y <- x1+x2 + 2*x1*x2 + rnorm(100)
fit <- lm(y~x1*x2)
Это создает модель y на основе x1 и x2, используя регрессию OLS. Если мы хотим предсказать y для данного x_vec, мы можем просто использовать формулу, которую мы получаем из summary(fit)
.
Однако, что если мы хотим предсказать нижний и верхний предсказания y? (для данного уровня доверия).
Как тогда мы построим формулу?
r
regression
predictive-models
prediction-interval
Таль Галили
источник
источник
Ответы:
Вам понадобится матричная арифметика. Я не уверен, как Excel пойдет с этим. Во всяком случае, здесь есть детали.
Предположим, что ваша регрессия записана как .y = X β+ е
Пусть будет вектором строки, содержащим значения предикторов для прогнозов (в том же формате, что и ). Тогда прогноз задается как со связанной дисперсией Тогда интервал прогнозирования 95% можно рассчитать (при условии нормально распределенных ошибок) как Это учитывает неопределенность из-за ошибкиХ у = Х * β = Х * ( Х ' х ) - 1 Х ' У σ 2 [ 1 + Х * ( Х ' х ) - 1 ( Х * ) ' ] . У ±1,96 сг √Икс* Икс
источник
Вы случайно после разных типов интервалов прогнозирования? Страница
predict.lm
руководства имеети
Это то, что вы имели в виду?
источник
@Tal: Могу ли я предложить Kutner и др. В качестве сказочного источника для линейных моделей.
источник