Отримання формули меж прогнозування у лінійній моделі (тобто: інтервали прогнозування)


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).

Однак що робити, якщо ми хочемо передбачити нижній і верхній прогнози у? (для заданого рівня довіри).

Як тоді ми побудуємо формулу?


Розділ довіри щодо нових спостережень на цій сторінці може допомогти.
ГаБоргуля

@Tal Вибачте, але мені не зовсім зрозуміло, що ви насправді маєте на увазі під «прогнозуйте нижній і верхній прогнози y». Чи має це щось спільне з смугами прогнозування чи толерантності?
chl

@Tal - пара запитів. Коли ви говорите ".. y на основі x1 та x2, використовуючи регресію OLS". , ви маєте на увазі створити лінійну модель та оцінити параметри за допомогою OLS . Я правий? і питання @ chl - чи хочете ви передбачити нижню та верхню межі для інтервалу прогнозування?
suncoolsu

@chl, вибачте, що не ясніше. Я шукаю дві формули, які дадуть інтервал, який дозволить "зловити" "реальне" значення y 95% часу. Я відчуваю, як я середньо використовую визначення для ІС, коли, мабуть, є якийсь інший термін, який я повинен би використовувати, вибачте про це ...
Тал Галілі

@suncoolsu - так і так.
Тал Галілі

Відповіді:


25

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

Припустимо, ваша регресія записується як .y=Xβ+e

Нехай - рядковий вектор, що містить значення предикторів прогнозів (у тому ж форматі, що і X ). Тоді прогноз дається у = Х * β = Х * ( Х ' х ) - 1 Х ' У з асоційованим дисперсією σ 2 [ 1 + X * ( X ' X ) - 1 ( Х * ) ' ] .XX

y^=Xβ^=X(XX)1XY
σ2[1+Х(Х'Х)-1(Х)'].
Тоді інтервал прогнозування 95% може бути обчислена (за умови нормально розподілених помилок) , як у ± 1,96 сг При цьому враховується невизначеність через термін помилкиeта невизначеність в оцінках коефіцієнта. Однак він ігнорує будь-які помилки в X. Отже, якщо майбутні значення предикторів невизначені, то інтервал прогнозування, обчислений за допомогою цього виразу, буде занадто вузьким.
у^±1,96σ^1+Х(Х'Х)-1(Х)'.
еХ

1
+1, відмінна відповідь. Хоча зауважити, що модель регресії завжди оцінює умовні очікування, тому вона така ж хороша, як і її регресори. Тож останній коментар, хоча є дуже хорошим, не є строго необхідним, оскільки якщо ви будуєте регресійну модель, ви повинні довіряти регресорам.
mpiktas

y^=Xβ+X(XX)1Xevary^=varX(XX)1Xe=σ2X(XX)1(X)

y^

N×N

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: Тепер я бачу, що в редакції заголовка мого питання відбулося редагування, яке, можливо, привело вас до думки, що я питаю про параметр інтервалу predict.lm (якого я не є) :)
Tal Galili

8
Ви тут зловживаєте термінологією. Excel не є статистичним програмним забезпеченням.
Дірк Еддельбюттель

1
Ви маєте рацію, моя пропозиція, як щодо "додатка для електронних таблиць"?
Тал Галілі

3
Я можу з цим жити; він називає диявола своїм ім'ям ;-)
Дірк Еддельбуеттель

6

@Tal: Можливо, я пропоную Kutner et al як казкове джерело для лінійних моделей.

E(Y|Xvec)

E(Y|Xvec)Y^ ±αY^Y^Y^σ2nXvecX¯)2σ2(XiX¯)2


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