Obtendo uma fórmula para limites de previsão em um modelo linear (ou seja: intervalos de previsão)

18

Vamos dar o seguinte exemplo:

set.seed(342)
x1 <- runif(100)
x2 <- runif(100)
y <- x1+x2 + 2*x1*x2 + rnorm(100)
fit <- lm(y~x1*x2)

Isso cria um modelo de y com base em x1 e x2, usando uma regressão OLS. Se quisermos prever y para um dado x_vec, podemos simplesmente usar a fórmula que obtemos do summary(fit).

No entanto, e se quisermos prever as previsões inferiores e superiores de y? (para um determinado nível de confiança).

Como então construiríamos a fórmula?

Tal Galili
fonte
A seção Intervalo de confiança em novas observações desta página pode ajudar.
precisa saber é o seguinte
@ Tal Desculpe, mas não está realmente claro para mim o que você realmente quer dizer com "prever as previsões inferiores e superiores de y". Tem algo a ver com faixas de previsão ou tolerância?
chl
@ Tal - algumas perguntas. Quando você diz ".. y com base em x1 e x2, usando uma regressão OLS". , você quer dizer criar um modelo linear e estimar parâmetros usando OLS . Estou certo? e a pergunta de @ chl - você deseja prever os limites inferior e superior para o intervalo de previsão?
suncoolsu
@ chl, desculpe por não ser mais claro. Estou procurando duas fórmulas que darão um intervalo para "capturar" o valor "real" de y 95% das vezes. Eu sinto como eu estou usando definições para a CI para a média, quando provavelmente há algum outro termo que eu deveria estar usando, desculpe por isso ...
Tal Galili
@scocoolsu - sim e sim.
Tal Galili

Respostas:

25

Você precisará de aritmética matricial. Não tenho certeza de como o Excel irá fazer isso. Enfim, aqui estão os detalhes.

Suponha que sua regressão seja escrita como .y=Xβ+e

Deixe ser um vector em linha com os valores dos preditores para as previsões (no mesmo formato que X ). Em seguida, a previsão é determinado por y = X * β = X * ( X ' X ) - 1 X ' Y com uma variância associada σ 2 [ 1 + X * ( X ' X ) - 1 ( X * ) ' ] .XX

y^=Xβ^=X(XX)-1XY
σ2[1+X(XX)-1(X)].
Em seguida, um intervalo de previsão de 95% pode ser calculada (assumindo erros normalmente distribuídos) como y ± 1,96 σ Isso leva em consideração a incerteza devido ao termo de erroeea incerteza nas estimativas do coeficiente. No entanto, ele ignora quaisquer erros no X. Portanto, se os valores futuros dos preditores forem incertos, o intervalo de previsão calculado usando esta expressão será muito estreito.
y^±1,96σ^1+X(XX)-1(X).
eX
Rob Hyndman
fonte
1
+1, excelente resposta. Devo observar, porém, que o modelo de regressão sempre estima expectativas esperadas, portanto é tão bom quanto seus regressores. Portanto, o último comentário, embora seja muito bom, não é estritamente necessário, pois se você construir um modelo de regressão, deverá confiar nos regressores.
precisa saber é o seguinte
y^=Xβ+X(XX)-1Xevumary^=vumarX(XX)-1Xe=σ2X(XX)-1(X)
y^
N×N
X
7

Você está por acaso após os diferentes tipos de intervalos de previsão? A predict.lmpágina do manual possui

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

e

Definir 'intervalos' especifica o cálculo dos intervalos de confiança ou previsão (tolerância) no 'nível' especificado, às vezes chamado de intervalos estreitos versus amplos.

É isso que você tinha em mente?

Dirk Eddelbuettel
fonte
Oi Dirk, é realmente isso que desejo encontrar, mas quero que os títulos superior e inferior estejam na forma de uma fórmula (para implementar posteriormente em alguma forma baixa de software estatístico, por exemplo, excel ...)
Tal Galili
ps: eu agora ver que havia uma edição para o título da minha pergunta que pode ter levado você a pensar que eu estava perguntando sobre parâmetro de intervalo predict.lm (que eu não sou) :)
Tal Galili
8
Você está abusando da terminologia aqui. O Excel não é um software estatístico.
precisa saber é o seguinte
1
Você está certo, meu lance, que tal "um aplicativo de planilha"?
Tal Galili #
3
Eu posso viver com isso; ele chama o diabo por seu nome ;-)
Dirk Eddelbuettel
6

@ Tal: Posso sugerir Kutner et al como uma fonte fabulosa para modelos lineares.

E(Y|Xvec)

E(Y|Xvec)Y^ ±αY^Y^Y^σ2nXvec-X¯)2σ2(XEu-X¯)2

B_Miner
fonte
1
(+1) para fazer a distinção. No entanto, acredito que o OP esteja solicitando (1), não (2) (e editei o título da pergunta de acordo). Observe também que sua fórmula parece assumir que a regressão depende apenas de uma variável.
whuber