6 Regresión por Mínimos Cuadrados Ordinarios (MCO)
Modelo
Antes de lanzarnos a minimizar errores, hagamos una pausa para ver cómo funciona esto con álgebra lineal, que es el corazón de MCO. Tenemos una regresión con n observaciones y k variables explicativas (incluyendo la constante). Entonces:
- \(y\): vector de resultados observados (\(n \times 1\))
- \(X\): matriz de variables explicativas (\(n \times k\))
- \(\beta\): vector de coeficientes (\(k \times 1\))
- \(\varepsilon\): vector de errores aleatorios (\(n \times 1\))
El modelo lineal es:
\[ y = X\beta + \varepsilon \]
En notación matricial, esto se expresa como:
\[ \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} 1 & x_{11} & \cdots & x_{1k} \\ 1 & x_{21} & \cdots & x_{2k} \\ \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & \cdots & x_{nk} \end{bmatrix} \begin{bmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_k \end{bmatrix} + \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix} \]
6.1 ¿Qué hace MCO? {-}
La regresión por Mínimos Cuadrados Ordinarios (MCO) es una de las herramientas más fundamentales y utilizadas en econometría. Su objetivo es simple pero poderoso: encontrar la mejor recta (o hiperplano) que se ajusta a los datos observados, minimizando los errores que cometemos al predecir.
¿Qué quiere decir “minimizar errores”?
Supongamos que tenemos una relación entre una variable dependiente \(y\) y un conjunto de variables explicativas \(X\). Queremos encontrar un vector de parámetros \(\beta\) que explique esa relación lo mejor posible. El problema es que los datos reales no siguen perfectamente la recta que proponemos. Siempre hay un error o residuo que capta lo que no podemos explicar.
Pero aunque no conocemos los verdaderos errores (denotados por \(\varepsilon\)), sí podemos calcular cuánto nos estamos equivocando si asumimos un valor hipotético de \(\beta\), al que llamaremos \(\tilde{\beta}\). El error estimado para cada observación \(i\) sería:
\[ \tilde{\epsilon}_i = y_i - X_i \tilde{\beta} \]
Y si elevamos estos errores al cuadrado (para que los negativos no se cancelen con los positivos) y los sumamos para todas las observaciones, obtenemos lo que llamamos la Suma de los Residuos al Cuadrado (SRC) es:
\[ SRC(\tilde{\beta}) = \sum_{i=1}^n (y_i - X_i \tilde{\beta})^2 \]
En notación matricial:
\[ SRC(\tilde{\beta}) = (y - X\tilde{\beta})'(y - X\tilde{\beta}) \]
La idea de MCO es encontrar un valor de \(\tilde{\beta}\) que minimice esta suma de residuos al cuadrado. En otras palabras, queremos encontrar el mejor ajuste posible a nuestros datos. En la siguiente gráfica veremos cómo se ve esta función objetivo y cómo el valor óptimo de \(\tilde{\beta}\) se encuentra en el mínimo de la curva.

Cuando tenemos más de una variable explicativa, MCO sigue buscando el punto que minimiza la suma de los residuos al cuadrado (SRC), pero ahora en una superficie 3D. En el gráfico a continuación, mostramos cómo la SRC varía con diferentes combinaciones de valores hipotéticos para \(\tilde{\beta}_1\) y \(\tilde{\beta}_2\).
La superficie muestra los errores para cada combinación, y el mínimo (el punto más bajo) representa los valores estimados \((\hat{\beta}_1, \hat{\beta}_2)\).
6.2 Derivación del estimador {-}
6.2.1 ¿Cómo se encuentra el vector \(\hat{\beta}\)? {-}
Queremos minimizar la SRC:
\[ \hat{\beta} = \underset{\tilde{\beta}}{\arg\min} \; (y - X\tilde{\beta})'(y - X\tilde{\beta}) \]
Expandiendo:
\[ SRC(\tilde{\beta}) = y'y - 2\tilde{\beta}'X'y + \tilde{\beta}'X'X\tilde{\beta} \]
Para minimizar esta función derivamos con respecto a \(\tilde{\beta}\):
\[ \frac{\partial SRC}{\partial \tilde{\beta}} = -2X'y + 2X'X\tilde{\beta} = 0 \]
Reordenando, llegamos a las Ecuaciones normales de MCO:
\[ X'X \hat{\beta} = X'y \]
Si la matriz \(X'X\) es invertible (lo que requiere, por ejemplo, que no haya multicolinealidad perfecta), entonces podemos despejar \(\hat{\beta}\) directamente
\[ \hat{\beta} = (X'X)^{-1}X'y \]
6.2.2 ¿Es un mínimo? {-}
Sí, y lo podemos verificar con la segunda derivada (matriz Hessiana):
\[ \frac{\partial^2 SRC}{\partial \tilde{\beta} \partial \tilde{\beta}'} = 2X'X \]
Como \(X'X\) es semidefinida positiva (o positiva definida si no hay colinealidad), eso nos garantiza que el punto que encontramos con la primera derivada es en efecto un mínimo.
6.2.3 ¿Qué significa que una matriz sea semidefinida positiva? {-}
Una matriz simétrica \(A\) es:
Positiva semidefinida (PSD) si para cualquier vector no nulo \(z\), se cumple:
\[ z'Az \geq 0 \]
Positiva definida (PD) si para cualquier vector no nulo \(z\), se cumple:
\[ z'Az > 0 \]
En el contexto de mínimos cuadrados, la matriz \(X'X\) es siempre simétrica y al menos semidefinida positiva. Será positiva definida si las columnas de \(X\) no tienen colinealidad perfecta (es decir, no hay combinación lineal exacta entre las variables).
6.2.4 ¿Y por qué importa esto? {-}
Porque si una función cuadrática tiene la forma:
\[ f(\beta) = \beta'A\beta + b'\beta + c \]
entonces \(f(\beta)\) tiene un mínimo en el punto donde su derivada es cero si \(A\) es positiva definida (o semidefinida positiva en algunos casos). Esto es justo lo que ocurre en MCO.
En otras palabras: el hecho de que \(X'X\) sea positiva definida es lo que garantiza que el estimador \(\hat{\beta}\) minimiza la suma de los residuos al cuadrado, y no la maximiza o genera un punto de silla.
6.3 Anatomía de la regresión: del caso más simple al más complejo {-}
Vamos a ver diferentes casos de regresión, desde la más simple hasta la más compleja, para entender la anatomía de la regresión y cómo MCO se adapta a cada uno. En todos los casos, trabajaremos con la formulación matricial \(\hat{\beta} = (X'X)^{-1}X'y\).
6.3.1 Caso 1: Regresión sin variables explicativas (solo constante) {-}
En este caso, el modelo es simplemente:
\[ y_i = \beta_0 + \varepsilon_i \]
Aquí la matriz \(X\) es un vector columna de unos:
\[ X = \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{bmatrix}_{n \times 1} \]
Calculemos paso a paso:
\[ X'X = \begin{bmatrix} 1 & 1 & \cdots & 1 \end{bmatrix} \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{bmatrix} = n \]
\[ X'y = \begin{bmatrix} 1 & 1 & \cdots & 1 \end{bmatrix} \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \sum_{i=1}^{n} y_i \]
Entonces:
\[ \hat{\beta}_0 = (X'X)^{-1}X'y = \frac{1}{n} \sum_{i=1}^{n} y_i = \bar{y} \]
Conclusión: Cuando el modelo solo tiene constante, el estimador de MCO es simplemente el promedio de \(y\). Esto tiene sentido: la “mejor predicción” cuando no tenemos información adicional es el promedio.
Ejercicio 1
Suponga que tiene 5 observaciones de ingreso mensual (en miles de pesos): \(y = (1200, 1500, 1300, 1800, 1700)'\).
- Escriba la matriz \(X\) para un modelo sin variables explicativas.
- Calcule \(X'X\), \((X'X)^{-1}\), y \(X'y\) paso a paso.
- Obtenga \(\hat{\beta}\) y verifique que coincide con \(\bar{y}\).
- Calcule el vector de residuos \(e = y - X\hat{\beta}\) y verifique que \(\sum e_i = 0\).
6.3.2 Caso 2: Regresión simple con una variable explicativa {-}
En este caso, el modelo es:
\[ y = \beta_0 + \beta_1 x + \varepsilon \]
Aquí, tenemos dos parámetros a estimar: \(\beta_0\) (intercepto) y \(\beta_1\) (pendiente). El estimador de MCO se calcula como:
\[ \hat{\beta} = (X'X)^{-1}X'y \]
Ejercicio 2
Demuestre que el estimador de MCO para \(\beta_0\) y \(\beta_1\) en la regresión simple son:
\[ \hat{\beta}_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} \]
\[ \hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x} \]
Debe partir de la formulación matricial de MCO y aplicar álgebra paso a paso.
Recuerde las siguientes propiedades de la sumatoria:
Promedio y suma Si \[ \bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i \quad \Rightarrow \quad n \bar{X} = \sum_{i=1}^{n} X_i \]
Suma de cuadrados centrados \[ \sum_{i=1}^{n} (X_i - \bar{X})^2 = \sum_{i=1}^{n} X_i^2 - n \bar{X}^2 \]
Demostración: \[ \sum_{i=1}^{n} (X_i - \bar{X})^2 = \sum X_i^2 - 2 \bar{X} \sum X_i + n \bar{X}^2 \] \[ = \sum X_i^2 - 2n \bar{X}^2 + n \bar{X}^2 = \sum X_i^2 - n \bar{X}^2 \]
Covarianza muestral \[ \sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y}) = \sum X_i Y_i - n \bar{Y} \bar{X} = \sum X_i (Y_i - \bar{Y}) \]
Caso 3: Variable binaria sin constante
Ahora consideremos un caso especial que nos ayudará a entender cómo funcionan las variables categóricas en regresión. Supongamos que queremos explicar el promedio académico (\(y\)) de un grupo de estudiantes usando como única variable explicativa si el estudiante tiene beca o no tiene beca.
Definimos dos variables indicadoras (dummies):
\[ D_1 = \begin{cases} 1 & \text{si tiene beca} \\ 0 & \text{si no tiene beca} \end{cases} \qquad D_2 = \begin{cases} 1 & \text{si no tiene beca} \\ 0 & \text{si tiene beca} \end{cases} \]
Note que \(D_1 + D_2 = 1\) para toda observación (todo estudiante o tiene beca o no la tiene).
El modelo sin constante es:
\[ y_i = \beta_1 D_{1i} + \beta_2 D_{2i} + \varepsilon_i \]
Supongamos que tenemos 6 estudiantes: 3 con beca (promedio: 4.2, 3.8, 4.0) y 3 sin beca (promedio: 3.5, 3.2, 3.6). La matriz \(X\) y el vector \(y\) son:
\[ X = \begin{bmatrix} 1 & 0 \\ 1 & 0 \\ 1 & 0 \\ 0 & 1 \\ 0 & 1 \\ 0 & 1 \end{bmatrix}, \qquad y = \begin{bmatrix} 4.2 \\ 3.8 \\ 4.0 \\ 3.5 \\ 3.2 \\ 3.6 \end{bmatrix} \]
Calculemos paso a paso:
\[ X'X = \begin{bmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 1 & 0 \\ 1 & 0 \\ 0 & 1 \\ 0 & 1 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 3 & 0 \\ 0 & 3 \end{bmatrix} = 3 \cdot I_2 \]
\[ (X'X)^{-1} = \frac{1}{3} I_2 = \begin{bmatrix} 1/3 & 0 \\ 0 & 1/3 \end{bmatrix} \]
\[ X'y = \begin{bmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 \end{bmatrix} \begin{bmatrix} 4.2 \\ 3.8 \\ 4.0 \\ 3.5 \\ 3.2 \\ 3.6 \end{bmatrix} = \begin{bmatrix} 12.0 \\ 10.3 \end{bmatrix} \]
Entonces:
\[ \hat{\beta} = (X'X)^{-1}X'y = \begin{bmatrix} 1/3 & 0 \\ 0 & 1/3 \end{bmatrix} \begin{bmatrix} 12.0 \\ 10.3 \end{bmatrix} = \begin{bmatrix} 4.0 \\ 3.43 \end{bmatrix} \]
Interpretación:
- \(\hat{\beta}_1 = 4.0\) es el promedio académico de los estudiantes con beca.
- \(\hat{\beta}_2 = 3.43\) es el promedio académico de los estudiantes sin beca.
Cada coeficiente es simplemente la media del grupo correspondiente. Esto ocurre porque la matriz \(X'X\) es diagonal (los grupos no se solapan), lo que hace que cada coeficiente se estime de forma independiente.
Ejercicio 3
Considere 8 estudiantes con la siguiente información sobre su promedio académico y si reciben beca:
| Estudiante | Beca (\(D_1\)) | No Beca (\(D_2\)) | Promedio (\(y\)) |
|---|---|---|---|
| 1 | 1 | 0 | 4.5 |
| 2 | 1 | 0 | 4.1 |
| 3 | 1 | 0 | 3.9 |
| 4 | 1 | 0 | 4.3 |
| 5 | 0 | 1 | 3.4 |
| 6 | 0 | 1 | 3.7 |
| 7 | 0 | 1 | 3.2 |
| 8 | 0 | 1 | 3.5 |
- Escriba las matrices \(X\) (\(8 \times 2\)) e \(y\) (\(8 \times 1\)) para el modelo \(y = \beta_1 D_1 + \beta_2 D_2 + \varepsilon\) (sin constante).
- Calcule \(X'X\), \((X'X)^{-1}\), y \(X'y\).
- Obtenga \(\hat{\beta}\) y verifique que \(\hat{\beta}_1 = \bar{y}_{\text{con beca}}\) y \(\hat{\beta}_2 = \bar{y}_{\text{sin beca}}\).
- Explique por qué la matriz \(X'X\) resulta ser diagonal.
6.3.3 Caso 4: Variable binaria con constante (categoría de referencia) {-}
Ahora veamos qué pasa si en lugar de incluir las dos dummies, incluimos solo una dummy y la constante. Esto es lo que se hace en la práctica para evitar la llamada “trampa de la variable dummy” (multicolinealidad perfecta, ya que \(D_1 + D_2 = \mathbf{1}\)).
El modelo es:
\[ y_i = \beta_0 + \beta_1 D_{1i} + \varepsilon_i \]
donde \(D_1 = 1\) si el estudiante tiene beca y \(D_1 = 0\) si no. Usamos los mismos 6 estudiantes del caso anterior:
\[ X = \begin{bmatrix} 1 & 1 \\ 1 & 1 \\ 1 & 1 \\ 1 & 0 \\ 1 & 0 \\ 1 & 0 \end{bmatrix}, \qquad y = \begin{bmatrix} 4.2 \\ 3.8 \\ 4.0 \\ 3.5 \\ 3.2 \\ 3.6 \end{bmatrix} \]
Calculemos:
\[ X'X = \begin{bmatrix} 6 & 3 \\ 3 & 3 \end{bmatrix} \]
\[ (X'X)^{-1} = \frac{1}{6 \cdot 3 - 3 \cdot 3} \begin{bmatrix} 3 & -3 \\ -3 & 6 \end{bmatrix} = \frac{1}{9} \begin{bmatrix} 3 & -3 \\ -3 & 6 \end{bmatrix} = \begin{bmatrix} 1/3 & -1/3 \\ -1/3 & 2/3 \end{bmatrix} \]
\[ X'y = \begin{bmatrix} \sum y_i \\ \sum D_{1i} y_i \end{bmatrix} = \begin{bmatrix} 22.3 \\ 12.0 \end{bmatrix} \]
\[ \hat{\beta} = \begin{bmatrix} 1/3 & -1/3 \\ -1/3 & 2/3 \end{bmatrix} \begin{bmatrix} 22.3 \\ 12.0 \end{bmatrix} = \begin{bmatrix} (22.3 - 12.0)/3 \\ (-22.3 + 24.0)/3 \end{bmatrix} = \begin{bmatrix} 3.43 \\ 0.57 \end{bmatrix} \]
Interpretación (cambio clave):
- \(\hat{\beta}_0 = 3.43\) es el promedio académico del grupo de referencia (estudiantes sin beca, cuando \(D_1 = 0\)).
- \(\hat{\beta}_1 = 0.57\) es la diferencia en promedio académico entre los estudiantes con beca y los sin beca.
Verifiquemos: \(3.43 + 0.57 = 4.0\), que es exactamente el promedio de los estudiantes con beca que obtuvimos en el Caso 3. La información es la misma, pero la interpretación cambia completamente: en el Caso 3 cada coeficiente es una media de grupo; en el Caso 4, \(\hat{\beta}_0\) es la media del grupo de referencia y \(\hat{\beta}_1\) es el efecto diferencial de tener beca.
Ejercicio 4
Usando los mismos 8 estudiantes del Ejercicio 3:
- Escriba la matriz \(X\) (\(8 \times 2\)) para el modelo \(y = \beta_0 + \beta_1 D_1 + \varepsilon\) (con constante y una sola dummy).
- Calcule \(X'X\), \((X'X)^{-1}\) y \(X'y\).
- Obtenga \(\hat{\beta}\) y verifique que:
- \(\hat{\beta}_0 = \bar{y}_{\text{sin beca}}\)
- \(\hat{\beta}_1 = \bar{y}_{\text{con beca}} - \bar{y}_{\text{sin beca}}\)
- Explique con sus palabras: ¿por qué cambió la interpretación respecto al Ejercicio 3?
- ¿Qué pasaría si intentara incluir \(D_1\), \(D_2\) y la constante en la misma regresión? Escriba la matriz \(X\) resultante y muestre que sus columnas son linealmente dependientes (es decir, que \(X'X\) no es invertible).
6.3.4 Caso 5: Múltiples categorías mutuamente excluyentes {-}
Ahora generalicemos a variables categóricas con más de dos niveles. Supongamos que queremos explicar el salario mensual de un grupo de trabajadores usando su nivel educativo, que tiene 4 categorías mutuamente excluyentes:
- Primaria
- Secundaria
- Técnico/Tecnológico
- Universitario
Cada trabajador pertenece a exactamente una categoría. Definimos las variables indicadoras:
\[ D_1 = \begin{cases} 1 & \text{Primaria} \\ 0 & \text{otro} \end{cases}, \quad D_2 = \begin{cases} 1 & \text{Secundaria} \\ 0 & \text{otro} \end{cases}, \quad D_3 = \begin{cases} 1 & \text{Técnico} \\ 0 & \text{otro} \end{cases}, \quad D_4 = \begin{cases} 1 & \text{Universitario} \\ 0 & \text{otro} \end{cases} \]
Note que \(D_1 + D_2 + D_3 + D_4 = 1\) para toda observación, porque las categorías son mutuamente excluyentes y exhaustivas.
Si incluimos una constante, debemos omitir una categoría (la categoría de referencia). Supongamos que omitimos “Primaria”. El modelo es:
\[ y_i = \beta_0 + \beta_2 D_{2i} + \beta_3 D_{3i} + \beta_4 D_{4i} + \varepsilon_i \]
Supongamos 12 trabajadores (3 por categoría) con los siguientes salarios (en miles):
| Trabajador | Primaria | Secundaria | Técnico | Universitario | Salario |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 900 |
| 2 | 1 | 0 | 0 | 0 | 1000 |
| 3 | 1 | 0 | 0 | 0 | 850 |
| 4 | 0 | 1 | 0 | 0 | 1200 |
| 5 | 0 | 1 | 0 | 0 | 1300 |
| 6 | 0 | 1 | 0 | 0 | 1100 |
| 7 | 0 | 0 | 1 | 0 | 1600 |
| 8 | 0 | 0 | 1 | 0 | 1500 |
| 9 | 0 | 0 | 1 | 0 | 1700 |
| 10 | 0 | 0 | 0 | 1 | 2200 |
| 11 | 0 | 0 | 0 | 1 | 2500 |
| 12 | 0 | 0 | 0 | 1 | 2100 |
La matriz \(X\) para el modelo con constante (omitiendo Primaria) es:
\[ X = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 \end{bmatrix} \]
\[ X'X = \begin{bmatrix} 12 & 3 & 3 & 3 \\ 3 & 3 & 0 & 0 \\ 3 & 0 & 3 & 0 \\ 3 & 0 & 0 & 3 \end{bmatrix} \]
Aunque podemos invertir esta matriz, notemos qué obtenemos directamente: dado que los grupos tienen el mismo tamaño (\(n_j = 3\)) y las dummies son ortogonales entre sí, se puede mostrar que:
\[ \hat{\beta} = \begin{bmatrix} \bar{y}_{\text{Primaria}} \\ \bar{y}_{\text{Secundaria}} - \bar{y}_{\text{Primaria}} \\ \bar{y}_{\text{Técnico}} - \bar{y}_{\text{Primaria}} \\ \bar{y}_{\text{Universitario}} - \bar{y}_{\text{Primaria}} \end{bmatrix} = \begin{bmatrix} 916.7 \\ 283.3 \\ 683.3 \\ 1350.0 \end{bmatrix} \]
Interpretación:
- \(\hat{\beta}_0 = 916.7\): salario promedio del grupo de referencia (Primaria).
- \(\hat{\beta}_2 = 283.3\): los trabajadores con Secundaria ganan en promedio 283.3 mil pesos más que los de Primaria.
- \(\hat{\beta}_3 = 683.3\): los trabajadores con nivel Técnico ganan en promedio 683.3 mil pesos más que los de Primaria.
- \(\hat{\beta}_4 = 1350.0\): los trabajadores Universitarios ganan en promedio 1350.0 mil pesos más que los de Primaria.
Cada coeficiente mide la diferencia promedio respecto a la categoría omitida. Si cambiamos la categoría de referencia (por ejemplo, a Universitario), los coeficientes cambian de signo e interpretación, pero los valores ajustados \(\hat{y}\) son exactamente los mismos.
Ejercicio 5
Usando los mismos 12 trabajadores de la tabla anterior:
- Escriba la matriz \(X\) (\(12 \times 4\)) para el modelo sin constante que incluye las 4 dummies: \(y = \beta_1 D_1 + \beta_2 D_2 + \beta_3 D_3 + \beta_4 D_4 + \varepsilon\).
- Calcule \(X'X\) y \(X'y\). Note que \(X'X\) es diagonal. ¿Por qué?
- Obtenga \(\hat{\beta}\) y verifique que cada coeficiente es la media del grupo correspondiente.
- Ahora cambie la categoría de referencia: estime el modelo \(y = \beta_0 + \beta_1 D_1 + \beta_3 D_3 + \beta_4 D_4 + \varepsilon\) (omitiendo Secundaria). Calcule \(\hat{\beta}\) y compare la interpretación con el caso donde se omitía Primaria.
- Muestre que los valores ajustados \(\hat{y} = X\hat{\beta}\) son los mismos en ambos modelos, a pesar de que los coeficientes son diferentes.
6.3.5 Ejercicios adicionales de álgebra lineal {-}
Los siguientes ejercicios le ayudarán a afianzar su manejo del álgebra matricial aplicada a MCO.
6.3.6 Ejercicio 6: Verificación de las ecuaciones normales {-}
Considere los datos \(x = (1, 2, 3, 4, 5)'\) e \(y = (2.1, 3.9, 6.2, 7.8, 10.1)'\).
- Construya la matriz \(X\) con constante y calcule \(X'X\) y \(X'y\).
- Obtenga \(\hat{\beta} = (X'X)^{-1}X'y\) manualmente (invirtiendo la matriz \(2 \times 2\)).
- Calcule \(\hat{y} = X\hat{\beta}\) y los residuos \(e = y - \hat{y}\).
- Verifique numéricamente que \(X'e = 0\) (ortogonalidad entre residuos y regresores).
Ejercicio 7: Efecto del escalamiento en matrices
Sea el modelo \(y = X\beta + \varepsilon\) con \(\hat{\beta} = (X'X)^{-1}X'y\).
- Suponga que multiplica la variable dependiente por una constante \(c\), es decir, define \(y^* = cy\). Demuestre que \(\hat{\beta}^* = c\hat{\beta}\).
- Suponga que multiplica la \(j\)-ésima columna de \(X\) por una constante \(c\), obteniendo \(X^*\). Demuestre que el \(j\)-ésimo coeficiente se divide por \(c\), es decir, \(\hat{\beta}_j^* = \hat{\beta}_j / c\).
- ¿Qué ocurre con la matriz de varianzas y covarianzas \(\hat{V}(\hat{\beta}) = s^2(X'X)^{-1}\) en cada caso?
6.3.7 Ejercicio 8: Matrices de proyección {-}
Defina la matriz de proyección (o hat matrix):
\[ H = X(X'X)^{-1}X' \]
- Demuestre que \(H\) es simétrica: \(H' = H\).
- Demuestre que \(H\) es idempotente: \(H^2 = H\).
- Demuestre que \(\hat{y} = Hy\) (los valores ajustados son una proyección de \(y\)).
- Defina \(M = I - H\). Demuestre que \(M\) también es simétrica e idempotente.
- Demuestre que \(e = My\) y que \(MX = 0\). Interprete este último resultado.
6.3.8 Ejercicio 9: Descomposición de la suma total de cuadrados {-}
Usando las definiciones de \(H\) y \(M\):
- Demuestre que \(y'y = \hat{y}'\hat{y} + e'e\). (Pista: sustituya \(y = \hat{y} + e\) y use que \(\hat{y}'e = 0\)).
- A partir de lo anterior, muestre la descomposición \(STC = SEC + SRC\), donde:
- \(STC = \sum(y_i - \bar{y})^2\)
- \(SEC = \sum(\hat{y}_i - \bar{y})^2\)
- \(SRC = \sum e_i^2\)
- Deduzca la fórmula del \(R^2 = 1 - \frac{SRC}{STC} = \frac{SEC}{STC}\) y explique su interpretación.
6.3.9 Caso general: Regresión múltiple {-}
En el caso general, el modelo es: \[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_k x_k + \varepsilon \] Aquí, tenemos \(k+1\) parámetros a estimar. El estimador de MCO sigue siendo: \[ \hat{\beta} = (X'X)^{-1}X'y \]
6.3.10 ¿Cuándo coincide la regresión múltiple con la simple? {-}
Si las variables explicativas están centradas y no están correlacionadas entre sí, la estructura de la regresión se simplifica notablemente.
Asumimos:
- \(\sum X_{ji} = 0\) para todas las variables (centradas en cero)
- \(\sum X_{ji} X_{hi} = 0\) para todo \(j \ne h\) (no correlación entre regresores)
Entonces \(X'X\) se convierte en:
\[ X'X = \begin{bmatrix} n & 0 & \cdots & 0 \\ 0 & \sum X_{1i}^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sum X_{ki}^2 \end{bmatrix} \]
Y su inversa:
\[ (X'X)^{-1} = \begin{bmatrix} 1/n & 0 & \cdots & 0 \\ 0 & 1/\sum X_{1i}^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1/\sum X_{ki}^2 \end{bmatrix} \]
El estimador de MCO en este caso es:
\[ \hat{\beta} = \begin{bmatrix} \frac{\sum y}{n} \\ \frac{\sum X_1 y}{\sum X_1^2} \\ \vdots \\ \frac{\sum X_k y}{\sum X_k^2} \end{bmatrix} \]
Conclusión: si las variables explicativas están centradas y no están correlacionadas entre sí, entonces el estimador de MCO para cada coeficiente coincide con el estimador de regresión simple. Solo cuando hay correlación entre regresores es necesaria la regresión múltiple para obtener efectos parciales.
En el siguiente capítulo entenderemos mejor la anatomía de la regresión múltiple para entender perfectamente ¿cuál es la diferencia entre la regresión simple y la múltiple?
Estimador de MCO en R empleando matrices
#> [,1]
#> 1.9865602
#> x 0.6865253
#> x
#> 0.29408249 0.05127318
Estimador de MCO en Stata usando MATA
clear all
set more off
sysuse auto, clear
* Generamos la constante
gen cons = 1
* Entramos a MATA
mata
// Creamos las matrices X y Y
st_view(Y=., ., "price")
st_view(X=., ., ("cons", "weight"))
n = rows(X)
k = cols(X)
df = n - k
// Estimador de MCO
b = invsym(X'X)*X'Y
// Valores ajustados y residuos
Y_hat = X*b
e = Y - Y_hat
// Suma de residuos al cuadrado
SRC = e'e
// Varianza del error
s2 = SRC / df
s = sqrt(s2)
// Matriz de varianzas y covarianzas
V = s2 * invsym(X'X)
se = sqrt(diagonal(V))
// Resultados
b
se
end
* Comparación con comando base
reg price weightEstimador de MCO en Python usando NumPy
# Estimador de MCO en Python usando matrices (numpy)
import numpy as np
# Simular datos
np.random.seed(123)
n = 100
x = np.random.uniform(0, 10, size=n)
epsilon = np.random.normal(0, 1.5, size=n)
y = 2 + 0.7 * x + epsilon
# Crear matriz X con constante
X = np.column_stack((np.ones(n), x)) # n x 2
Y = y.reshape(-1, 1) # n x 1
# Estimador MCO: beta_hat = (X'X)^(-1) X'Y
XtX_inv = np.linalg.inv(X.T @ X)
XtY = X.T @ Y
beta_hat = XtX_inv @ XtY
# Valores ajustados y residuos
Y_hat = X @ beta_hat
e = Y - Y_hat
# Varianza del error
k = X.shape[1]
s2 = (e.T @ e) / (n - k)
var_cov_matrix = s2[0, 0] * XtX_inv
se = np.sqrt(np.diag(var_cov_matrix))
# Resultados
print("Coeficientes (beta_hat):")
print(beta_hat.flatten())
print("\nErrores estándar:")
print(se)
import matplotlib.pyplot as plt
plt.scatter(x, y, label='Datos', alpha=0.6)
plt.plot(x, Y_hat, color='red', label='Ajuste MCO')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Regresión lineal por MCO')
plt.legend()
plt.grid(True)
plt.show()Preguntas de repaso
A continuación encontrarás algunas preguntas conceptuales y computacionales para reforzar lo aprendido sobre el estimador de Mínimos Cuadrados Ordinarios (MCO). Puedes intentar resolverlas en papel o programando en R, Stata o Python.
6.3.10.1 Interpretación de coeficientes {-}
Suponga que ha estimado la siguiente regresión:
\[ \widehat{\text{salario}} = \beta_0 + \beta_1 \cdot \text{educación} \]
donde:
- salario = salario por hora (en pesos)
- educación = años de educación completados
Para cada uno de los siguientes coeficientes estimados, interprete el resultado en términos económicos:
- \(\hat{\beta}_1 = 2000\)
- \(\hat{\beta}_1 = 0\)
- \(\hat{\beta}_1 = -500\)
- \(\hat{\beta}_1 = 0.15\)
- \(\hat{\beta}_1 = 10\)
- \(\hat{\beta}_0 = 2500\)
6.3.10.2 Álgebra y transformaciones {-}
¿Qué ocurre con el estimador de MCO si multiplicamos la variable dependiente por una constante \(c\)? Demuestre usando la expresión matricial \(\hat{\beta} = (X'X)^{-1} X'y\).
¿Qué ocurre si multiplicamos una de las variables explicativas por una constante \(c\)? ¿Qué sucede con el coeficiente estimado y con el resto de los coeficientes?
Si a la variable dependiente se le suma una constante, ¿qué ocurre con los estimadores?
Si todas las variables explicativas tienen media cero, ¿cuál es el valor estimado del intercepto? ¿Por qué?
6.3.10.3 Preguntas de programación {-}
Implemente una función en R que reciba dos vectores \(x\) e \(y\), y devuelva \(\hat{\beta}_0\), \(\hat{\beta}_1\) y los errores estándar, usando solo álgebra matricial.
En Stata, estime una regresión por MCO con
regy luego reproduzca todos los pasos usandomata. Compare los resultados y verifique que los residuos sean iguales.Escriba una función en Python que tome \(X\) e \(Y\) como matrices de NumPy y devuelva:
- \(\hat{\beta}\),
- la matriz de varianza-covarianza,
- los errores estándar,
- y el \(R^2\).
6.4 Apéndice: Derivación algebraica del estimador para regresión simple {-}
Partimos del modelo de regresión simple en forma matricial:
\[ y = X\beta + \varepsilon \]
Donde:
- \(y\) es un vector columna de dimensión \(n \times 1\),
- \(X\) es una matriz \(n \times 2\), con una columna de unos y una columna con la variable explicativa \(X_1\), es decir: \(X = [1 \;\; X_1]\),
- \(\varepsilon\) es el vector de perturbaciones,
- \(\beta\) es un vector \(2 \times 1\) con los parámetros a estimar.
El estimador de MCO es:
\[ \begin{bmatrix} \hat{\beta}_0 \\ \hat{\beta}_1 \end{bmatrix} = \underbrace{(X'X)^{-1}}_a \cdot \underbrace{X'y}_b \]
6.4.1 Cálculo de \(X'X\) {-}
\[ X'X = \begin{bmatrix} 1 & 1 & \cdots & 1 \\ X_{11} & X_{12} & \cdots & X_{1n} \end{bmatrix} \begin{bmatrix} 1 & X_{11} \\ 1 & X_{12} \\ \vdots & \vdots \\ 1 & X_{1n} \end{bmatrix} = \begin{bmatrix} n & \sum X_{1i} \\ \sum X_{1i} & \sum X_{1i}^2 \end{bmatrix} \]
Su inversa es:
\[ (X'X)^{-1} = \frac{1}{n \sum X_{1i}^2 - (\sum X_{1i})^2} \begin{bmatrix} \sum X_{1i}^2 & -\sum X_{1i} \\ -\sum X_{1i} & n \end{bmatrix} \]
6.4.2 Cálculo de \(X'y\) {-}
\[ X'y = \begin{bmatrix} 1 & 1 & \cdots & 1 \\ X_{11} & X_{12} & \cdots & X_{1n} \end{bmatrix} \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} \sum y_i \\ \sum X_{1i} y_i \end{bmatrix} \]
Producto final
Sustituyendo en la fórmula del estimador:
\[ \begin{aligned} \begin{bmatrix} \hat{\beta}_0 \\ \hat{\beta}_1 \end{bmatrix} &= \frac{1}{n \sum X_{1i}^2 - (\sum X_{1i})^2} \begin{bmatrix} \sum X_{1i}^2 & -\sum X_{1i} \\ -\sum X_{1i} & n \end{bmatrix} \begin{bmatrix} \sum y_i \\ \sum X_{1i} y_i \end{bmatrix} \\ &= \frac{1}{n \sum X_{1i}^2 - (\sum X_{1i})^2} \begin{bmatrix} \sum X_{1i}^2 \sum y_i - \sum X_{1i} \sum X_{1i} y_i \\ - \sum X_{1i} \sum y_i + n \sum X_{1i} y_i \end{bmatrix} \end{aligned} \]
Estimador de \(\hat{\beta}_1\)
\[ \begin{aligned} \hat{\beta}_1 &= \frac{-\sum X_{1i} \sum y_i + n \sum X_{1i} y_i}{n \sum X_{1i}^2 - (\sum X_{1i})^2} \\ &= \frac{\sum (X_{1i} - \bar{X}_1)(y_i - \bar{y})}{\sum (X_{1i} - \bar{X}_1)^2} \end{aligned} \]
Estimador de \(\hat{\beta}_0\)
\[ \hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{X}_1 \]