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:λλ
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+b2x2x1x1x2yyx1x1x2⋅1x2⋅1y⋅1y⋅1⋅1⋅1x1x1 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+y⋅1 and x2=λ2x1+x2⋅1.
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 escritox1x2yy⋅1x2⋅1y⋅12
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 .
y⋅1y=λ3x2⋅1+y⋅12; whence=λ1x1+y⋅1=λ1x1+λ3x2⋅1+y⋅12=λ1x1+λ3(x2−λ2x1)+y⋅12=(λ1−λ3λ2)x1+λ3x2+y⋅12.
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 yx2x1yx1⋅2y⋅2x1⋅2y⋅2y⋅21x1μ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.yx1x2y⋅lmμ3λ3y⋅12y⋅21y⋅lm
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.
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.x2⋅1x1y⋅1x1
Los valores x 1 , x 2 , x 1 ⋅ 2 y x 2 ⋅ 1 se han tomado de y ⋅ l m .x1x2x1⋅2x2⋅1y⋅lm
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 variablesyx1x2y⋅1x2⋅1(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 R
con 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