Sesión 14 (D) — La matriz de regresores en la práctica: verificación con datos simulados
Índice
- Descripción de la práctica
- Actividad 1 - Datos simulados: un caso general, no ortogonal
- Actividad 2 - La matriz de regresores y las ecuaciones normales
- Actividad 3 - Las dos lecturas de la ortogonalidad: \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}\) y \(\boldsymbol{\mathop{\widehat{e}}}\boldsymbol{\mathsf{X}}\)
- Actividad 4 - Familia ortogonal: el mismo experimento, cambiando una sola cosa
- Actividad 5 - Cada coeficiente por separado: la familia ortogonal en acción
- Actividad 6 - El caso contrario: colinealidad exacta
- Actividad 7 - Síntesis
- Preguntas de interpretación para la clase
- Código completo de la práctica
- Respuestas
Descripción de la práctica
Cerramos la sesión de regresión múltiple volviendo, por primera vez con Gretl, sobre la notación matricial de la lección 10: la matriz de datos \(\boldsymbol{\mathsf{X}}\), las ecuaciones normales \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}}\boldsymbol{\mathop{\widehat{\beta}}}=\boldsymbol{\mathsf{X}}^\top\boldsymbol{y}\), y la condición de ortogonalidad \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}=\boldsymbol{0}\). Trabajamos con datos simulados porque ahora no queremos interpretar ningún fenómeno económico; queremos verificar que la maquinaria algebraica de la lección 10 funciona exactamente como se demostró: primero en un caso general, y después en el caso especial de regresores mutuamente ortogonales (``familia ortogonal''), donde cada coeficiente se puede calcular de forma aislada.
Objetivo
- Construir explícitamente, con el comando
matrixde Gretl, la matriz de datos \(\boldsymbol{\mathsf{X}}\) de un modelo con dos regresores no constantes. - Calcular \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}}\) y \(\boldsymbol{\mathop{\widehat{\beta}}}=(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}})^{-1}\boldsymbol{\mathsf{X}}^\top\boldsymbol{y}\), comparando el resultado con el que da
olsdirectamente. - Verificar \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}=\boldsymbol{0}\), en sus dos lecturas (matriz por vector y vector por matriz).
- Construir un caso de familia ortogonal (regresores mutuamente ortogonales) y comprobar que cada \(\hat\beta_j\) se puede calcular de forma aislada, sin resolver ningún sistema.
- Verificar, en ese mismo caso, que \(R^2=\rho_{\boldsymbol{z}_2\boldsymbol{y}}^2+\rho_{\boldsymbol{z}_3\boldsymbol{y}}^2\).
- Ver qué hace Gretl ante la situación contraria, la colinealidad exacta: dos regresores que son la misma variable en dos unidades.
Actividad 1 - Datos simulados: un caso general, no ortogonal
Generamos \(n=40\) observaciones con dos regresores no constantes, \(x_2\) y \(x_3\), deliberadamente correlacionados entre sí (para no caer, sin darnos cuenta, en el caso especial de la Actividad 4).
en línea de comandos:
nulldata 40 --preserve set seed 97531 series x2 = uniform(0,10) series x3 = 0.6*x2 + normal(0,2) series u = normal(0,3) scalar b1 = 5 scalar b2 = 2 scalar b3 = -1 series y = b1 + b2*x2 + b3*x3 + u printf "Correlacion entre x2 y x3 = %.4f (no son ortogonales)\n", corr(x2,x3)
Recuerde la advertencia de siempre sobre los vectores de diseño: u es el vector que nosotros usamos para generar los datos; no debe confundirse con el vector de residuos \(\boldsymbol{\mathop{\widehat{e}}}\) que calculará más adelante MCO a partir de los datos simulados.
Actividad 2 - La matriz de regresores y las ecuaciones normales
Construimos explícitamente la matriz de datos \(\boldsymbol{\mathsf{X}}=[\boldsymbol{1};\;\boldsymbol{x}_2;\;\boldsymbol{x}_3]\) (lección 10) con el comando matrix de Gretl, a partir de una lista de series.
en línea de comandos:
list Xlist = const x2 x3
matrix X = { Xlist }
list ylist = y
matrix Y = { ylist }
matrix XtX = X'X
matrix XtY = X'Y
printf "Matriz X'X (3x3):\n"
print XtX
printf "\nVector X'y (3x1):\n"
print XtY
Matriz X'X (3x3):
XtX (3 x 3)
40,000 193,05 114,98
193,05 1290,6 715,42
114,98 715,42 612,46
Vector X'y (3x1):
XtY (3 x 1)
472,54
2881,9
1421,0
No pase de largo ante esa matriz: los apuntes de ``Ecuaciones normales'' afirman que cada elemento de \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}}\) es un producto escalar entre dos columnas de \(\boldsymbol{\mathsf{X}}\), y eso se puede comprobar aquí mismo, a ojo. El elemento \((1,1)\) es \(\langle\boldsymbol1,\boldsymbol1\rangle_e\), es decir, \(n\): debe valer \(40\), y vale \(40\). El elemento \((1,2)\) es \(\langle\boldsymbol1,\boldsymbol{x}_2\rangle_e=\sum_i x_{2i}=n\mu_{\boldsymbol{x}_2}\): divídalo entre \(40\) y obtendrá la media de x2. Lo mismo con el \((1,3)\) y la media de x3. La matriz no es una caja negra que Gretl produce; es la tabla de todos los productos escalares entre regresores, y la primera fila y la primera columna son, sencillamente, sumas.
Ahora resolvemos las ecuaciones normales usando la inversa —tal como aparece en la mayoría de los manuales (lección 10)— y comparamos el resultado con lo que da ols directamente.
en línea de comandos:
matrix beta_matricial = invpd(XtX)*XtY printf "beta calculado como (X'X)^(-1) X'y:\n" print beta_matricial ols y const x2 x3 --quiet matrix beta_ols = $coeff printf "\nbeta calculado por 'ols' de Gretl:\n" print beta_ols matrix diferencia = beta_matricial - beta_ols printf "\nDiferencia (debe ser practicamente cero):\n" print diferencia
beta calculado como (X'X)^(-1) X'y:
beta_matricial (3 x 1)
4,4307
2,1139
-0,98078
beta calculado por 'ols' de Gretl:
beta_ols (3 x 1)
4,4307
2,1139
-0,98078
Diferencia (debe ser practicamente cero):
diferencia (3 x 1)
2,6645e-15
4,4409e-16
-1,3323e-15
Recuerde la advertencia de la lección 10: esta fórmula con inversa EXISTE, y es lo que Gretl calcula ``por dentro'' al ejecutar ols; pero el camino conceptual del curso nunca ha sido, ni será, invertir una matriz: es siempre la condición de ortogonalidad \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}=\boldsymbol{0}\), que verificamos en la siguiente actividad.
Actividad 3 - Las dos lecturas de la ortogonalidad: \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}\) y \(\boldsymbol{\mathop{\widehat{e}}}\boldsymbol{\mathsf{X}}\)
Recuperamos el vector de residuos de la última regresión y verificamos que es ortogonal a las tres columnas de \(\boldsymbol{\mathsf{X}}\) simultáneamente, en sus dos lecturas equivalentes (lección 10, ``Transposición'').
en línea de comandos:
series ehat = $uhat
list elist = ehat
matrix E = { elist }
matrix XtE = X'E
printf "X'e (columna 3x1, debe ser (aprox.) el vector nulo):\n"
print XtE
matrix eX = E'X
printf "\ne*X (Gretl lo presenta como fila 1x3; mismos tres numeros):\n"
print eX
X'e (columna 3x1, debe ser (aprox.) el vector nulo): XtE (3 x 1) -1,5543e-13 5,7732e-13 -4,0945e-13 e*X (Gretl lo presenta como fila 1x3; mismos tres numeros): eX (1 x 3) -1,5543e-13 5,7732e-13 -4,0945e-13
Observe que XtE y eX contienen los mismos tres números: es exactamente la identidad \(\boldsymbol{\mathop{\widehat{e}}}\boldsymbol{\mathsf{X}}=\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}\) de la lección 10, comprobada aquí numéricamente.
Una advertencia sobre lo que ve en pantalla, para que no deshaga lo aprendido en la lección 10. Gretl presenta uno de los dos resultados ``en columna'' y el otro ``en fila'', y el guion ha tenido que escribir E'X —transponiendo lo que el curso llama un vector— porque el lenguaje matricial de Gretl no ofrece otra cosa: para Gretl un vector es una matriz de una sola fila o de una sola columna, y por tanto tiene orientación. Para nosotros no la tiene: un vector es una lista de coordenadas, y solo las matrices se transponen (lección 10, ``Transposición''; y la pregunta 2 del repaso de esa lección, que quizá acaba de responder). De hecho, el sentido de aquella transparencia es precisamente este: \(\boldsymbol{\mathop{\widehat e}}\boldsymbol{\mathsf{X}}\) no exige transponer \(\boldsymbol{\mathop{\widehat e}}\); la transposición recae sobre la matriz, no sobre el vector. Lo que ve en pantalla es una convención de Gretl, no un ingrediente del curso.
Actividad 4 - Familia ortogonal: el mismo experimento, cambiando una sola cosa
Vamos a construir ahora el caso especial de la transparencia ``Familia ortogonal''. Y vamos a construirlo con un cuidado que conviene explicitar, porque de él depende que la comparación signifique algo.
Podríamos inventarnos un mundo nuevo: otro tamaño muestral, otros coeficientes, otro nivel de ruido. Sería más fácil de escribir, pero no probaría nada: si cambiamos cinco cosas a la vez y el resultado cambia, no sabemos a cuál de las cinco atribuirlo. Así que haremos lo contrario: dejamos todo exactamente como en la Actividad 1 —las mismas \(n=40\) observaciones, los mismos \(\beta_1=5\), \(\beta_2=2\), \(\beta_3=-1\), y la misma perturbación \(\boldsymbol u\), sin volver a sortearla— y cambiamos una sola cosa: la correlación entre los dos regresores, que pasará de \(0{,}50\) a cero exacto.
Para conseguirlo no hace falta ningún truco nuevo, solo la proyección ortogonal de siempre: centramos \(\boldsymbol{x}_2\) para que tenga media nula, y a \(\boldsymbol{x}_3\) le quitamos su proyección sobre la constante y sobre \(\boldsymbol{z}_2\) —es decir, nos quedamos con sus /residuos/—. Por construcción (ecuaciones normales, lección 10), lo que queda es exactamente ortogonal a \(\boldsymbol1\) y a \(\boldsymbol{z}_2\).
en línea de comandos:
series z2 = x2 - mean(x2) # centrado: media nula ols x3 const z2 --quiet series z3 = $uhat # residuos: ortogonales a 1 y a z2 por construccion series yo = b1 + b2*z2 + b3*z3 + u # MISMOS beta, MISMA perturbacion u printf "media(z2) = %.10f (debe ser 0)\n", mean(z2) printf "media(z3) = %.10f (debe ser 0)\n", mean(z3) printf "suma(z2*z3) = %.10f (debe ser 0: ortogonalidad mutua)\n", sum(z2*z3) printf "corr(z2,z3) = %.10f (era 0,5046 entre x2 y x3)\n", corr(z2,z3)
media(z2) = 0,0000000000 (debe ser 0) media(z3) = -0,0000000000 (debe ser 0) suma(z2*z3) = 0,0000000000 (debe ser 0: ortogonalidad mutua) corr(z2,z3) = 0,0000000000 (era 0,5046 entre x2 y x3)
Observe que la ortogonalidad no es aproximada sino EXACTA: las cifras salen a cero hasta el décimo decimal. No es casualidad ni buena suerte con la semilla, sino consecuencia directa de las ecuaciones normales: el residuo de una regresión es siempre, por construcción, ortogonal a todos los regresores de esa regresión. Otra forma habitual de conseguir ortogonalidad exacta es un diseño factorial con valores \(\pm1\) —lo reencontraremos, con otro propósito, al estudiar variables dummy—, pero exigiría cambiar los datos, y aquí queremos justamente conservarlos.
Actividad 5 - Cada coeficiente por separado: la familia ortogonal en acción
Recordando la transparencia ``Familia ortogonal'' de la lección 10: si los regresores son mutuamente ortogonales, cada \(\hat\beta_j\) puede calcularse de forma aislada, sin resolver ningún sistema, con la misma fórmula de Cauchy–Schwarz de la lección 3; y además \(R^2\) se descompone como suma de correlaciones al cuadrado.
Vamos a comprobarlo, pero haciendo las dos cuentas en los dos escenarios: el general de la Actividad 1 y el ortogonal que acabamos de construir. Porque comprobar que la fórmula funciona donde debe funcionar solo es la mitad del experimento; la otra mitad es ver qué ocurre donde no debe.
en línea de comandos:
printf "================ CASO GENERAL (Actividad 1) ================\n" printf "correlacion entre los regresores = %.4f\n\n", corr(x2,x3) ols y const x2 x3 --quiet printf "beta2: conjunto = %10.6f aislado (cov/var) = %10.6f\n", $coeff(x2), cov(x2,y)/var(x2) printf "beta3: conjunto = %10.6f aislado (cov/var) = %10.6f\n", $coeff(x3), cov(x3,y)/var(x3) printf "R2 : conjunto = %10.6f suma de rho^2 = %10.6f\n", $rsq, corr(x2,y)^2 + corr(x3,y)^2 printf "\n================ CASO ORTOGONAL (Actividad 4) ==============\n" printf "correlacion entre los regresores = %.4f\n\n", corr(z2,z3) ols yo const z2 z3 --quiet printf "beta2: conjunto = %10.6f aislado (cov/var) = %10.6f\n", $coeff(z2), cov(z2,yo)/var(z2) printf "beta3: conjunto = %10.6f aislado (cov/var) = %10.6f\n", $coeff(z3), cov(z3,yo)/var(z3) printf "R2 : conjunto = %10.6f suma de rho^2 = %10.6f\n", $rsq, corr(z2,yo)^2 + corr(z3,yo)^2
================ CASO GENERAL (Actividad 1) ================ correlacion entre los regresores = 0,5046 beta2: conjunto = 2,113860 aislado (cov/var) = 1,675269 beta3: conjunto = -0,980779 aislado (cov/var) = 0,222597 R2 : conjunto = 0,771932 suma de rho^2 = 0,651820 ================ CASO ORTOGONAL (Actividad 4) ============== correlacion entre los regresores = 0,0000 beta2: conjunto = 2,122456 aislado (cov/var) = 2,122456 beta3: conjunto = -0,980779 aislado (cov/var) = -0,980779 R2 : conjunto = 0,835808 suma de rho^2 = 0,835808
Lo que debe observar
La salida tiene dos bloques, y hay que leerlos como las dos mitades de un mismo experimento. Recuerde que lo único que los separa es la correlación entre los regresores: mismo \(n\), mismos \(\beta\), misma perturbación.
En el bloque de abajo (ortogonal), las dos columnas coinciden en las tres filas. Cada coeficiente se puede calcular aislado, ignorando por completo al otro regresor, y sale el mismo número que da el modelo conjunto. Y \(R^2\) coincide con \(\rho^2_{\boldsymbol{z}_2\boldsymbol{y}}+\rho^2_{\boldsymbol{z}_3\boldsymbol{y}}\). Es lo que predice la lección 10.
En el bloque de arriba (general), ninguna de las tres filas coincide, y conviene mirarlas una a una:
- \(\hat\beta_2\): el modelo conjunto da \(2{,}11\); el cálculo aislado, \(1{,}68\). Un error de en torno al \(20\%\).
- \(\hat\beta_3\): el modelo conjunto da \(-0{,}98\) —muy cerca del valor verdadero, \(\beta_3=-1\)—, mientras que el cálculo aislado da \(+0{,}22\). No es que se equivoque en la magnitud: se equivoca en el signo. Quien calculase así concluiría que \(\boldsymbol{x}_3\) influye positivamente sobre \(\boldsymbol y\), cuando en el mundo que hemos fabricado influye negativamente.
- \(R^2\): el modelo conjunto da \(0{,}772\); la suma de correlaciones al cuadrado, \(0{,}652\).
Este segundo bloque es el que da sentido al primero. La transparencia ``Familia ortogonal'' no describe una simplificación cómoda que uno pueda usar siempre con un poco de cuidado: describe un caso excepcional, y fuera de él la fórmula no se degrada suavemente, sino que puede llegar a invertir una conclusión económica. Que en la Actividad 1 los regresores estuvieran correlacionados sólo a \(0{,}50\) —una correlación nada extrema para datos reales— basta para producir un cambio de signo.
Actividad 6 - El caso contrario: colinealidad exacta
La lección 10 puso un ejemplo de regresores linealmente dependientes: la temperatura de un mismo día en grados Celsius y en Fahrenheit, \(F=32+1{,}8\,C\). Cada una varía; juntas no aportan dos direcciones, sino una. Fabriquemos ese caso con los datos de la Actividad 1, tomando x2 como si fuera una temperatura en Celsius.
en línea de comandos:
series C = x2 # "temperatura" en Celsius
series F = 32 + 1.8*C # la misma temperatura, en Fahrenheit
printf "corr(C, F) = %.10f\n", corr(C, F)
list Xcol = const C F
matrix Xc = { Xcol }
printf "determinante de X'X con C y F = %g (una matriz invertible tiene determinante distinto de cero)\n", det(Xc'Xc)
ols y const C F
corr(C, F) = 1,0000000000
determinante de X'X con C y F = 0 (una matriz invertible tiene determinante distinto de cero)
Modelo 1: MCO, usando las observaciones 1-40
Variable dependiente: y
Omitidas debido a colinealidad exacta: F
coeficiente Desv. típica Estadístico t valor p
----------------------------------------------------------------
const 3,72826 1,15050 3,241 0,0025 ***
C 1,67527 0,202541 8,271 5,04e-10 ***
Media de la vble. dep. 11,81341 D.T. de la vble. dep. 6,338798
Suma de cuad. residuos 559,5827 D.T. de la regresión 3,837429
R-cuadrado 0,642903 R-cuadrado corregido 0,633506
F(1, 38) 68,41377 Valor p (de F) 5,04e-10
Log-verosimilitud -109,5238 Criterio de Akaike 223,0476
Criterio de Schwarz 226,4253 Crit. de Hannan-Quinn 224,2688
Lo que debe observar
La correlación entre C y F es exactamente \(1\): son el mismo vector en desviaciones, salvo escala. El determinante de \(\boldsymbol{\mathsf X}^\top\boldsymbol{\mathsf X}\) es nulo (o del orden del error de redondeo): la matriz no es invertible, y las ecuaciones normales tienen infinitas soluciones, como advertía la lección 10. Gretl no se detiene: detecta la dependencia, elimina uno de los dos regresores y lo dice en la salida. Es la respuesta razonable —el ajuste \(\boldsymbol{\mathop{\widehat y}}\) es único aunque los coeficientes no lo sean—, pero conviene saber que ha ocurrido: el coeficiente de C que queda ya no es ``el efecto de C manteniendo F fija'', porque fijar F es fijar C. En la lección 14 veremos el caso menos limpio y más frecuente: regresores casi alineados, que Gretl no elimina y que hacen inestables los coeficientes.
Actividad 7 - Síntesis
Hoy hemos verificado con Gretl la maquinaria matricial completa de la lección 10: (i) que \(\boldsymbol{\mathop{\widehat{\beta}}}=(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}})^{-1}\boldsymbol{\mathsf{X}}^\top\boldsymbol{y}\) coincide con lo que calcula ols, y que \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}=\boldsymbol{0}\) (que es lo mismo que \(\boldsymbol{\mathop{\widehat{e}}}\boldsymbol{\mathsf{X}}=\boldsymbol{0}\)); (ii) que con regresores mutuamente ortogonales cada coeficiente puede aislarse sin resolver ningún sistema, y \(R^2\) se descompone como suma de correlaciones al cuadrado.
Y lo hemos verificado de una manera concreta que conviene retener, porque vale para cualquier experimento y no solo para este: comparando dos escenarios que se diferencian en una sola cosa. Si el caso ortogonal hubiera traído consigo otro tamaño muestral, otros coeficientes y otro nivel de ruido, habríamos visto cambiar los números sin poder atribuir el cambio a la ortogonalidad. Al dejar fijo todo lo demás —incluida la perturbación—, la única explicación posible de la diferencia entre los dos bloques de la Actividad 5 es la que queríamos estudiar.
Preguntas de interpretación para la clase
- En la Actividad 2, ¿por qué la diferencia entre
beta_matricialybeta_olsno es cero, sino un número muy pequeño? - ¿Por qué necesitamos que
x2yx3estén correlacionados en la Actividad 1 para que el ejercicio tenga sentido pedagógico? ¿Qué habría pasado si, por descuido, hubieran resultado casi ortogonales? - En la Actividad 4, ¿por qué es importante que \(\boldsymbol{z}_2\) y \(\boldsymbol{z}_3\) tengan media exactamente cero, y no solo estén incorrelados?
- En la Actividad 5, el cálculo ``aislado'' \(\hat\beta_2\) (
cov(x2,y)/var(x2)) sobre los datos de la Actividad 1 (x2,x3, correlacionados) no coincide con el coeficiente dex2en el modelo conjuntools y const x2 x3, y el dex3ni siquiera tiene el mismo signo. ¿Por qué? - ¿Diría que el uso de la inversa \((\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathsf{X}})^{-1}\) en esta práctica contradice la advertencia de la lección 10 de que el curso ``nunca la usa como vía de razonamiento''? ¿Qué diferencia hay entre usarla para verificar una fórmula ya conocida y usarla como método para resolver MCO?
- En la Actividad 6, ¿por qué el ajuste \(\boldsymbol{\mathop{\widehat y}}\) es único aunque los coeficientes no lo sean? ¿Qué subespacio generan \(\boldsymbol 1\), \(\boldsymbol C\) y \(\boldsymbol F\)?
Para profundizar:
- Véase la lección 10 (lección 10) para la notación matricial completa, el operador selector y la transparencia ``Familia ortogonal''.
- Cottrell, A. y Lucchetti, R. (2023). Gretl User's Guide. Sección sobre construcción y operaciones con matrices a partir de listas de series.
Código completo de la práctica
| Enlace al guión: | S14-Prct-D-simulados-matricial.inp |
Respuestas
- ¿Por qué la diferencia no es cero? Por errores de redondeo en aritmética de coma flotante, la misma razón por la que \(\sum\hat e_i\) no era cero en las prácticas anteriores. Invertir una matriz \(3\times3\) y multiplicarla por otro vector implica varias operaciones aritméticas encadenadas, cada una con su pequeñísimo error de precisión; el resultado final coincide con el de
olshasta un margen del orden de \(10^{-10}\) o menor, que es indistinguible de cero a efectos prácticos. - ¿Por qué necesitamos correlación entre
x2yx3? Porque el objetivo pedagógico de la Actividad 1 es mostrar el caso general de la regresión múltiple, en el que resolver el sistema completo (o, equivalentemente, usar la matriz inversa) es imprescindible. Six2yx3hubieran resultado casi ortogonales por accidente, el ejercicio se habría parecido demasiado al caso especial de la Actividad 4, y no habría quedado clara la diferencia entre ``hay que resolver el sistema'' (caso general) y ``cada coeficiente se calcula aislado'' (familia ortogonal): precisamente el contraste que se explota, con toda intención, entre las Actividades 1-3 y las Actividades 4-5. - ¿Por qué la media exactamente nula, no solo la incorrelación? Porque la fórmula de la transparencia ``Familia ortogonal'' (lección 10) exige que \(\boldsymbol{1},\boldsymbol{z}_2,\boldsymbol{z}_3\) sean mutuamente ortogonales: no basta con que \(\boldsymbol{z}_2\perp\boldsymbol{z}_3\), hace falta además que cada uno de ellos sea ortogonal a la constante \(\boldsymbol{1}\), es decir, que tenga media cero. Sin esa condición, \(\hat\beta_1\) (el coeficiente de la constante) no sería, en general, la media de \(\boldsymbol{y}\), y las fórmulas aisladas de \(\hat\beta_2,\hat\beta_3\) como covarianza dividida por varianza dejarían de coincidir con los coeficientes del modelo conjunto.
- ¿Coincide el cálculo aislado con los datos de la Actividad 1? No, y ya no hace falta creerlo: la Actividad 5 lo calcula. La fórmula aislada \(\hat\beta_2=\sigma_{\boldsymbol{x}_2\boldsymbol{y}}/\sigma^2_{\boldsymbol{x}_2}\) solo reproduce el coeficiente del modelo conjunto cuando los regresores son mutuamente ortogonales. Con
x2yx3correlacionados, el cálculo aislado ignora la información compartida entre ambos y ``atribuye'' a uno parte de lo que corresponde al otro: \(\hat\beta_2\) pasa de \(2{,}11\) a \(1{,}68\), y \(\hat\beta_3\) —esto es lo llamativo— pasa de \(-0{,}98\) a \(+0{,}22\), cambiando de signo. Es el mismo fenómeno que se observó en la práctica de Ramanathan consqftybedrms, aquí con un mundo del que conocemos los coeficientes verdaderos y podemos por tanto ver quién acierta: el modelo conjunto (\(-0{,}98\) frente a \(\beta_3=-1\)). - ¿Contradice esta práctica la advertencia de la lección 10 sobre la inversa? No, y la distinción es importante. La advertencia de la lección 10 es que el curso nunca usa la inversa como vía de razonamiento para justificar por qué MCO funciona, ni como herramienta habitual de cálculo: el argumento conceptual sigue siendo, siempre, la condición de ortogonalidad \(\boldsymbol{\mathsf{X}}^\top\boldsymbol{\mathop{\widehat{e}}}=\boldsymbol{0}\). Aquí hemos usado la inversa una única vez, con un propósito muy distinto: verificar numéricamente que una fórmula ya demostrada por otro camino (las ecuaciones normales, obtenidas de la ortogonalidad) da, en efecto, el mismo resultado que
ols. Usarla como comprobación puntual de una fórmula ya justificada no es lo mismo que apoyarse en ella para explicar por qué MCO funciona. - Ajuste único, coeficientes no. \(\boldsymbol F=32\,\boldsymbol 1+1{,}8\,\boldsymbol C\) es combinación lineal de \(\boldsymbol 1\) y \(\boldsymbol C\), así que \(\mathcal L(\boldsymbol 1,\boldsymbol C,\boldsymbol F)=\mathcal L(\boldsymbol 1,\boldsymbol C)\): un plano, no un subespacio de dimensión tres. La proyección de \(\boldsymbol y\) sobre ese plano es única (es el punto más cercano), pero se puede escribir de infinitas maneras como combinación de tres generadores que solo aportan dos direcciones. Gretl elige una de esas maneras eliminando
F; cualquier otra daría el mismo \(\boldsymbol{\mathop{\widehat y}}\), los mismos residuos y el mismo \(R^2\).