Pregunta sobre cómo normalizar el coeficiente de regresión

16

No estoy seguro si normalizar es la palabra correcta para usar aquí, pero haré todo lo posible para ilustrar lo que estoy tratando de preguntar. El estimador utilizado aquí es de mínimos cuadrados.

Supongamos que tiene , puede centrarlo alrededor de la media por donde y x_1' = x- \ bar x , entonces que \ beta_0 ' ya no influye en la estimación de \ beta_1 .y = β 0 + β 1 x 1y=β0+β1x1 y = β 0 + β 1 x 1y=β0+β1x1 β 0 = β 0 + β 1 ˉ x 1 β0=β0+β1x¯1x 1 = x - ˉ xx1=xx¯ β 0β0 β 1β1

Con esto quiero decir que β 1β^1 en y = β 1 x 1y=β1x1 es equivalente a β 1β^1 en y = β 0 + β 1 x 1y=β0+β1x1 . Hemos reducido la ecuación para facilitar el cálculo del mínimo cuadrado.

¿Cómo se aplica este método en general? Ahora tengo el modelo y = β 1 e x 1 t + β 2 e x 2 ty=β1ex1t+β2ex2t , estoy tratando de reducirlo a y = β 1 x y=β1x .

Sabre CN
fuente
¿Qué tipo de datos está analizando y por qué desea eliminar una covariable, , de su modelo. Además, ¿hay alguna razón por la que está eliminando la intercepción? Si significa centrar los datos, la pendiente será la misma en el modelo con / sin intercepción, pero el modelo con la intersección se ajustará mejor a sus datos. e x 1 tex1t
caburke
@caburke No me preocupa el ajuste del modelo, porque después de calcular y puedo volver a colocarlos en el modelo. El objetivo de este ejercicio es estimar . Al reducir la ecuación original a solo , el cálculo de mínimos cuadrados será más fácil (x' es parte de lo que estoy tratando de averiguar, puede incluir ). Estoy tratando de aprender los mecanismos, esta es una pregunta de un libro de Tukey. β 1 β 2 β 1 y = β 1 x e x 1 tβ1β2β1y=β1xex1t
Saber CN
@ca La observación al final de tu comentario es desconcertante. No puede aplicarse a las expresiones no lineales (no contienen nada que pueda considerarse razonablemente una "pendiente"), pero no es correcto en la configuración de OLS: el ajuste para los datos centrados en la media es precisamente tan bueno como el encajar con una intercepción. Saber, tu modelo es ambiguo: ¿cuáles de son variables y cuáles son parámetros? ¿Cuál es la estructura de error prevista? (¿Y de cuál de los libros de Tukey es la pregunta?)β 1 , β 2 , x 1 , x 2 , tβ1,β2,x1,x2,t
whuber
1
@whuber Esto es del libro de Tukey "Análisis de datos y regresión: un segundo curso en estadística" capítulo 14A. son los parámetros que estamos tratando de estimar, son las variables, cada una con n observaciones, Supongo que es la variable de tiempo asociada con las observaciones, sin embargo, no especificó. El error debe ser normal y puede ignorarse para esta pregunta. β 1 , β 2 x 1 , x 2 tβ1,β2x1,x2t
Sabre CN
1
@whuber Me refería principalmente a la primera parte de la publicación, pero esto no estaba claro en mi comentario. Lo que quise decir es que si solo quieres decir centro , y no , como parecía sugerido en el OP, y luego eliminar la intersección, el ajuste será peor, ya que no es necesariamente el caso de que . Obviamente, pendiente no es un buen término para el coeficiente en el modelo mencionado en la última línea del PO. x y ˉ y = 0xyy¯=0
caburke

Respuestas:

38

Aunque no puedo hacer justicia a la pregunta aquí, eso requeriría una pequeña monografía, puede ser útil recapitular algunas ideas clave.

La pregunta

Comencemos volviendo a plantear la pregunta y utilizando una terminología inequívoca. Los datos consisten en una lista de pares ordenados . Las constantes conocidas y determinan los valores y . Nosotros proponemos un modelo en el cual( t i , y i )(ti,yi) α 1 α 2 x 1 , i = exp ( α 1 t i ) x 2 , i = exp ( α 2 t i )α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)

y i = β 1 x 1 , i + β 2 x 2 , i + ε i

yi=β1x1,i+β2x2,i+εi

para que las constantes y se estimen, son aleatorias y, de todos modos, para una buena aproximación, independientes y tienen una varianza común (cuya estimación también es de interés).β 1 β 2 ε iβ1β2εi

Antecedentes: "coincidencia" lineal

Mosteller y Tukey se refieren a las variables = y como "matchers". Se utilizarán para "hacer coincidir" los valores de de una manera específica, lo que ilustraré. En términos más generales, supongamos que y sean dos vectores en el mismo espacio vectorial euclidiano, con desempeñando el papel de "objetivo" el de "emparejador". Contemplamos variar sistemáticamente un coeficiente para aproximar por el múltiplo .x 1 ( x 1 , 1 , x 1 , 2 , ) x 2 y = ( y 1 , y 2 , ) y x y x λ y λx1(x1,1,x1,2,)x2y=(y1,y2,)yxyxλy x λ x yλxλxy como sea posible. De manera equivalente, la longitud al cuadrado de se minimiza.y - λ xyλx

Una forma de visualizar este proceso de correspondencia es hacer un diagrama de dispersión de e sobre el cual se dibuja la gráfica de . Las distancias verticales entre los puntos del diagrama de dispersión y este gráfico son los componentes del vector residual ; la suma de sus cuadrados debe hacerse lo más pequeña posible. Hasta una constante de proporcionalidad, estos cuadrados son las áreas de círculos centrados en los puntos con radios iguales a los residuales: deseamos minimizar la suma de áreas de todos estos círculos.Xx y x λ xyxλx y - λ x (yλx x i , y i )(xi,yi)

Aquí hay un ejemplo que muestra el valor óptimo de en el panel central:λλ

Panel

Los puntos en el diagrama de dispersión son azules; la gráfica de es una línea roja. Esta ilustración enfatiza que la línea roja está obligada a pasar a través del origen : es un caso muy especial de ajuste de línea.x λ x ( 0 , 0 )xλx(0,0)

Se puede obtener regresión múltiple por coincidencia secuencial

Volviendo a la configuración de la pregunta, tenemos un objetivo y dos indicadores y . Buscamos los números y para los cuales se aproxima lo más posible por , nuevamente en el sentido de la menor distancia. Comenzando arbitrariamente con , Mosteller y Tukey coinciden con las variables restantes x 2 e con . Escriba los residuos para estas coincidencias como e , respectivamente: el indica queyyx1x1x2x2b1b1b2b2yyb1x1+b2x2b1x1+b2x2x1x1x2yyx1x1x21x21y1y111x1x1 ha sido "sacado de" la variable.

Podemos escribir

y = λ 1 x 1 + y 1  y  x 2 = λ 2 x 1 + x 2 1 .

y=λ1x1+y1 and x2=λ2x1+x21.

Habiendo tomado x 1 de x 2 e y , procedemos a hacer coincidir los residuos objetivo y 1 con los residuos de coincidencia x 2 1 . Los residuos finales son y 12 . Algebraicamente, hemos escritox1x2yy1x21y12

y 1 = λ 3 x 2 1 + y 12 ;  de donde y = λ 1 x 1 + y 1 = λ 1 x 1 + λ 3 x 2 1 + y 12 = λ 1 x 1 + λ 3 ( x 2 - λ 2 x 1 ) +y 12= ( λ 1 - λ 3 λ 2 ) x 1 + λ 3 x 2 + y 12 .

y1y=λ3x21+y12; whence=λ1x1+y1=λ1x1+λ3x21+y12=λ1x1+λ3(x2λ2x1)+y12=(λ1λ3λ2)x1+λ3x2+y12.

Esto muestra que el λ 3 en el último paso es el coeficiente de x 2 en una coincidencia de x 1 y x 2 a y .λ3x2x1x2y

También podríamos haber procedido primero tomando x 2 de x 1 e y , produciendo x 1 2 e y 2 , y luego tomando x 1 2 de y 2 , produciendo un conjunto diferente de residuos y 21 . Esta vez, el coeficiente de x 1 encontrado en el último paso, llamémoslo μ 3, es el coeficiente de x 1 en una coincidencia de x 1 yx2x1yx12y2x12y2y21x1μ3x1x1x 2 a y .x2y

Finalmente, para comparación, podríamos ejecutar un múltiplo (regresión de mínimos cuadrados ordinarios) de y contra x 1 y x 2 . Deje que esos residuos sean y l m . Resulta que los coeficientes en esta regresión múltiple son precisamente los coeficientes μ 3 y λ 3 encontrados previamente y que los tres conjuntos de residuos, y 12 , y 21 e y l m , son idénticos.yx1x2ylmμ3λ3y12y21ylm

Representando el proceso

Nada de esto es nuevo: todo está en el texto. Me gustaría ofrecer un análisis pictórico, utilizando una matriz de diagrama de dispersión de todo lo que hemos obtenido hasta ahora.

Gráfico de dispersión

Debido a que estos datos son simulados, tenemos el lujo de mostrar los valores "verdaderos" subyacentes de y en la última fila y columna: estos son los valores β 1 x 1 + β 2 x 2 sin el error agregado.yβ1x1+β2x2

Los diagramas de dispersión debajo de la diagonal se han decorado con los gráficos de los comparadores, exactamente como en la primera figura. Los gráficos con pendientes cero se dibujan en rojo: indican situaciones en las que el comparador no nos da nada nuevo; los residuos son los mismos que el objetivo. Además, como referencia, el origen (donde sea que aparezca dentro de un diagrama) se muestra como un círculo rojo abierto: recuerde que todas las líneas coincidentes posibles deben pasar por este punto.

Se puede aprender mucho sobre la regresión mediante el estudio de esta trama. Algunos de los aspectos más destacados son:

  • La coincidencia de x 2 a x 1 (fila 2, columna 1) es pobre. Esta es una buena cosa: esto indica que x 1 y x 2 están proporcionando información muy diferente; usar ambos juntos probablemente será mucho más adecuado para y que usar uno solo.x2x1x1x2y

  • Una vez que se ha sacado una variable de un objetivo, no sirve de nada tratar de sacar esa variable nuevamente: la mejor línea coincidente será cero. Vea los diagramas de dispersión para x 2 1 versus x 1 o y 1 versus x 1 , por ejemplo.x21x1y1x1

  • Los valores x 1 , x 2 , x 1 2 y x 2 1 se han tomado de y l m .x1x2x12x21ylm

  • La regresión múltiple de y contra x 1 y x 2 se puede lograr primero calculando y 1 y x 2 1 . Estos diagramas de dispersión aparecen en (fila, columna) = ( 8 , 1 ) y ( 2 , 1 ) , respectivamente. Con estos residuos en la mano, observamos su diagrama de dispersión en ( 4 , 3 ) . Estas tres variablesyx1x2y1x21(8,1)(2,1)(4,3)las regresiones hacen el truco. Como explican Mosteller y Tukey, los errores estándar de los coeficientes también se pueden obtener casi tan fácilmente de estas regresiones, pero ese no es el tema de esta pregunta, así que me detendré aquí.

Código

Estos datos fueron (reproducibles) creados Rcon una simulación. Los análisis, los controles y las parcelas también se produjeron con R. Este es el código.

#
# Simulate the data.
#
set.seed(17)
t.var <- 1:50                                    # The "times" t[i]
x <- exp(t.var %o% c(x1=-0.1, x2=0.025) )        # The two "matchers" x[1,] and x[2,]
beta <- c(5, -1)                                 # The (unknown) coefficients
sigma <- 1/2                                     # Standard deviation of the errors
error <- sigma * rnorm(length(t.var))            # Simulated errors
y <- (y.true <- as.vector(x %*% beta)) + error   # True and simulated y values
data <- data.frame(t.var, x, y, y.true)

par(col="Black", bty="o", lty=0, pch=1)
pairs(data)                                      # Get a close look at the data
#
# Take out the various matchers.
#
take.out <- function(y, x) {fit <- lm(y ~ x - 1); resid(fit)}
data <- transform(transform(data, 
  x2.1 = take.out(x2, x1),
  y.1 = take.out(y, x1),
  x1.2 = take.out(x1, x2),
  y.2 = take.out(y, x2)
), 
  y.21 = take.out(y.2, x1.2),
  y.12 = take.out(y.1, x2.1)
)
data$y.lm <- resid(lm(y ~ x - 1))               # Multiple regression for comparison
#
# Analysis.
#
# Reorder the dataframe (for presentation):
data <- data[c(1:3, 5:12, 4)]

# Confirm that the three ways to obtain the fit are the same:
pairs(subset(data, select=c(y.12, y.21, y.lm)))

# Explore what happened:
panel.lm <- function (x, y, col=par("col"), bg=NA, pch=par("pch"),
   cex=1, col.smooth="red",  ...) {
  box(col="Gray", bty="o")
  ok <- is.finite(x) & is.finite(y)
  if (any(ok))  {
    b <- coef(lm(y[ok] ~ x[ok] - 1))
    col0 <- ifelse(abs(b) < 10^-8, "Red", "Blue")
    lwd0 <- ifelse(abs(b) < 10^-8, 3, 2)
    abline(c(0, b), col=col0, lwd=lwd0)
  }
  points(x, y, pch = pch, col="Black", bg = bg, cex = cex)    
  points(matrix(c(0,0), nrow=1), col="Red", pch=1)
}
panel.hist <- function(x, ...) {
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(usr[1:2], 0, 1.5) )
  h <- hist(x, plot = FALSE)
  breaks <- h$breaks; nB <- length(breaks)
  y <- h$counts; y <- y/max(y)
  rect(breaks[-nB], 0, breaks[-1], y,  ...)
}
par(lty=1, pch=19, col="Gray")
pairs(subset(data, select=c(-t.var, -y.12, -y.21)), col="Gray", cex=0.8, 
   lower.panel=panel.lm, diag.panel=panel.hist)

# Additional interesting plots:
par(col="Black", pch=1)
#pairs(subset(data, select=c(-t.var, -x1.2, -y.2, -y.21)))
#pairs(subset(data, select=c(-t.var, -x1, -x2)))
#pairs(subset(data, select=c(x2.1, y.1, y.12)))

# Details of the variances, showing how to obtain multiple regression
# standard errors from the OLS matches.
norm <- function(x) sqrt(sum(x * x))
lapply(data, norm)
s <- summary(lm(y ~ x1 + x2 - 1, data=data))
c(s$sigma, s$coefficients["x1", "Std. Error"] * norm(data$x1.2)) # Equal
c(s$sigma, s$coefficients["x2", "Std. Error"] * norm(data$x2.1)) # Equal
c(s$sigma, norm(data$y.12) / sqrt(length(data$y.12) - 2))        # Equal
whuber
fuente
1
¿Podría lograrse la regresión múltiple de y contra x 1 y x 2 calculando primero y .1 y x 2.1 si x 1 y x 2 estuvieran correlacionadas? ¿No sería entonces hacer una gran diferencia si regresiónde secuencialmente y en x 1 y x 2.1 o en x 2 y x 1.2 ? ¿Cómo se relaciona esto con una ecuación de regresión con múltiples variables explicativas? yx1x2y.1x2.1x1x2yx1x2.1x2x1.2
miura
1
@miura, uno de los leitmotif de ese capítulo en Mosteller & Tukey es que cuando el x i está correlacionado, los parciales x i j tienen variaciones bajas; Debido a que sus variaciones aparecen en el denominador de una fórmula para la variación de la estimación de sus coeficientes, esto implica que los coeficientes correspondientes tendrán estimaciones relativamente inciertas. Eso es un hecho de los datos, dice M&T, y debes reconocerlo. No importa si comienza la regresión con x 1 o x 2 : compárelo con mi código. xixijx1y.21y.12
whuber
1
Me encontré con esto hoy, esto es lo que pienso sobre la pregunta de @miura, piense en un espacio bidimensional donde Y se proyecte como una combinación de dos vectores. y = ax1 + bx2 + res (= 0). Ahora piense en y como una combinación de 3 variables, y = ax1 + bx2 + cx3. y x3 = mx1 + nx2. así que ciertamente, el orden en el que elijas tus variables va a afectar los coeficientes. La razón de esto es: el error mínimo aquí se puede obtener mediante varias combinaciones. Sin embargo, en algunos ejemplos, el error mínimo puede obtenerse con una sola combinación y ahí es donde el orden no importará.
Gaurav Singhal
@whuber ¿Puede explicar cómo podría usarse esta ecuación para una regresión multivariada que también tiene un término constante? es decir, y = B1 * x1 + B2 * x2 + c? No me queda claro cómo se puede derivar el término constante. También entiendo en general lo que se hizo para las 2 variables, al menos suficiente para replicarlo en Excel. ¿Cómo se puede expandir a 3 variables? x1, x2, x3. Parece claro que primero deberíamos eliminar x3 de y, x1 y x2. luego elimine x2 de x1 e y. Pero no tengo claro cómo obtener el término B3.
Bastante Nerdy
He respondido algunas de mis preguntas que tengo en el comentario anterior. Para una regresión de 3 variables, tendríamos 6 pasos. Elimina x1 de x2, de x3 y de y. Luego elimina x2,1 de x3,1 y de y1. Luego elimina x3,21 de y21. Eso da como resultado 6 ecuaciones, cada una de las cuales tiene la forma variable = lamda * variable diferente + residual. Una de esas ecuaciones tiene ay como primera variable, y si sigues sustituyendo las otras variables, obtienes la ecuación que necesitas
Fairly Nerdy el