Получение формулы для пределов прогнозирования в линейной модели (т. Е. Интервалы прогнозирования)


18

Давайте возьмем следующий пример:

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? (для данного уровня доверия).

Как тогда мы построим формулу?


Доверительный интервал по новым наблюдениям части этой страницы может помочь.
ГаБоргуля,

@Tal Извините, но мне не совсем понятно, что вы на самом деле подразумеваете под «предсказывать нижний и верхний предсказания y». Это как-то связано с предсказанием или толерантностью?
ЧЛ

@Tal - пара запросов. Когда вы говорите «.. y на основе x1 и x2, используя регрессию OLS». Вы имеете в виду создание линейной модели и оценку параметров с помощью OLS . Я прав? и вопрос @ chl - хотите ли вы предсказать нижнюю и верхнюю границы для интервала предсказания?
Suncoolsu

@chl, извините за то, что не был более ясным. Я ищу две формулы, которые дадут интервал для того, чтобы «поймать» «реальное» значение у 95% времени. Я чувствую, как я использую определения для КИ для среднего значения, когда, вероятно, есть какой-то другой термин, который я должен использовать, извините за это ...
Тал Галили,

@suncoolsu - да и да.
Таль Галили

Ответы:


25

Вам понадобится матричная арифметика. Я не уверен, как Excel пойдет с этим. Во всяком случае, здесь есть детали.

Предположим, что ваша регрессия записана как .y=Xβ+e

Пусть будет вектором строки, содержащим значения предикторов для прогнозов (в том же формате, что и ). Тогда прогноз задается как со связанной дисперсией Тогда интервал прогнозирования 95% можно рассчитать (при условии нормально распределенных ошибок) как Это учитывает неопределенность из-за ошибкиХ у = Х * β = Х * ( Х ' х ) - 1 Х ' У σ 2 [ 1 + Х * ( Х ' х ) - 1 ( Х * ) ' ] . У ±1,96 сгXX

y^=Xβ^=X(XX)1XY
σ2[1+X(XX)1(X)].
y^±1.96σ^1+X(XX)1(X).
eи неопределенность в оценках коэффициента. Однако он игнорирует все ошибки в . Таким образом, если будущие значения предикторов являются неопределенными, то интервал прогнозирования, рассчитанный с использованием этого выражения, будет слишком узким.X

1
+1, отличный ответ. Должен отметить, что регрессионная модель всегда оценивает условное ожидание, поэтому она так же хороша, как и ее регрессоры. Поэтому последний комментарий, хотя и очень хороший, он не является строго необходимым, поскольку, если вы строите регрессионную модель, вы должны доверять регрессорам.
mpiktas

почему 1 появляется в формуле? У нас есть . Тогда ? Vг у =vгХ*(Х'х)-1х'е=σ2Х*(Х'х)-1(X)y^=Xβ+X(XX)1Xevary^=varX(XX)1Xe=σ2X(XX)1(X)
mpiktas

1 для интервалов прогнозирования. Оставьте это для доверительных интервалов. Var ( ) относится к доверительным интервалам. y^
Роб Хиндман

@RobHyndman спасибо за ваш отличный ответ (год назад;)) однако, я что-то упустил или это термин в квадратном корне ? N×N
Себ

@Seb. - вектор строки, поэтому термин скалярный. X
Роб Хиндман

7

Вы случайно после разных типов интервалов прогнозирования? Страница predict.lmруководства имеет

 ## S3 method for class 'lm'
 predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf, 
         interval = c("none", "confidence", "prediction"),
         level = 0.95, type = c("response", "terms"),
         terms = NULL, na.action = na.pass,
         pred.var = res.var/weights, weights = 1, ...)

и

Установка «интервалов» определяет вычисление доверительных интервалов или интервалов прогнозирования (допуска) на указанном «уровне», иногда называемых узкими или широкими интервалами.

Это то, что вы имели в виду?


Привет, Дирк, это действительно то, что я хочу найти, но я хочу, чтобы верхняя и нижняя связи были в форме формулы (чтобы потом реализовать в какой-то низкой форме статистического программного обеспечения, например, excel ...)
Таль Галили

ps: теперь я вижу, что в заголовке моего вопроса есть изменение, которое могло бы заставить вас подумать, что я спрашиваю о параметре интервала предиката (которым я не являюсь) :)
Таль Галили

8
Вы злоупотребляете терминологией здесь. Excel не является статистическим программным обеспечением.
Дирк Эддельбюттель

1
Вы правы, моя ставка, как насчет "приложения для электронных таблиц"?
Таль Галили

3
Я могу жить с этим; он называет дьявола своим именем ;-)
Дирк Эддельбюттель

6

@Tal: Могу ли я предложить Kutner и др. В качестве сказочного источника для линейных моделей.

Е(Y|Иксvес)

E(Y|Xvec)Y^ ±αY^Y^Y^σ2NИксvес-Икс¯)2σ2Σ(Икся-Икс¯)2


1
(+1) для проведения различия. Тем не менее, я считаю, что ФП запрашивает (1), а не (2) (и я соответственно отредактировал название вопроса). Также обратите внимание, что ваша формула предполагает, что регрессия зависит только от одной переменной.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.