Processing math: 100%

3 votos

Error estándar para predicciones individuales de regresión lineal - ¿Qué diablos es eso?

Estoy tratando de leer el libro "Una inferencia estadística para la era informática", que está disponible aquí: https://web.stanford.edu/~hastie/CASI_files/PDF/casi.pdf

Al comienzo del libro (desde la página 4) hay un ejemplo de regresión lineal con estimaciones de "error estándar" de las predicciones, y me ha confundido completamente.

La configuración es la siguiente. Tienen un modelo de regresión lineal,

=β0+β1x

y utilizando "mínimos cuadrados" deducen que los parámetros tienen los valores

β0=2.86,β1=0.079

Vale. Luego tienen una tabla de posibles valores de x, con los respectivos y predichos y el "error estándar" para cada predicción, que es diferente para cada uno (esto es lo que no entiendo).

Para dar dos ejemplos, tienen:

x=20,y=1.29,stderror=0.21

x=30,y=0.5,stderror=0.15

Los errores estándar son diferentes para los diferentes ejemplos.

Ahora, unas páginas antes, discuten cómo calcular la media de una muestra y calcular el error estándar según la fórmula:

se=[ni=1(xiˉx)2n(n1)]0.5

Indican que en el caso de regresión lineal, calculan los errores estándar usando una "versión extendida" de la fórmula anterior, pero nunca dicen cuál es. No entiendo cómo han calculado el "error estándar" para los ejemplos individuales en el caso de regresión lineal, y por qué es diferente para cada ejemplo. ¿Cuál es la fórmula?

Al leer la página de wikipedia sobre el error estándar me hace pensar que el se es simplemente la desviación estándar de la muestra, pero esto no concuerda con lo que han hecho aquí.

Cualquier ayuda se agradece.

4voto

bessman Puntos 2514

Puedes descargar su ejemplo desde https://web.stanford.edu/~hastie/CASI_files/DATA/kidney.txt y fácilmente replicar sus resultados.

> kidney <- read.table("kidney.txt", header=TRUE)
> str(kidney)
'data.frame':   157 obs. of  2 variables:
 $ age: int  18 19 19 20 21 21 21 22 22 22 ...
 $ tot: num  2.44 3.86 -1.22 2.3 0.98 -0.5 2.74 -0.12 -1.21 0.99 ...
> fit <- lm(tot ~ age, data=kidney)
> fit$coefficients
(Intercept)         age 
 2.86002680 -0.07858842 

En cuanto a los errores estándar, los errores estándar de los valores ajustados, se(ˆy), son diferentes de los errores estándar de los coeficientes, se(ˆβ).

La matriz modelo X es:

> X <- model.matrix(fit)
> head(X)
  (Intercept) age
1           1  18
2           1  19
3           1  19
4           1  20
5           1  21
6           1  21

Colocando S=(XTX)1, cov(ˆβ)=σ2yS (ver mi respuesta a esta pregunta). Dado un único valor ajustado, ˆyh y la fila correspondiente h de X, por ejemplo y1=2.44,x1=[118] la varianza de ˆyh es: var(ˆyh)=var(xThˆβ)=xThcov(ˆβ)xh=xTh(Sσ2y)xh=σ2y(xThSxh) Estimas σ2y por la media cuadrática residual, RMS, el error estándar de ˆyh es: se(ˆyh)=RMS(xThSxh) y depende de xh.

Cuando solo hay una variable independiente, S=(XTX)1=1n(xiˉx)2[x2ixixin] y xTh(XTX)1xh=x2i2xhnˉx+nx2hn(xiˉx)2=x2inˉx2+n(xhˉx)2n(xiˉx)2=1n+(xhˉx)2(xiˉx)2 (Recuerda que (xiˉx)2=x2inˉx2).

La "versión extendida de la fórmula (1.2)" (que es simplemente el error estándar de una media) es: se(ˆyh)=[RMS(1n+(xhˉx)2(xiˉx)2)]12 Por cierto, así es como se calculan los intervalos de confianza.

Ver Kutner, Nachtsheim, Neter & Li, Applied Linear Statistical Models, McGraw-Hill, 2005, §2.4, o Seber & Lee, Linear Regression Analysis, John Wiley & Sons, 2003, §6.1.3.

En R:

> S <- solve(t(X) %*% X)
> RMS <- summary(fit)$sigma^2
> x_h <- matrix(c(1, 20), ncol=1)             # primer error estándar en la Tabla 1.1
> y_h_se <- sqrt(RMS * (t(x_h) %*% S %*% x_h)); y_h_se
          [,1]
[1,] 0.2066481
> x_h <- matrix(c(1, 80), ncol=1)             # último error estándar en la Tabla 1.1
> y_h_se <- sqrt(RMS * (t(x_h) %*% S %*% x_h)); y_h_se
         [,1]
[1,] 0.420226

EDITAR

Si estás interesado en el error estándar de ˆyh(new)=ˆα+ˆβxh(new), cuando xh(new) es una nueva observación, no sabes cuál sería ˆyh en una regresión en n+1 puntos. Diferentes muestras darían diferentes predicciones, por lo que debes tener en cuenta la desviación de ˆyh(new) alrededor de ˆyh=ˆα+ˆβxh: var[yh(new)ˆyh]=var(yh(new))+var(ˆyh) Entonces, la varianza de tu predicción tiene dos componentes: la varianza de y, que estimas por RMS, y la varianza de la distribución muestral de ˆyh, RMS(xThSxh):

RMS+RMS(1n+(xhˉx)2(xiˉx)2) La "versión extendida de la fórmula (1.2)" se convierte en: se(ˆyh(new))=[RMS(1+1n+(xh(new)ˉx)2(xiˉx)2)]12 Ver Kutner, Nachtsheim, Neter & Li, Applied Linear Statistical Models, McGraw-Hill, 2005, §2.5, o https://online.stat.psu.edu/stat501/lesson/3/3.3.

2voto

El valor predicho en X=x es ˆμ=ˆβ0+ˆβ1x. Esta es una función de una constante conocida, x, y variables aleatorias (ˆβ0,ˆβ1). El error estándar de ˆμ es su desviación estándar, que es una función de la desviación estándar de (ˆβ0,ˆβ1)

Específicamente, la varianza de xˆβ es x2var[ˆβ1]+2xcov[ˆβ1,ˆβ0]+var[ˆβ0].

Esto depende de x, por lo que es diferente para cada observación. Dado que conocemos x y tenemos un buen estimador de la matriz de varianza-covarianza de ˆβ, podemos estimarlo.

La razón de la fórmula simplificada que mencionas es que el álgebra lineal se simplifica si la media de X es cero, de modo que ˆβ0 y ˆβ1 son incorrelacionados. Puedes lograr eso transformando x a xˉx.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X