Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

6. Álgebra de matrices para la regresión

Dwaine Studios opera una cadena de estudios de retratos y quiere crecer. Ya trabaja en 21 ciudades, y sus gerentes registran dos números para cada una: la población de 16 años o menos, el grupo de niños cuyos padres compran retratos, y el ingreso disponible per cápita, cuánto dinero tienen las familias para gastar. Quieren usar estos dos números para predecir las ventas de los estudios, de modo que puedan ordenar ciudades nuevas y abrir donde el pronóstico sea más alto. La pregunta es de pronóstico, pero por debajo es de modelado: ¿cómo dependen las ventas de ambos predictores a la vez?

En el Capítulo 2 ajustaste una recta con un solo predictor resolviendo dos ecuaciones normales para el intercepto y la pendiente (2.2 Mínimos cuadrados desde los primeros principios). Eso funcionó porque solo había dos incógnitas. Dwaine tiene tres, un intercepto y dos pendientes, y un estudio realista podría tener veinte. Escribir una ecuación normal separada para cada una y resolver la maraña a mano no es algo que nadie quiera hacer dos veces. El álgebra de matrices es el mejor lenguaje: empaqueta un conjunto de datos completo en dos símbolos, las ecuaciones normales en una sola, y la solución en una fórmula que escribes en una sola línea y calculas con un solo comando.

Nada de lo que sigue requiere que hayas visto una matriz antes. Construimos cada idea a partir de su definición, la probamos en un ejemplo pequeño que podrías verificar con lápiz, y luego la ejecutamos sobre el conjunto de datos real de 21 ciudades tanto en R como en Python. Si has tomado álgebra lineal, esto se leerá como un repaso con acento estadístico; si no, de todos modos terminarás capaz de ajustar y explicar una regresión múltiple, la única álgebra de matrices que este curso te pide.

Un diagrama de dispersión de las ventas de los estudios en miles de dólares en el eje vertical contra la población objetivo menor de 16 años en miles en el eje horizontal, para 21 ciudades. Los puntos suben de abajo a la izquierda hacia arriba a la derecha. Cada punto está sombreado de azul claro a azul oscuro según su ingreso disponible, y los puntos más oscuros (de mayor ingreso) tienden a situarse más arriba para una población dada.

Figure 1:Las ventas de Dwaine Studios contra la población menor de 16 años de una ciudad, con el ingreso disponible indicado por el sombreado. Ambos predictores acompañan mayores ventas, así que un buen pronóstico necesita usarlos juntos, que es exactamente lo que nos permite hacer la maquinaria matricial de este capítulo.

La Figure 1 muestra que ambos predictores importan: las ventas suben a medida que crece la población joven, y para una población dada las ciudades de mayor ingreso (puntos más oscuros) tienden a vender más. Un modelo que usa ambos a la vez es un modelo de regresión múltiple, y todo modelo de este tipo se construye, ajusta y comprende mediante matrices. Al terminar habrás construido, para los datos reales de Dwaine, la matriz de diseño X\mathbf{X}, el producto XX\mathbf{X}'\mathbf{X}, su inversa, las estimaciones de los coeficientes, la matriz sombrero, y el error estándar de cada coeficiente, cada uno a partir de operaciones que también puedes hacer a mano en un ejemplo pequeño.

6.1 Los datos como un vector y una matriz

Intuición

Empieza por la respuesta. Dwaine tiene 21 cifras de ventas, una por ciudad. Apílalas en una sola columna y tendrás un vector (Definición 6.1), una lista ordenada de números escrita verticalmente. Llámalo Y\mathbf{Y}. Un vector es la matriz más simple: muchas filas, una columna.

Ahora los predictores. Cada ciudad lleva dos números, así que los predictores forman una tabla con 21 filas y 2 columnas, y una tabla de números con filas y columnas es una matriz (Definición 6.1). Para la regresión pegamos una columna extra de puros unos al frente: un truco de contabilidad que deja que el intercepto viaje como si fuera un coeficiente más. El resultado es la matriz de diseño X\mathbf{X} (Definición 6.2), con 21 filas y 3 columnas. La Figure 2 muestra cómo se alinea todo el modelo como arreglos apilados.

Un diagrama que muestra el modelo de regresión como cuatro cajas apiladas. Una caja alta y delgada rotulada Y, 21 por 1, es igual a una caja ancha rotulada X, 21 por 3, con su primera columna delineada y rotulada unos, multiplicada por una caja corta rotulada beta, 3 por 1, más una caja alta y delgada rotulada epsilon, 21 por 1. Una nota dice que las dimensiones internas coinciden: 21 por 3 por 3 por 1 da 21 por 1.

Figure 2:El modelo de regresión en forma matricial. La respuesta Y y los errores son 21 por 1, la matriz de diseño X es 21 por 3 con una columna inicial de unos para el intercepto, y el vector de coeficientes beta es 3 por 1. Las dimensiones internas coinciden, así que el producto está definido.

Leer a lo ancho de una fila da el registro completo de una ciudad: un 1, su población joven, su ingreso disponible, y, en Y\mathbf{Y}, sus ventas. Apilar las filas convierte 21 pequeñas ecuaciones separadas en el único enunciado Y=Xβ+ε\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}. Esa compresión es la razón para aprender matrices: los mismos tres símbolos describen un conjunto de datos con 21 filas o con 21 millones.

Fórmula

Para una regresión con nn observaciones y pp parámetros (contando el intercepto), las piezas son

Y=(Y1Y2Yn)n×1,X=(1X11X1,p11X21X2,p11Xn1Xn,p1)n×p,β=(β0β1βp1)p×1.\mathbf{Y} = \begin{pmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{pmatrix}_{n \times 1}, \qquad \mathbf{X} = \begin{pmatrix} 1 & X_{11} & \cdots & X_{1,p-1} \\ 1 & X_{21} & \cdots & X_{2,p-1} \\ \vdots & \vdots & & \vdots \\ 1 & X_{n1} & \cdots & X_{n,p-1} \end{pmatrix}_{n \times p}, \qquad \boldsymbol{\beta} = \begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_{p-1} \end{pmatrix}_{p \times 1}.

Para Dwaine, n=21n = 21 y p=3p = 3: una columna de unos, una columna de poblaciones menores de 16 años, una columna de ingresos disponibles. Todo el modelo del Capítulo 2 se generaliza a Y=Xβ+ε\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, que desarrollamos en 7.1 El modelo y los mínimos cuadrados en forma matricial. En palabras: cada respuesta observada es igual a una suma ponderada de los predictores de esa fila, usando los mismos pesos β\boldsymbol{\beta} para cada fila, más un error aleatorio.

R y Python

6.2 Transpuesta y multiplicación de matrices

Intuición

Tenemos los datos en matrices; ahora necesitamos combinarlos. Dos operaciones hacen casi todo el trabajo. La transpuesta (Definición 6.3) voltea una matriz sobre su diagonal, de modo que las filas se vuelven columnas. La multiplicación de matrices (Definición 6.4) es el motor que convierte la matriz de diseño en las sumas de cuadrados y productos cruzados sobre los que corre una regresión.

La multiplicación de matrices no es lo que un principiante espera. Una entrada del producto se construye a partir de toda una fila de la matriz izquierda y toda una columna de la derecha: alinéalas, multiplica término a término, y suma. Aplicada a XX\mathbf{X}'\mathbf{X}, esa regla produce exactamente las sumas XikXij\sum X_{ik} X_{ij} que de otra forma calcularías una penosa suma a la vez. La Figure 3 lo muestra en un ejemplo pequeño.

Un diagrama de multiplicación de matrices. Una matriz A de 2 por 3 con su primera fila sombreada de azul se multiplica por una matriz B de 3 por 2 con su segunda columna sombreada de verde, dando un producto AB de 2 por 2 con la entrada superior derecha resaltada en amarillo. Debajo, la aritmética dice uno por cero más dos por uno más tres por uno igual a cinco, rotulada como fila uno de A punto columna dos de B.

Figure 3:Multiplicación de matrices, entrada por entrada. La entrada resaltada del producto en la fila 1, columna 2 proviene de la fila 1 de A y la columna 2 de B, multiplicadas término a término y sumadas. Cada entrada de un producto es uno de esos productos punto de fila por columna.

Dos productos, y solo dos, importan para el ajuste: XX\mathbf{X}'\mathbf{X} resume los predictores por sí mismos, y XY\mathbf{X}'\mathbf{Y} resume cómo se mueve cada predictor con la respuesta. Entre ambos guardan todo el resumen que los mínimos cuadrados necesitan, razón por la cual un conjunto de datos completo puede reducirse a un puñado de números: el ajuste no se interesa por las filas individuales una vez que esas sumas se conocen.

Fórmula

Imagínala como volcar una matriz sobre su esquina superior izquierda: cada fila se pone de pie para volverse columna, así que una matriz ancha se vuelca en una alta y de regreso. Un vector columna, volcado, se vuelve una sola fila, razón por la cual uu\mathbf{u}'\mathbf{u} multiplica una copia acostada de un vector por una copia parada y colapsa a un solo número.

Dos productos cargan toda la faena en la regresión. Con X\mathbf{X} de tamaño n×pn \times p, la transpuesta X\mathbf{X}' es p×np \times n, así que

XX es p×p,XY es p×1.\mathbf{X}'\mathbf{X} \ \text{es}\ p \times p, \qquad \mathbf{X}'\mathbf{Y}\ \text{es}\ p \times 1.

En palabras: XX\mathbf{X}'\mathbf{X} reúne toda suma de cuadrados y producto cruzado de las columnas de predictores en una tabla cuadrada pequeña, y XY\mathbf{X}'\mathbf{Y} reúne toda suma de predictor por respuesta en una columna corta, la materia prima de las ecuaciones normales. Una regla que usaremos constantemente es que transponer un producto invierte el orden de sus factores.

Demostración. Mostramos (AB)=BA(\mathbf{A}\mathbf{B})' = \mathbf{B}'\mathbf{A}' comparando entradas. La entrada (i,j)(i,j) de (AB)(\mathbf{A}\mathbf{B})' es, por la definición de transpuesta, la entrada (j,i)(j,i) de AB\mathbf{A}\mathbf{B}, que es AjBi\sum_{\ell} A_{j\ell} B_{\ell i}. La entrada (i,j)(i,j) de BA\mathbf{B}'\mathbf{A}' es la fila ii de B\mathbf{B}' punto la columna jj de A\mathbf{A}', es decir (B)i(A)j=BiAj\sum_{\ell} (\mathbf{B}')_{i\ell} (\mathbf{A}')_{\ell j} = \sum_{\ell} B_{\ell i} A_{j \ell}. Las dos sumas tienen los mismos términos, así que las matrices son iguales. \blacksquare

R y Python

Primero el ejemplo pequeño de la Figure 3, para que la mecánica sea concreta antes de soltar el motor sobre los datos reales. En R, %*% es la multiplicación de matrices (un * simple multiplica entrada por entrada); en Python el operador es @.

A <- matrix(c(1, 2, 3,
              4, 5, 6), nrow = 2, byrow = TRUE)
B <- matrix(c(1, 0,
              0, 1,
              1, 1), nrow = 3, byrow = TRUE)
A %*% B
     [,1] [,2]
[1,]    4    5
[2,]   10   11
A = np.array([[1, 2, 3],
              [4, 5, 6]])
B = np.array([[1, 0],
              [0, 1],
              [1, 1]])
print(A @ B)
[[ 4  5]
 [10 11]]

La regla fila por columna se vuelve creíble cuando la ves ocurrir sobre el único producto que una regresión realmente necesita, así que construye XX\mathbf{X}'\mathbf{X} tú mismo antes de seguir.

Toca o desliza el dedo sobre cualquier entrada del producto y se resaltarán la fila y la columna que la generaron, con la aritmética escrita debajo.

6.3 Identidad, simetría, independencia y rango

Intuición

Antes de invertir nada, necesitamos vocabulario para las formas de las matrices que aparecen en la regresión, y una idea que decide si el ajuste es siquiera posible. La matriz identidad I\mathbf{I} (Definición 6.6) es la versión matricial del número 1: multiplicar por ella no cambia nada. Una matriz simétrica (Definición 6.7) es igual a su propia transpuesta, y XX\mathbf{X}'\mathbf{X} siempre es simétrica, razón por la cual su tabla se ve como un espejo a través de la diagonal.

La idea que decide la factibilidad es la independencia lineal (Definición 6.8) de las columnas de predictores. Si una columna de predictor es una combinación lineal exacta de las otras, digamos que dispoinc fuera exactamente el doble de targtpop más una constante, entonces las columnas cargan información redundante, la matriz X\mathbf{X} tiene rango deficiente, y XX\mathbf{X}'\mathbf{X} no se puede invertir. No hay entonces un único mejor ajuste, porque los datos no pueden distinguir los coeficientes redundantes. Esta es la cara matricial de un problema que volverás a encontrar como multicolinealidad en 12.1 La multicolinealidad y el factor de inflación de la varianza.

Una imagen vuelve concreta la independencia. Piensa en dos columnas como flechas dibujadas desde el origen. Si apuntan en direcciones genuinamente distintas, abren un área entre ellas, y la matriz tiene rango completo. Si una es solo una copia estirada de la otra, ambas flechas quedan sobre una sola recta, el área entre ellas es cero, y la matriz tiene rango deficiente. La Figure 5 muestra ambos casos lado a lado.

Dos paneles lado a lado, cada uno mostrando dos flechas dibujadas desde el origen. En el panel izquierdo, rotulado columnas independientes encierran un área, una flecha azul y una flecha verde apuntan en direcciones distintas y el paralelogramo entre ellas está sombreado, marcado área mayor que cero, rango completo, determinante distinto de cero, ajuste único. En el panel derecho, rotulado columnas dependientes colapsan a una recta, la flecha verde es una copia estirada de la flecha azul de modo que ambas quedan sobre una recta punteada, marcado área igual a cero, rango deficiente, determinante cero, sin ajuste único.

Figure 5:El rango visto como geometría. Las columnas independientes se abren y encierran un área, así que el ajuste es único; las columnas dependientes caen sobre una recta y no encierran nada, así que el ajuste no lo es. El área encerrada es exactamente el determinante de la próxima sección, y su colapso a cero es lo que vuelve singular a una matriz.

Estos nombres se ganan su lugar: una propiedad con nombre es un hecho que puedes citar en vez de recalcular. Mostrar que la matriz sombrero es una proyección se vuelve un argumento de una línea, “es simétrica e idempotente”, en lugar de páginas de comprobación entrada por entrada.

Fórmula

El producto XX\mathbf{X}'\mathbf{X} siempre es simétrico, porque (XX)=X(X)=XX(\mathbf{X}'\mathbf{X})' = \mathbf{X}'(\mathbf{X}')' = \mathbf{X}'\mathbf{X} por la regla de inversión del orden (Teorema 6.5) de 6.2 Transpuesta y multiplicación de matrices.

El hecho central de esta sección conecta el rango con la invertibilidad.

Un ejemplo diminuto vuelve concreto el rango: (1,0)(1, 0)' y (0,1)(0, 1)' son independientes, pero (1,2)(1, 2)' y (2,4)(2, 4)' son dependientes porque el segundo es exactamente el doble del primero, así que juntos abarcan solo una recta y tienen rango 1, no 2. En una matriz de diseño, una columna dependiente así es un predictor que repite información ya presente.

R y Python

El software reporta la simetría, el rango y el determinante (el único número, cubierto en 6.4 La inversa y las ecuaciones normales, cuya anulación señala el rango deficiente) directamente.

isSymmetric(XtX)
qr(X)$rank
round(det(XtX), 2)
[1] TRUE
[1] 3
[1] 1068302
print(np.allclose(XtX, XtX.T))
print(np.linalg.matrix_rank(X))
print(round(np.linalg.det(XtX), 2))
True
3
1068302.4

La matriz de diseño tiene rango 3, su cuenta completa de columnas, así que los dos predictores más el intercepto cargan tres piezas de información genuinamente distintas, y el determinante no nulo confirma que XX\mathbf{X}'\mathbf{X} es invertible y que el ajuste de Dwaine está bien planteado.

El hábito por construir: antes de confiar en cualquier regresión múltiple, pregúntate si los predictores son genuinamente distintos. El software con gusto invertirá una matriz casi singular y devolverá coeficientes con errores estándar enormes, la advertencia temprana de que dos predictores cargan casi la misma información. El rango es la versión de sí o no de esa pregunta; el Capítulo 12 la afina en “¿qué tan cerca de dependientes están?”.

6.4 La inversa y las ecuaciones normales

Intuición

Aquí es donde la maquinaria rinde frutos. En el álgebra ordinaria, para resolver ax=cax = c divides entre aa, lo cual es lo mismo que multiplicar por a1a^{-1}. Las matrices no tienen división, pero tienen lo mejor que le sigue: para una matriz cuadrada A\mathbf{A} de rango completo, existe una inversa A1\mathbf{A}^{-1} (Definición 6.10) que la deshace, es decir, A1A=I\mathbf{A}^{-1}\mathbf{A} = \mathbf{I}. Para resolver una ecuación matricial Ax=c\mathbf{A}\mathbf{x} = \mathbf{c}, multiplica ambos lados por la izquierda por A1\mathbf{A}^{-1} y obtienes x=A1c\mathbf{x} = \mathbf{A}^{-1}\mathbf{c}.

Las ecuaciones normales de los mínimos cuadrados, que en el Capítulo 2 eran dos ecuaciones escalares, colapsan en forma matricial a la única ecuación XXb=XY\mathbf{X}'\mathbf{X}\,\mathbf{b} = \mathbf{X}'\mathbf{Y}. El Capítulo 7 la deriva minimizando el error al cuadrado (7.1 El modelo y los mínimos cuadrados en forma matricial); por ahora tómala como la gemela matricial de las ecuaciones normales del Capítulo 2 (2.2 Mínimos cuadrados desde los primeros principios). Resolverla es ahora un solo paso: multiplica por (XX)1(\mathbf{X}'\mathbf{X})^{-1}.

Con números, a1a^{-1} existe para todo aa excepto el cero. Con matrices, A1\mathbf{A}^{-1} existe para toda matriz cuadrada excepto las de rango deficiente, así que “¿puedo resolver esto de manera única?”, “¿el determinante es distinto de cero?” y “¿son independientes las columnas?” son tres maneras de hacer una sola pregunta. Para Dwaine, las tres dicen que sí.

Fórmula

Esto conecta de vuelta con la imagen del rango en Figure 5: las dos columnas de una matriz dos por dos enmarcan un paralelogramo, y el determinante es su área. Cuando las columnas apuntan a lo largo de la misma recta el paralelogramo queda aplastado, su área es cero, y la matriz es singular, así que “determinante cero” y “las columnas colapsan sobre una recta” son el mismo suceso.

Aplicar la inversa a las ecuaciones normales da el estimador de mínimos cuadrados en una sola línea.

En palabras: multiplica los productos cruzados almacenados XY\mathbf{X}'\mathbf{Y} por la inversa de la matriz de productos cruzados XX\mathbf{X}'\mathbf{X}, y salen las pp estimaciones de coeficientes de una vez. Esta única fórmula es toda la estimación por mínimos cuadrados, para cualquier número de predictores.

R y Python

Primero la fórmula de la inversa 2×22 \times 2, comprobada en una matriz simétrica pequeña, para que puedas ver ocurrir A1A=I\mathbf{A}^{-1}\mathbf{A} = \mathbf{I}. Ambos lenguajes invierten con una sola llamada: solve en R, np.linalg.inv en Python.

M <- matrix(c(2, 1,
              1, 2), nrow = 2, byrow = TRUE)
Minv <- solve(M)
Minv
round(M %*% Minv, 6)
           [,1]       [,2]
[1,]  0.6666667 -0.3333333
[2,] -0.3333333  0.6666667
     [,1] [,2]
[1,]    1    0
[2,]    0    1
M = np.array([[2.0, 1.0],
              [1.0, 2.0]])
Minv = np.linalg.inv(M)
print(Minv)
print(np.round(M @ Minv, 6))
[[ 0.66666667 -0.33333333]
 [-0.33333333  0.66666667]]
[[1. 0.]
 [0. 1.]]

El determinante es 2211=32\cdot 2 - 1 \cdot 1 = 3, así que la inversa es 13(2112)\tfrac{1}{3}\left(\begin{smallmatrix} 2 & -1 \\ -1 & 2 \end{smallmatrix}\right), que concuerda con la impresión, y M1M\mathbf{M}^{-1}\mathbf{M} devuelve la identidad.

Casi nunca invertirás a mano una matriz más grande que esta; trabajar el caso dos por dos una vez basta para ver de dónde viene la respuesta y observar aparecer la identidad, de modo que una inversa por software nunca es magia. De aquí en adelante dejamos que solve y np.linalg.inv hagan la aritmética, y el próximo ejemplo suelta la inversa sobre el ajuste completo de Dwaine.

Un determinante igual a cero se siente mejor de lo que se define, así que junta tú mismo las dos columnas y observa cómo la inversa se descompone mucho antes de que lleguen a tocarse.

Arrastra la punta de cualquiera de las dos flechas. La caja sombreada tiene área igual al tamaño del determinante, y las entradas de la inversa crecen sin límite conforme esa caja se aplana.

6.5 Matrices idempotentes y de proyección

Intuición

Los coeficientes están listos, así que el modelo ya puede hacer sus propias predicciones. La pregunta de esta sección es de dónde vienen esas predicciones y cómo lucen como imagen. La respuesta es una sola tabla de números que convierte las ventas observadas en las ventas ajustadas del modelo en un solo paso, y ese paso es una sombra: aplana los datos sobre la superficie que los predictores pueden alcanzar.

Con b\mathbf{b} en mano, los valores ajustados son Y^=Xb\widehat{\mathbf{Y}} = \mathbf{X}\mathbf{b}. Sustituye el estimador y aparece algo notable:

Y^=Xb=X(XX)1XY=HY,H=X(XX)1X.\widehat{\mathbf{Y}} = \mathbf{X}\mathbf{b} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} = \mathbf{H}\mathbf{Y}, \qquad \mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'.

Geométricamente la matriz sombrero es una proyección (Definición 6.14). Imagina Y\mathbf{Y} como una flecha en un espacio de nn dimensiones; los valores ajustados que una regresión puede producir quedan todos en un subespacio plano, el espacio generado por las columnas de X\mathbf{X}. La matriz sombrero deja caer Y\mathbf{Y} recto hacia abajo sobre ese subespacio, aterrizando en el punto más cercano, y el residuo es lo que sobra en perpendicular. La Figure 7 muestra esta imagen, el tema de 7.2 La geometría de los mínimos cuadrados.

Un boceto tridimensional. Un plano sombreado rotulado espacio columna de X se sitúa cerca del piso. Una flecha azul rotulada Y apunta hacia arriba desde el origen por encima del plano. Una flecha naranja rotulada Y-sombrero igual a H Y queda en el plano, justo debajo de la punta de Y. Una flecha roja rotulada e igual a I menos H por Y conecta la punta de Y-sombrero hacia arriba con la punta de Y, encontrando el plano en ángulo recto marcado con un pequeño cuadrado.

Figure 7:Los mínimos cuadrados como proyección. El vector ajustado Y-sombrero es la sombra de la respuesta Y sobre el espacio columna de X, y el residuo e los une en ángulo recto. La matriz sombrero H realiza la proyección sobre el plano; I menos H produce el residuo perpendicular.

Dos propiedades algebraicas hacen de H\mathbf{H} una proyección, y son las bestias de carga de los diagnósticos del Capítulo 9. Primero, H\mathbf{H} es simétrica. Segundo, H\mathbf{H} es idempotente: aplicarla dos veces es lo mismo que aplicarla una vez, HH=H\mathbf{H}\mathbf{H} = \mathbf{H}. Eso tiene sentido para una proyección, pues una vez que un vector queda aplanado sobre el plano, aplanarlo de nuevo no hace nada.

La imagen de la sombra vale la pena retenerla. Tu sombra sobre suelo plano conserva tu posición izquierda-derecha y adelante-atrás pero aplana tu altura a cero; la matriz sombrero le hace lo mismo a Y\mathbf{Y}, aplanando la parte de la respuesta que ninguna combinación de los predictores podría reproducir, que es el residuo.

Estas propiedades no son adorno: el Capítulo 9 lee la diagonal de H\mathbf{H} para encontrar qué ciudades jalan más fuerte sobre la superficie ajustada, el Capítulo 7 usa su traza para contar los grados de libertad, y la imagen perpendicular es lo que hace de los mínimos cuadrados el ajuste más cercano, sin ningún punto en el plano más próximo a Y\mathbf{Y} que su propia sombra.

Fórmula

Las dos proyecciones de la regresión son

H=X(XX)1X,IH,\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}', \qquad \mathbf{I} - \mathbf{H},

con Y^=HY\widehat{\mathbf{Y}} = \mathbf{H}\mathbf{Y} los valores ajustados y e=YY^=(IH)Y\mathbf{e} = \mathbf{Y} - \widehat{\mathbf{Y}} = (\mathbf{I} - \mathbf{H})\mathbf{Y} los residuos. En palabras: H\mathbf{H} proyecta sobre el espacio de valores ajustables, y IH\mathbf{I} - \mathbf{H} proyecta sobre el espacio sobrante de los residuos.

Las dos propiedades que definen a H\mathbf{H} son las que la vuelven una proyección.

Demostración. Escribe G=(XX)1\mathbf{G} = (\mathbf{X}'\mathbf{X})^{-1}, que es simétrica porque XX\mathbf{X}'\mathbf{X} lo es (su inversa hereda la simetría: G=((XX)1)=((XX))1=(XX)1=G\mathbf{G}' = ((\mathbf{X}'\mathbf{X})^{-1})' = ((\mathbf{X}'\mathbf{X})')^{-1} = (\mathbf{X}'\mathbf{X})^{-1} = \mathbf{G}). Para la simetría de H\mathbf{H}, aplica la regla de la transpuesta con inversión del orden de 6.2 Transpuesta y multiplicación de matrices dos veces:

H=(XGX)=(X)GX=XGX=H.\mathbf{H}' = (\mathbf{X}\mathbf{G}\mathbf{X}')' = (\mathbf{X}')'\mathbf{G}'\mathbf{X}' = \mathbf{X}\mathbf{G}\mathbf{X}' = \mathbf{H}.

Para la idempotencia, multiplica H\mathbf{H} por sí misma y cancela la XX\mathbf{X}'\mathbf{X} interna contra su inversa:

HH=XG(XX)GX=XGX=H,\mathbf{H}\mathbf{H} = \mathbf{X}\mathbf{G}(\mathbf{X}'\mathbf{X})\mathbf{G}\mathbf{X}' = \mathbf{X}\mathbf{G}\mathbf{X}' = \mathbf{H},

usando (XX)G=(XX)(XX)1=I(\mathbf{X}'\mathbf{X})\mathbf{G} = (\mathbf{X}'\mathbf{X})(\mathbf{X}'\mathbf{X})^{-1} = \mathbf{I}. Los mismos dos pasos muestran que IH\mathbf{I} - \mathbf{H} es simétrica e idempotente: (IH)(IH)=I2H+HH=I2H+H=IH(\mathbf{I} - \mathbf{H})(\mathbf{I} - \mathbf{H}) = \mathbf{I} - 2\mathbf{H} + \mathbf{H}\mathbf{H} = \mathbf{I} - 2\mathbf{H} + \mathbf{H} = \mathbf{I} - \mathbf{H}. \blacksquare

R y Python

La proyección es la única idea de este capítulo que una página plana no puede mostrar de verdad, así que gira la figura y mueve Y\mathbf{Y} con tu propio dedo.

Arrastra la punta de Y a cualquier lugar del espacio. Yhat permanece sobre el espacio columna de X y el residuo e permanece perpendicular a él, que es justo lo que hace del ajuste el más cercano posible.

6.6 Formas cuadráticas y sumas de cuadrados

Intuición

Toda “suma de cuadrados” en la regresión es en secreto una expresión matricial llamada forma cuadrática (Definición 6.17). La suma de cuadrados del error es SSE=ei2\mathrm{SSE} = \sum e_i^2, y una suma de las entradas al cuadrado de un vector es exactamente ese vector punto consigo mismo: SSE=ee\mathrm{SSE} = \mathbf{e}'\mathbf{e}. Como e=(IH)Y\mathbf{e} = (\mathbf{I} - \mathbf{H})\mathbf{Y}, un poco de álgebra reescribe SSE usando solo Y\mathbf{Y} y una matriz de proyección en el medio. Ese patrón de matriz en el medio, YAY\mathbf{Y}'\mathbf{A}\mathbf{Y}, es una forma cuadrática, y SSTO, SSR y SSE tienen todos esta forma.

¿Por qué importa? Por dos razones. Primero, una forma cuadrática hace que los grados de libertad y el valor esperado de cada suma de cuadrados salgan de la matriz del medio, que es como el Capítulo 7 explica la tabla ANOVA. Segundo, las sumas de cuadrados nunca pueden ser negativas, y eso lo garantiza una propiedad de la matriz del medio llamada semidefinición positiva. La Figure 9 muestra por qué una forma definida positiva tiene la forma de un tazón que nunca baja de cero.

Un gráfico de superficie tridimensional de la forma cuadrática u-prima M u para una matriz M dos por dos definida positiva. La superficie es un tazón suave hacia arriba que toca el cero solo en el origen, marcado con un punto rojo rotulado mínimo cero en u igual a cero, y que se eleva en toda dirección alejándose de él.

Figure 9:Una forma cuadrática definida positiva es un tazón. Su valor es cero solo en el origen y estrictamente positivo en toda otra dirección, que es exactamente por qué una suma de cuadrados escrita como tal forma nunca puede ser negativa.

La recompensa es que esta vista sobrevive incluso cuando la suma ya no parece una suma de cuadrados. Escrita como Y(IH)Y\mathbf{Y}'(\mathbf{I} - \mathbf{H})\mathbf{Y}, SSE no eleva visiblemente nada al cuadrado, y sin embargo la matriz del medio todavía garantiza que no puede volverse negativa. El mismo razonamiento se aplica a una varianza, una suma de cuadrados disfrazada, así que la matriz de covarianzas de la próxima sección nunca puede contener una varianza negativa.

Fórmula

Las tres sumas de cuadrados de la regresión son todas formas cuadráticas en Y\mathbf{Y}, y sus matrices del medio cargan la descomposición ANOVA.

Demostración (no negatividad). Como IH\mathbf{I} - \mathbf{H} es simétrica e idempotente, SSE=Y(IH)Y=Y(IH)(IH)Y=ee0\mathrm{SSE} = \mathbf{Y}'(\mathbf{I} - \mathbf{H})\mathbf{Y} = \mathbf{Y}'(\mathbf{I} - \mathbf{H})'(\mathbf{I} - \mathbf{H})\mathbf{Y} = \mathbf{e}'\mathbf{e} \ge 0, así que SSE es una suma de cuadrados genuina y nunca puede ser negativa; lo mismo vale para SSR y SSTO. La descomposición aditiva de las matrices del medio es el enunciado matricial de la identidad ANOVA SSTO=SSR+SSE\mathrm{SSTO} = \mathrm{SSR} + \mathrm{SSE} (3.6 El enfoque del análisis de varianza). \blacksquare

En palabras: las sumas de cuadrados son formas cuadráticas, y las matrices del medio idempotentes garantizan la no negatividad y, en el Capítulo 7, nos entregan los grados de libertad a través de sus trazas.

R y Python

6.7 Vectores aleatorios, esperanza y matrices de covarianzas

Intuición

Hasta ahora las matrices contenían números fijos. Pero Y\mathbf{Y} es aleatorio: vuelve a correr las 21 ciudades bajo las mismas condiciones y las ventas saldrían un poco distintas, por los errores ε\boldsymbol{\varepsilon}. Para describir un vector de variables aleatorias necesitamos dos cosas: un vector de medias y una tabla de varianzas y covarianzas.

El vector de medias es simplemente la esperanza aplicada entrada por entrada. La tabla es la matriz de covarianzas (Definición 6.19): su diagonal contiene la varianza de cada entrada, y sus fuera de diagonal contienen la covarianza entre pares de entradas. Para los errores de la regresión, esta tabla es simple: varianza constante σ2\sigma^2 por la diagonal (todo error tiene la misma dispersión) y ceros fuera de ella (errores distintos están no correlacionados), así que Cov{ε}=σ2I\operatorname{Cov}\{\boldsymbol{\varepsilon}\} = \sigma^2\mathbf{I}. Una regla de dos líneas para cómo viajan las medias y las covarianzas a través de un mapa lineal entrega entonces la matriz de covarianzas de b\mathbf{b}, la fuente de todo error estándar.

Fórmula

Las reglas de transformación de cómo viajan estas a través de un mapa lineal son el corazón de la sección.

En palabras: la esperanza pasa directo a través de un mapa lineal, y una matriz de covarianzas queda emparedada entre A\mathbf{A} y su transpuesta. Aplica esto al modelo de regresión, donde E{Y}=XβE\{\mathbf{Y}\} = \mathbf{X}\boldsymbol{\beta} y Cov{Y}=σ2I\operatorname{Cov}\{\mathbf{Y}\} = \sigma^2\mathbf{I}, y la media y la covarianza de b\mathbf{b} se siguen.

Demostración. El estimador es un mapa lineal de Y\mathbf{Y}: con A=(XX)1X\mathbf{A} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}', tenemos b=AY\mathbf{b} = \mathbf{A}\mathbf{Y}. Para la media, usa E{Y}=XβE\{\mathbf{Y}\} = \mathbf{X}\boldsymbol{\beta}:

E{b}=AE{Y}=(XX)1XXβ=β,E\{\mathbf{b}\} = \mathbf{A}\,E\{\mathbf{Y}\} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{X}\boldsymbol{\beta} = \boldsymbol{\beta},

así que b\mathbf{b} es insesgado para β\boldsymbol{\beta}. Para la covarianza, usa Cov{Y}=σ2I\operatorname{Cov}\{\mathbf{Y}\} = \sigma^2\mathbf{I} y la regla del emparedado:

Cov{b}=A(σ2I)A=σ2(XX)1XX(XX)1=σ2(XX)1,\operatorname{Cov}\{\mathbf{b}\} = \mathbf{A}\,(\sigma^2\mathbf{I})\,\mathbf{A}' = \sigma^2 (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\,\mathbf{X}(\mathbf{X}'\mathbf{X})^{-1} = \sigma^2 (\mathbf{X}'\mathbf{X})^{-1},

donde la XX\mathbf{X}'\mathbf{X} del medio cancela una inversa. Así que Cov{b}=σ2(XX)1\operatorname{Cov}\{\mathbf{b}\} = \sigma^2 (\mathbf{X}'\mathbf{X})^{-1}: la misma inversa que usamos para calcular b\mathbf{b} también da, una vez escalada por σ2\sigma^2, la varianza de cada coeficiente y la covarianza de cada par. \blacksquare

Reemplazar el desconocido σ2\sigma^2 por su estimación MSE da la matriz de covarianzas estimada s2{b}=MSE(XX)1s^2\{\mathbf{b}\} = \mathrm{MSE}\,(\mathbf{X}'\mathbf{X})^{-1}, cuyas raíces cuadradas de la diagonal son los errores estándar s{bk}s\{b_k\} que el software imprime.

R y Python

6.8 La normal multivariante, en breve

Intuición

El vector de medias y la matriz de covarianzas describen el centro y la dispersión de un vector aleatorio, pero no su forma completa. Para la inferencia añadimos un supuesto, el mismo que convirtió las estimaciones del Capítulo 2 en pruebas tt: los errores son normales. Apilados en un vector, los errores normales con varianza constante y sin correlación siguen una distribución normal multivariante (Definición 6.22), la generalización a varias variables de la campana. Sus contornos son elipses cuya inclinación y estiramiento se leen directamente en la matriz de covarianzas, como en Figure 10.

Una dispersión de unos mil doscientos puntos que forman una nube elíptica inclinada centrada en el origen, con contornos de densidad elípticos rojos concéntricos dibujados encima. La nube se estira a lo largo de la diagonal de cuarenta y cinco grados porque las dos coordenadas tienen una covarianza positiva de 0.8.

Figure 10:Una distribución normal bivariante. Las dos coordenadas tienen covarianza 0.8, así que la nube y sus contornos elípticos se inclinan a lo largo de la diagonal. La forma de la elipse es exactamente la matriz de covarianzas, razón por la cual la distribución muestral del vector de coeficientes b se describe por su matriz de covarianzas.

Por qué importa esto: bajo errores normales la respuesta es normal multivariante, y como b\mathbf{b} es un mapa lineal de Y\mathbf{Y}, también lo es b\mathbf{b}. Ese hecho, bN(β,σ2(XX)1)\mathbf{b} \sim N(\boldsymbol{\beta}, \sigma^2(\mathbf{X}'\mathbf{X})^{-1}), es el fundamento de todo intervalo de confianza, prueba tt y prueba FF que vienen.

Lo que la distribución completa añade es cómo se adelgaza la probabilidad a medida que te alejas del centro: la misma caída de campana que conoces de una variable, medida a lo largo de los ejes inclinados de la elipse de covarianza. Eso es lo que nos permite calcular la probabilidad de que un coeficiente caiga dentro de una distancia declarada de la verdad, exactamente lo que reporta un intervalo de confianza en el próximo capítulo.

Una advertencia mantiene esto honesto. La normalidad multivariante de b\mathbf{b} es una consecuencia de suponer errores normales, no un hecho que los datos te entregan gratis. Si los errores son muy poco normales y la muestra es pequeña, esa ley es solo aproximada, una razón por la que existen los métodos de permutación y bootstrap del Capítulo 5 (5.4 El bootstrap para la regresión). Con una muestra grande, un efecto de promediado jala a b\mathbf{b} hacia la normalidad aun cuando los errores no lo sean.

Fórmula

Aplicar esa propiedad a la regresión bajo el modelo de errores normales da la ley muestral que impulsa toda inferencia posterior.

La respuesta está centrada en la superficie de regresión Xβ\mathbf{X}\boldsymbol{\beta} con coordenadas independientes y de igual varianza, y el estimador b\mathbf{b} está centrado en la verdad β\boldsymbol{\beta} (insesgado) con la matriz de covarianzas que derivamos.

En palabras: los errores normales vuelven normales tanto a los datos como a las estimaciones, así que cada coeficiente está distribuido normalmente con una varianza que podemos leer en (XX)1(\mathbf{X}'\mathbf{X})^{-1}, y eso es lo que hace posible la inferencia exacta.

R y Python

Podemos demostrar la idea de recuperación de la covarianza por simulación: extrae muchos vectores con una covarianza objetivo y confirma que la covarianza muestral concuerda. Partiendo de normales estándar independientes Z\mathbf{Z}, la transformación V=ZL\mathbf{V} = \mathbf{Z}\mathbf{L}', donde L\mathbf{L} es una raíz cuadrada matricial del objetivo Σ\boldsymbol{\Sigma} (el factor de Cholesky), produce vectores con covarianza Σ\boldsymbol{\Sigma}, exactamente la regla del emparedado en acción.

set.seed(4210)
mu <- c(0, 0)
Sigma <- matrix(c(1, 0.8,
                  0.8, 1), nrow = 2)
L <- chol(Sigma)
Z <- matrix(rnorm(2 * 5000), ncol = 2)
V <- Z %*% L
round(cov(V), 3)
      [,1]  [,2]
[1,] 0.967 0.760
[2,] 0.760 0.955
rng = np.random.default_rng(4210)
Sigma = np.array([[1.0, 0.8],
                  [0.8, 1.0]])
L = np.linalg.cholesky(Sigma)
Z = rng.standard_normal((5000, 2))
V = Z @ L.T
print(np.round(np.cov(V, rowvar=False), 3))
[[1.017 0.822]
 [0.822 1.026]]

La covarianza muestral de los 5000 vectores simulados sale cerca del objetivo (10.80.81)\left(\begin{smallmatrix} 1 & 0.8 \\ 0.8 & 1 \end{smallmatrix}\right) en ambos lenguajes, difiriendo solo por el ruido de muestreo.

El factor de Cholesky puede seguir siendo una caja negra por ahora; el punto es que una covarianza se puede plantar a propósito, pasando ruido no correlacionado por una matriz fija y dejando que la regla del emparedado haga el resto. La covarianza de b\mathbf{b} es la misma historia: ruido de error σ2I\sigma^2\mathbf{I} pasado por la matriz fija (XX)1X(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}', así que la simulación y la regresión son dos usos de un mismo mecanismo.

6.9 Resumen del capítulo

Ahora puedes hablar el lenguaje matricial en el que está escrito el resto del libro: distribuye un conjunto de datos como un vector respuesta Y\mathbf{Y} y una matriz de diseño X\mathbf{X}, construye los productos XX\mathbf{X}'\mathbf{X} y XY\mathbf{X}'\mathbf{Y} sobre los que corre cada ajuste, di cuándo una matriz es invertible, resuelve las ecuaciones normales para b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}, construye la matriz sombrero y prueba que es una proyección, expresa las sumas de cuadrados como formas cuadráticas, y halla la media y la covarianza de un vector aleatorio. Para los datos reales de Dwaine, todo esto se calculó tanto en R como en numpy: b=(68.86, 1.4546, 9.3655)\mathbf{b} = (-68.86,\ 1.4546,\ 9.3655)', SSE=2180.9\mathrm{SSE} = 2180.9 sobre 18 grados de libertad, MSE=121.2\mathrm{MSE} = 121.2, y errores estándar (60.0, 0.212, 4.06)(60.0,\ 0.212,\ 4.06). De estas herramientas salieron los dos hechos que impulsan toda la regresión múltiple: b\mathbf{b} es insesgado, y su covarianza es σ2(XX)1\sigma^2(\mathbf{X}'\mathbf{X})^{-1}.

Cada pieza encaja en un solo flujo, dibujado en Figure 11: a partir de los datos formas dos resúmenes, inviertes uno de ellos, y todo lo demás, los coeficientes, la matriz sombrero, los residuos y los errores estándar, sale en un orden fijo. Si recuerdas la forma de ese flujo, puedes reconstruir cualquier fórmula individual en él.

Un diagrama de flujo con siete cajas redondeadas conectadas por flechas naranjas. Arriba, una caja dice datos X y Y, sección 6.1. Alimenta dos cajas: X-transpuesta-X y X-transpuesta-Y, los productos cruzados, sección 6.2, y la inversa de X-transpuesta-X, sección 6.4. Ambas alimentan una caja central, b igual a la inversa de X-transpuesta-X por X-transpuesta-Y, los coeficientes, sección 6.4. La caja de coeficientes y la caja de la inversa alimentan luego tres cajas inferiores: la matriz sombrero H con valores ajustados y residuos, sección 6.5; SSE y MSE, sección 6.6; y la matriz de covarianzas de b con errores estándar, sección 6.7. Una leyenda dice: un flujo fijo, forma dos resúmenes, invierte uno, lee todo lo demás.

Figure 11:El capítulo como un solo flujo. Cada cantidad de un ajuste de regresión múltiple, los coeficientes, los valores ajustados, los residuos, la varianza del error y los errores estándar, proviene de los mismos dos resúmenes de productos cruzados y una sola inversa, calculada en un orden fijo.

Resultados clave de un vistazo.

ResultadoEnunciado o fórmulaVálido cuando
Transpuesta de un producto (Teorema 6.5)(AB)=BA(\mathbf{A}\mathbf{B})' = \mathbf{B}'\mathbf{A}'cualesquiera A,B\mathbf{A}, \mathbf{B} conformables
Criterio de invertibilidad (Teorema 6.9)XX\mathbf{X}'\mathbf{X} invertible X\Leftrightarrow \mathbf{X} tiene rango columna completoXX\mathbf{X}'\mathbf{X} cuadrada
Solución de mínimos cuadrados (Teorema 6.12)b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}X\mathbf{X} de rango columna completo
La matriz sombrero es una proyección (Teorema 6.16)H=X(XX)1X\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}' simétrica, idempotente, trH=p\operatorname{tr}\mathbf{H} = pX\mathbf{X} de rango columna completo
Sumas de cuadrados como formas cuadráticas (Teorema 6.18)SSE=Y(IH)Y\mathrm{SSE} = \mathbf{Y}'(\mathbf{I}-\mathbf{H})\mathbf{Y}; SSTO=SSR+SSE\mathrm{SSTO} = \mathrm{SSR} + \mathrm{SSE}; SSE0\mathrm{SSE} \ge 0cualquier respuesta Y\mathbf{Y}
Reglas de transformación lineal (Teorema 6.20)E{AW+c}=AE{W}+cE\{\mathbf{A}\mathbf{W}+\mathbf{c}\} = \mathbf{A}E\{\mathbf{W}\}+\mathbf{c}; Cov{AW}=ACov{W}A\operatorname{Cov}\{\mathbf{A}\mathbf{W}\} = \mathbf{A}\operatorname{Cov}\{\mathbf{W}\}\mathbf{A}'A,c\mathbf{A}, \mathbf{c} fijos
Media y covarianza de b\mathbf{b} (Teorema 6.21)E{b}=βE\{\mathbf{b}\} = \boldsymbol{\beta}; Cov{b}=σ2(XX)1\operatorname{Cov}\{\mathbf{b}\} = \sigma^2(\mathbf{X}'\mathbf{X})^{-1}E{ε}=0E\{\boldsymbol{\varepsilon}\} = \mathbf{0}, Cov{ε}=σ2I\operatorname{Cov}\{\boldsymbol{\varepsilon}\} = \sigma^2\mathbf{I}
Distribución muestral de b\mathbf{b} (Teorema 6.23)bN(β, σ2(XX)1)\mathbf{b} \sim N(\boldsymbol{\beta},\ \sigma^2(\mathbf{X}'\mathbf{X})^{-1})errores normales εN(0,σ2I)\boldsymbol{\varepsilon} \sim N(\mathbf{0}, \sigma^2\mathbf{I})

Términos clave. matriz, vector, matriz de diseño, transpuesta, multiplicación de matrices, conformable, matriz identidad, matriz simétrica, independencia lineal, rango, determinante, inversa, ecuaciones normales, matriz sombrero, matriz idempotente, matriz de proyección, traza, forma cuadrática, definida positiva, vector aleatorio, matriz de covarianzas, normal multivariante.

Ahora deberías poder.

Dónde encaja esto. Este capítulo es la caja de herramientas que hace funcionar las etapas AJUSTAR y USAR del flujo de trabajo del curso (El flujo de trabajo del modelado) para más de un predictor: el estimador b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} ajusta toda regresión múltiple, y la matriz de covarianzas σ2(XX)1\sigma^2(\mathbf{X}'\mathbf{X})^{-1} es como se prueba después cada coeficiente. El Capítulo 2 construyó estas ideas para un predictor con álgebra escalar (2.2 Mínimos cuadrados desde los primeros principios); las hemos generalizado ahora a cualquier número. Enseguida, el Capítulo 7 toma la misma XX\mathbf{X}'\mathbf{X} de Dwaine que calculaste y prueba por qué estas fórmulas son las correctas: deriva los mínimos cuadrados de dos maneras (7.1 El modelo y los mínimos cuadrados en forma matricial), lee los grados de libertad en la matriz sombrero (7.3 La matriz sombrero), y prueba el teorema de Gauss-Markov (7.6 El teorema de Gauss-Markov). Es el capítulo más abstracto del curso, y está construido casi por completo a partir de los hechos matriciales que ensamblaste aquí, así que el trabajo de este capítulo es exactamente lo que hace legible el siguiente.

6.10 Preguntas frecuentes

P1. ¿Por qué pegamos una columna de unos a X\mathbf{X}? Para que el intercepto pueda tratarse como un coeficiente más. Multiplicar la columna de unos por β0\beta_0 da β0\beta_0 en cada fila, que es exactamente lo que hace un intercepto. Sin la columna de unos, la fórmula Xβ\mathbf{X}\boldsymbol{\beta} no tendría término constante, y estarías forzando la superficie de regresión a pasar por el origen.

P2. ¿Es XX\mathbf{X}'\mathbf{X} lo mismo que elevar al cuadrado X\mathbf{X}? No. X\mathbf{X} por lo general no es cuadrada, así que X2=XX\mathbf{X}^2 = \mathbf{X}\mathbf{X} ni siquiera está definida. XX\mathbf{X}'\mathbf{X} multiplica la transpuesta (p×np \times n) por X\mathbf{X} (n×pn \times p) para hacer una matriz p×pp \times p de sumas de productos. Es el análogo matricial más cercano de “suma de cuadrados”, razón por la cual se sitúa en el centro de los mínimos cuadrados.

P3. ¿Qué sale mal en realidad cuando XX\mathbf{X}'\mathbf{X} es singular? Dos columnas de predictores cargan la misma información, así que los datos no pueden decidir cómo repartir un efecto entre ellas. Infinitos vectores de coeficientes ajustan igualmente bien, la inversa no existe, y el software o bien da error o bien descarta un predictor en silencio. Este es el extremo de la multicolinealidad que encuentras en 12.1 La multicolinealidad y el factor de inflación de la varianza.

P4. ¿Tengo que invertir XX\mathbf{X}'\mathbf{X} a mano? No. Más allá de 2×22 \times 2, deja que solve o np.linalg.inv lo hagan, y en el trabajo real prefiere las rutinas dentro de lm y statsmodels, que resuelven las ecuaciones normales sin formar la inversa. Calcular la inversa aquí solo muestra que el software hace exactamente el álgebra de matrices de este capítulo, de modo que nunca es una caja negra.

P5. ¿Por qué se llama proyección a la matriz sombrero? Porque toma el vector respuesta Y\mathbf{Y} y lo deja caer perpendicularmente sobre el subespacio plano de todos los valores ajustables (el espacio columna de X\mathbf{X}), aterrizando en el punto más cercano, Y^\widehat{\mathbf{Y}}. Proyectar una segunda vez no cambia nada, que es la propiedad algebraica HH=H\mathbf{H}\mathbf{H} = \mathbf{H}. El residuo es la parte de Y\mathbf{Y} que sobresale, en ángulo recto respecto del subespacio.

P6. ¿Dónde entra la distribución normal? Solo en 6.8 La normal multivariante, en breve, y solo para la inferencia. Construir X\mathbf{X}, calcular b\mathbf{b}, la matriz sombrero, SSE, y la matriz de covarianzas no usan ningún supuesto distribucional más allá de media cero, varianza constante y errores no correlacionados. La normalidad se añade encima para que b\mathbf{b} sea normal multivariante y podamos construir procedimientos tt y FF exactos, que es la tarea del Capítulo 7.

P7. ¿Tengo que memorizar todas estas identidades, y deben preocuparme las entradas negativas en la matriz de covarianzas de b\mathbf{b}? No, en ambos casos. Retén tres cosas: el modelo Y=Xβ+ε\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, el estimador b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}, y la covarianza σ2(XX)1\sigma^2(\mathbf{X}'\mathbf{X})^{-1}; todo lo demás construye una de esas o lee un número de ella, así que las identidades se vuelven cosas que rederivas en vez de recordar. En cuanto a las entradas negativas, solo las covarianzas fuera de la diagonal pueden ser negativas (las varianzas de la diagonal nunca lo son), y una negativa entre dos pendientes solo significa que a lo largo de muestras repetidas sobreestimar una tiende a acompañar subestimar la otra. Es información, no un error.

6.11 Problemas de práctica

  1. (A) Da las dimensiones de X\mathbf{X}, X\mathbf{X}', XX\mathbf{X}'\mathbf{X}, XY\mathbf{X}'\mathbf{Y}, b\mathbf{b} y H\mathbf{H} para el modelo de Dwaine, y di en una frase qué representa cada uno.

  2. (A) Explica por qué la primera columna de la matriz de diseño es de puros unos, y qué cambiaría en el modelo si se eliminara.

  3. (A) Enuncia la regla de cuándo dos matrices se pueden multiplicar, y úsala para explicar por qué XX\mathbf{X}\mathbf{X} no está definida para la matriz de diseño 21×321 \times 3 de Dwaine pero XX\mathbf{X}'\mathbf{X} sí lo está.

  4. (A) En palabras, ¿a qué es igual la entrada en la fila 1, columna 1 de XX\mathbf{X}'\mathbf{X}, y por qué? ¿Cuáles son las otras entradas de la primera fila?

  5. (A) Define una matriz idempotente y una matriz simétrica, y di cuáles de estas propiedades tiene la matriz sombrero H\mathbf{H}.

  6. (A) Un colega escribe Xb=Y\mathbf{X}\mathbf{b} = \mathbf{Y} y “cancela X\mathbf{X}” de XXb=XY\mathbf{X}'\mathbf{X}\mathbf{b} = \mathbf{X}'\mathbf{Y}. Explica las dos cosas mal en esto.

  7. (A) Explica qué significa que las columnas de X\mathbf{X} sean linealmente dependientes, y qué le hace eso a XX\mathbf{X}'\mathbf{X} y al ajuste de mínimos cuadrados.

  8. (A) La matriz de covarianzas de b\mathbf{b} tiene una entrada fuera de diagonal negativa entre las dos pendientes. Interpreta su signo en una oración.

  9. (B) Prueba que XX\mathbf{X}'\mathbf{X} es simétrica para cualquier matriz X\mathbf{X}, citando la regla de la transpuesta de un producto (Teorema 6.5).

  10. (B) Prueba la regla de la transpuesta de un producto (Teorema 6.5), (AB)=BA(\mathbf{A}\mathbf{B})' = \mathbf{B}'\mathbf{A}', comparando las entradas (i,j)(i,j) de ambos lados.

  11. (B) Partiendo de las ecuaciones normales matriciales XXb=XY\mathbf{X}'\mathbf{X}\,\mathbf{b} = \mathbf{X}'\mathbf{Y}, deriva b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} (Teorema 6.12), enunciando la condición sobre X\mathbf{X} que requiere el paso.

  12. (B) Prueba que la matriz sombrero H=X(XX)1X\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}' es simétrica e idempotente (Teorema 6.16). Luego muestra que IH\mathbf{I} - \mathbf{H} es idempotente.

  13. (B) Muestra que HX=X\mathbf{H}\mathbf{X} = \mathbf{X}, y explica geométricamente por qué proyectar cada columna de X\mathbf{X} sobre el espacio columna de X\mathbf{X} la deja sin cambio.

  14. (B) Usando e=(IH)Y\mathbf{e} = (\mathbf{I} - \mathbf{H})\mathbf{Y} y Y^=HY\widehat{\mathbf{Y}} = \mathbf{H}\mathbf{Y}, prueba que Xe=0\mathbf{X}'\mathbf{e} = \mathbf{0} y que Y^e=0\widehat{\mathbf{Y}}'\mathbf{e} = 0 (los valores ajustados son ortogonales a los residuos).

  15. (B) Prueba la regla de transformación de la covarianza Cov{AW}=ACov{W}A\operatorname{Cov}\{\mathbf{A}\mathbf{W}\} = \mathbf{A}\operatorname{Cov}\{\mathbf{W}\}\mathbf{A}' (parte del Teorema 6.20) para una matriz fija A\mathbf{A}, partiendo de la definición Cov{W}=E{(Wμ)(Wμ)}\operatorname{Cov}\{\mathbf{W}\} = E\{(\mathbf{W} - \boldsymbol{\mu})(\mathbf{W} - \boldsymbol{\mu})'\}.

  16. (B) Usa las reglas del problema 15 y E{Y}=XβE\{\mathbf{Y}\} = \mathbf{X}\boldsymbol{\beta}, Cov{Y}=σ2I\operatorname{Cov}\{\mathbf{Y}\} = \sigma^2\mathbf{I} para derivar E{b}=βE\{\mathbf{b}\} = \boldsymbol{\beta} y Cov{b}=σ2(XX)1\operatorname{Cov}\{\mathbf{b}\} = \sigma^2(\mathbf{X}'\mathbf{X})^{-1} (Teorema 6.21).

  17. (B) Muestra que SSE=Y(IH)Y\mathrm{SSE} = \mathbf{Y}'(\mathbf{I} - \mathbf{H})\mathbf{Y} es igual a ee\mathbf{e}'\mathbf{e} (Teorema 6.18), usando la simetría y la idempotencia de IH\mathbf{I} - \mathbf{H}, y explica por qué esto prueba SSE0\mathrm{SSE} \ge 0.

  18. (B) Para la matriz 2×22 \times 2 A=(abbd)\mathbf{A} = \left(\begin{smallmatrix} a & b \\ b & d \end{smallmatrix}\right), escribe la forma cuadrática uAu\mathbf{u}'\mathbf{A}\mathbf{u} en términos de u1,u2u_1, u_2, y da una condición sobre a,b,da, b, d que la vuelva definida positiva.

  19. (B) Los valores ajustados satisfacen Y^=HY\widehat{\mathbf{Y}} = \mathbf{H}\mathbf{Y}. Prueba que Cov{Y^}=σ2H\operatorname{Cov}\{\widehat{\mathbf{Y}}\} = \sigma^2\mathbf{H} y Cov{e}=σ2(IH)\operatorname{Cov}\{\mathbf{e}\} = \sigma^2(\mathbf{I} - \mathbf{H}), usando la regla de la covarianza y las propiedades de H\mathbf{H}.

  20. (C) Lee dwaine.csv, construye X\mathbf{X} y Y\mathbf{Y}, y reproduce XX\mathbf{X}'\mathbf{X} y XY\mathbf{X}'\mathbf{Y} en R o Python. Confirma que la entrada superior izquierda de XX\mathbf{X}'\mathbf{X} es nn y que la primera entrada de XY\mathbf{X}'\mathbf{Y} es Y\sum Y.

  21. (C) Calcula (XX)1(\mathbf{X}'\mathbf{X})^{-1} y b=(XX)1XY\mathbf{b} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y} en software, y verifica que b\mathbf{b} concuerda con lm/statsmodels y que (XX)1XX(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{X} devuelve la identidad.

  22. (C) Construye la matriz sombrero H\mathbf{H}, verifica numéricamente que HH=H\mathbf{H}\mathbf{H} = \mathbf{H} y que tr(H)=3\operatorname{tr}(\mathbf{H}) = 3, y reporta las tres entradas de la diagonal hiih_{ii} más grandes (los valores de apalancamiento).

  23. (C) Calcula el vector de residuos e=(IH)Y\mathbf{e} = (\mathbf{I} - \mathbf{H})\mathbf{Y} y verifica numéricamente que Xe=0\mathbf{X}'\mathbf{e} = \mathbf{0} (las tres entradas cerca de cero) y que ei=0\sum e_i = 0.

  24. (C) Calcula SSE=ee\mathrm{SSE} = \mathbf{e}'\mathbf{e}, luego MSE\mathrm{MSE} y s=MSEs = \sqrt{\mathrm{MSE}}, y confirma que concuerdan con el error estándar residual reportado por summary(fit) / fit.summary().

  25. (C) Forma la matriz de covarianzas estimada MSE(XX)1\mathrm{MSE}\,(\mathbf{X}'\mathbf{X})^{-1} y reporta los tres errores estándar de su diagonal. Confirma que concuerdan con el resumen del software, y reporta la covarianza estimada entre las dos estimaciones de pendiente.

  26. (C) Predice las ventas para una ciudad nueva con targtpop=65.4\text{targtpop} = 65.4 y dispoinc=17.6\text{dispoinc} = 17.6 formando el vector fila xh=(1,65.4,17.6)\mathbf{x}_h = (1, 65.4, 17.6) y calculando xhb\mathbf{x}_h \mathbf{b}. Confirma el resultado contra predict.

  27. (C) Añade una columna redundante a X\mathbf{X} igual a targtpop+dispoinc\text{targtpop} + \text{dispoinc}, e intenta calcular (XX)1(\mathbf{X}'\mathbf{X})^{-1}. Reporta lo que hace R o Python (un error, una advertencia, o una inversa desmesuradamente inestable), y conéctalo con el rango deficiente.

  28. (C) Centra los predictores: reemplaza targtpop y dispoinc por sus desviaciones respecto de sus medias, reajusta, y confirma que las dos pendientes no cambian mientras que el intercepto se vuelve Yˉ\bar{Y}. Explica, usando las ecuaciones normales, por qué el centrado deja intactas las pendientes.

  29. (C) Demuestra la ley muestral bN(β,σ2(XX)1)\mathbf{b} \sim N(\boldsymbol{\beta}, \sigma^2(\mathbf{X}'\mathbf{X})^{-1}) (Teorema 6.23, 6.8 La normal multivariante, en breve) por simulación. Trata la b=(68.86, 1.4546, 9.3655)\mathbf{b} = (-68.86,\ 1.4546,\ 9.3655)' ajustada como la β\boldsymbol{\beta} verdadera y MSE=121.16\mathrm{MSE} = 121.16 como la σ2\sigma^2 verdadera. Manteniendo fija la X\mathbf{X} real de Dwaine, usa set.seed(4210) (R) o default_rng(4210) (Python) para generar 5000 vectores respuesta Y=Xβ+ε\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} con εN(0,σ2I)\boldsymbol{\varepsilon} \sim N(\mathbf{0}, \sigma^2\mathbf{I}), reajusta cada uno con (XX)1XY(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}, y recolecta las estimaciones. (a) Confirma que las medias por columna están cerca de β\boldsymbol{\beta} y que la covarianza muestral está cerca de σ2(XX)1\sigma^2(\mathbf{X}'\mathbf{X})^{-1}. (b) En dos oraciones, explica por qué esta ley permite que el Capítulo 7 adjunte una distribución tt a cada coeficiente y convierta un error estándar en un intervalo de confianza.

6.12 Práctica de examen

Estas cinco preguntas coinciden con el estilo de los exámenes del curso: cada una te pide explicar, evaluar o interpretar en oraciones completas, no producir un número pelado. Escribe en oraciones completas y di qué números usaste. La salida de software mostrada se generó a partir del ajuste real de dwaine.csv. Cada respuesta modelo muestra la profundidad que gana la calificación completa, seguida de una línea sobre lo que una respuesta débil omite.

EP 6.1. En el ajuste de Dwaine ambas pendientes estimadas son positivas: btargtpop=1.4546b_{\text{targtpop}} = 1.4546 y bdispoinc=9.3655b_{\text{dispoinc}} = 9.3655. Un estudiante argumenta: “como ambos predictores empujan las ventas hacia arriba, las dos pendientes estimadas deben estar positivamente correlacionadas a lo largo de muestras repetidas”. La matriz de covarianzas estimada de b\mathbf{b} está impresa abajo. Evalúa la afirmación del estudiante, y explica qué te dice en realidad el número relevante.

          intercept targtpop  dispoinc
intercept 3602.0347   8.7459 -241.4230
targtpop     8.7459    0.0449   -0.6724
dispoinc  -241.4230   -0.6724   16.5158

EP 6.2. Supón que targtpop se reingresa en personas en bruto en vez de miles, de modo que cada valor se multiplica por 1000, y el modelo se reajusta. Usando la salida de abajo, di con precisión qué cantidades cambian y cuáles quedan idénticas, y explica por qué.

          b            se           t
intercept -68.8570732  60.0169532  -1.1473
targtpop    0.0014546   0.0002118   6.8682
dispoinc    9.3655004   4.0639581   2.3045
SSE = 2180.9274      fitted[1:3] = 187.184, 154.229, 234.396

EP 6.3. La diagonal de la matriz sombrero contiene los valores de apalancamiento hiih_{ii}. La salida de abajo reporta su suma, el corte de regla empírica 2p/n2p/n, y los cinco valores más grandes con los dos valores de predictor de cada ciudad. Interpreta estos números en contexto: ¿qué dicen sobre qué ciudades importan más, por qué suman 3, y marcarías alguna ciudad como punto de apalancamiento alto?

sum of h_ii = 3.0        2p/n cutoff = 0.2857
 city 20:  targtpop 82.7  dispoinc 19.1   h = 0.2788
 city 13:  targtpop 88.4  dispoinc 17.4   h = 0.2390
 city 15:  targtpop 52.5  dispoinc 17.8   h = 0.2095
 city  3:  targtpop 91.3  dispoinc 18.2   h = 0.1737
 city  5:  targtpop 46.9  dispoinc 17.3   h = 0.1620

EP 6.4. Un estudiante aumenta la matriz de diseño de Dwaine con una cuarta columna igual a targtpop + dispoinc, reajusta, y reporta: “Python de todos modos devolvió una inversa y algunos coeficientes, así que el modelo aumentado está bien”. Los diagnósticos de abajo provienen de la matriz aumentada. Explica por qué el modelo aumentado no está bien, qué salió mal matemáticamente, y por qué R y Python se comportan distinto.

rank of augmented X = 3   (it has 4 columns)
det(X'X)        = -3.7e-05      # against ~1.07e06 for the genuine 3x3 X'X
R  solve(X'X):  Error: system is computationally singular
Python inv(X'X): returns a matrix of enormous (~1e13) entries, no error

EP 6.5. Un gerente regional quiere las ventas medias predichas por el modelo para una ciudad nueva con targtpop =65.4= 65.4 y dispoinc =17.6= 17.6, junto con un error estándar, así que forma xh=(1, 65.4, 17.6)\mathbf{x}_h = (1,\ 65.4,\ 17.6) y nota que la media predicha es Y^h=xhb\widehat{Y}_h = \mathbf{x}_h'\mathbf{b}. La matriz de covarianzas estimada s2{b}=MSE(XX)1s^2\{\mathbf{b}\} = \mathrm{MSE}\,(\mathbf{X}'\mathbf{X})^{-1} se reimprime abajo, y el ajuste da Y^h=191.10\widehat{Y}_h = 191.10. Un estudiante calcula el error estándar de Y^h\widehat{Y}_h como 65.42s2{btargtpop}+17.62s2{bdispoinc}+s2{b0}=94.4\sqrt{65.4^2 \cdot s^2\{b_{\text{targtpop}}\} + 17.6^2 \cdot s^2\{b_{\text{dispoinc}}\} + s^2\{b_0\}} = 94.4, usando solo las varianzas de la diagonal. Explica por qué esto está mal, da el error estándar correcto, y di hacia qué lado yerra el atajo de solo diagonal.

          intercept targtpop  dispoinc
intercept 3602.0347   8.7459 -241.4230
targtpop     8.7459    0.0449   -0.6724
dispoinc  -241.4230   -0.6724   16.5158

x_h'(X'X)^{-1} x_h = 0.063181       MSE = 121.16

6.13 Juego del capítulo