Существует ли какой-либо метод начальной загрузки для вычисления интервалов прогнозирования для точечных прогнозов, полученных, например, с помощью линейной регрессии или другого метода регрессии (k-ближайший сосед, деревья регрессии и т. Д.)?
Почему-то я чувствую, что иногда предлагаемый способ просто перехватить точечный прогноз (см., Например, интервалы прогнозирования для регрессии kNN ) не обеспечивает интервал прогнозирования, а доверительный интервал.
Пример в R
# STEP 1: GENERATE DATA
set.seed(34345)
n <- 100
x <- runif(n)
y <- 1 + 0.2*x + rnorm(n)
data <- data.frame(x, y)
# STEP 2: COMPUTE CLASSIC 95%-PREDICTION INTERVAL
fit <- lm(y ~ x)
plot(fit) # not shown but looks fine with respect to all relevant aspects
# Classic prediction interval based on standard error of forecast
predict(fit, list(x = 0.1), interval = "p")
# -0.6588168 3.093755
# Classic confidence interval based on standard error of estimation
predict(fit, list(x = 0.1), interval = "c")
# 0.893388 1.54155
# STEP 3: NOW BY BOOTSTRAP
B <- 1000
pred <- numeric(B)
for (i in 1:B) {
boot <- sample(n, n, replace = TRUE)
fit.b <- lm(y ~ x, data = data[boot,])
pred[i] <- predict(fit.b, list(x = 0.1))
}
quantile(pred, c(0.025, 0.975))
# 0.8699302 1.5399179
Очевидно, базовый интервал начальной загрузки 95% соответствует доверительному интервалу 95%, а не интервалу прогнозирования 95%. Итак, мой вопрос: как это сделать правильно?
bootstrap
prediction-interval
Майкл М
источник
источник
Ответы:
Метод, изложенный ниже, описан в разделе 6.3.3 Дэвидсона и Хинкли (1997), Методы начальной загрузки и их применение . Спасибо Glen_b и его комментарию здесь . Учитывая, что по этой теме было несколько вопросов о Cross Validated, я подумал, что стоит написать.
Модель линейной регрессии:
У нас есть данные, , которые мы используем для оценки & beta ; как: бета МНКя = 1 , 2 , … , N β
Теперь мы хотим предсказать, каким будет для новой точки данных, учитывая, что мы знаем X для нее. Это проблема прогнозирования. Давайте назовем новый X (который мы знаем) X N + 1 и новый Y (который мы хотели бы предсказать), Y N + 1 . Обычный прогноз (если мы предполагаем, что ϵ i являются iid и некоррелированными с X ): Y p N + 1Y Икс Икс ИксN+ 1 Y YN+ 1 εя Икс
Ошибка прогноза, сделанная этим прогнозом:
Мы можем переписать это уравнение как:
Вот
R
код:источник