El modelo lineal clásico es definido como
\[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon},\]
donde :
\(\mathbf{Y}\) es un vector de datos observables (variable respuesta);
\(\boldsymbol{\beta}\) es un vector desconocido de parámetros;
\(\mathbf{X}\) es la matriz de diseño;
\(\boldsymbol{\varepsilon}\) es el vector de errores aleatorios y \(\boldsymbol{\varepsilon}\sim N(\mathbf{0}, \sigma^2 \mathbf{I})\).
Hay muchas situaciones reales en las que estas suposiciones no son apropiadas. En algunos casos, el sistema de medición utilizado podría ser una fuente de variabilidad, y el error es proporcional a la cantidad medida. Otras veces esto ocurre cuando los errores están correlacionados.
Además, cuando la distribución subyacente es continua, pero asimétrica, como lognormal, gamma, etc., la varianza no es constante y, en muchos casos, la varianza es una función de la media.
Un punto importante es que la varianza constante está vinculada a la suposición de distribución normal para la respuesta.
En la presencia de heterocedasticidad la variancia de los errores será diferente para cada valor de \(X\) y los estimadores obtenidos usando mínimos cuadrados ordinarios aunque permanecen insesgados y consistentes dejan de ser eficientes (no presentan variancia mínima).
Sea nuestra regresión múltiple definido como: \[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon} \]
Nuestras suposiciones sobre el error fue definido en (S3)-(S4) en la que: \[ \mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) = \mathbb{E}\left(\boldsymbol{\varepsilon} \boldsymbol{\varepsilon}^\top \right) = \sigma^2_\epsilon \mathbf{I} \]
Sin embargo, a veces la matriz de varianza-covarianza de los residuos \(\mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) \neq \sigma^2_\epsilon \mathbf{I}\).
Examinaremos cómo este cambio afecta la estimación de parámetros, así como las posibles soluciones para tales casos.
Considere el siguiente modelo: \[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}, \quad \mathbb{E} \left( \boldsymbol{\varepsilon} | \mathbf{X}\right) = \boldsymbol{0}, \] \[ \mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) = \mathbb{E} \left( \boldsymbol{\varepsilon} \boldsymbol{\varepsilon}^\top \right)= \boldsymbol{\Sigma} = \sigma_\epsilon^2 \mathbf{\Omega} \] donde \(\boldsymbol{\Omega}\) es una matriz simétrica y definida positiva \(N \times N\). Este modelo permite que los errores sean heterocedásticos o autocorrelacionados (o ambos).
Si \(\mathbf{\Omega} = \mathbf{I}\), entonces el RLMG es simplemente el modelo de regresión lineal múltiple simple que ya ha sido visto en clase.
Si \(\mathbf{\Omega}\) es diagonal con elementos diagonales no constantes, entonces los términos de error no están correlacionados pero son heterocedásticos.
Si \(\mathbf{\Omega}\) no es diagonal entonces \(\mathbb{C}{\rm ov} (\epsilon_i, \epsilon_j) = \Omega_{i,j} \neq 0\) para algún \(i \neq j\). En econometría, las matrices de covarianza no diagonales se encuentran más comúnmente en datos de series de tiempo.
Si \(\mathbf{\Omega}\) no es diagonal y los elementos diagonales son constantes, entonces los errores son autocorrelacionados y homocedásticos.
Si \(\mathbf{\Omega}\) no es diagonal y los elementos diagonales no son constantes, entonces los errores son autocorrelacionados y heterocedásticos.
Dado que el estimador MCO se puede expresar como: \[ \widehat{\boldsymbol{\beta}}_{MCO} = \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \mathbf{Y} \] entonces:
Son inválidos ya que, en general, \(\widehat{\sigma}^2_{MCO}\) es un estimador sesgado e inconsistente de \(\sigma^2\) para RLMG. Como consecuencia \(\widehat{\mathbb{V}{\rm ar}}\left( \widehat{\boldsymbol{\beta}}_{MCO} \right)\) son también sesgados e inconsistentes.
Sea \(\mathbf{\Omega}^{-1} = \mathbf{\Psi} \mathbf{\Psi}^\top\) y \(\mathbf{Y}^* = \mathbf{X}^* \boldsymbol{\beta} + \boldsymbol{\varepsilon}^*\), donde \(\mathbf{Y}^* = \mathbf{\Psi}^\top \mathbf{Y}\), \(\mathbf{X}^* = \mathbf{\Psi}^\top\mathbf{X}\) y \(\boldsymbol{\varepsilon}^* =\mathbf{\Psi}^\top\boldsymbol{\varepsilon}\).
Entonces el estimador de MCG de \(\boldsymbol{\beta}\) es: \[ \widehat{\boldsymbol{\beta}}_{MCG} = \left( \mathbf{X}^{*\top} \mathbf{X}^* \right)^{-1} \mathbf{X}^{*\top} \mathbf{Y}^* = \left( \mathbf{X}^\top \mathbf{\Omega}^{-1} \mathbf{X}\right)^{-1} \mathbf{X}^\top \mathbf{\Omega}^{-1} \mathbf{Y} \]
\[ \widehat{\sigma}^2 = \dfrac{1}{N-(k+1)} \left( \mathbf{Y} - \mathbf{X} \widehat{\boldsymbol{\beta}}_{GLS}\right)^\top \mathbf{\Omega}^{-1} \left( \mathbf{Y} - \mathbf{X}\widehat{\boldsymbol{\beta}}_{GLS}\right) \]
Debido a nuestro modelo RLMG convenientemente escrito \(\mathbf{Y}^* = \mathbf{X}^* \boldsymbol{\beta} + \boldsymbol{\varepsilon}^*\). Las siguientes propiedades del MCG pueden derivarse siguiendo los mismos principios que en el caso de MCO:
El MCG es un estimador insesgado: \[ \mathbb{E} \left( \widehat{\boldsymbol{\beta}}_{MCG} \right) = \boldsymbol{\beta} + \left( \mathbf{X}^{*\top} \mathbf{X}^* \right)^{-1} \mathbf{X}^{*\top} \mathbb{E} \left(\boldsymbol{\varepsilon}^* \right) = \boldsymbol{\beta} \]
La matriz de varianza-covarianza del MCG es: \[ \begin{aligned} \mathbb{V}{\rm ar} \left( \widehat{\boldsymbol{\beta}}_{MCG} \right) = \sigma^2 \left( \mathbf{X}^{*\top} \mathbf{X}^* \right)^{-1} = \sigma^2 \left( \mathbf{X}^\top \mathbf{\Psi} \mathbf{\Psi}^\top\mathbf{X} \right)^{-1} = \sigma^2 \left( \mathbf{X}^\top \mathbf{\Omega}^{-1} \mathbf{X} \right)^{-1} \end{aligned} \]
Si los errores se distribuyen normalmente, entonces: \[ \widehat{\boldsymbol{\beta}}_{MCG} | \mathbf{X} \sim \mathcal{N} \left(\boldsymbol{\beta},\ \sigma^2 \left( \mathbf{X}^\top \mathbf{\Omega}^{-1} \mathbf{X} \right)^{-1}\right) \] \(\widehat{\sigma}^2\) es insesgado y consistente.
El estimador MCG es BLUE para el RLMG. En consecuencia, para el RLMG, el estimador de MCO es ineficiente.
Es particularmente sencillo obtener estimaciones de MCG, cuando los errores son heterocedásticos pero no correlacionados, ya que esto implica que la matriz \(\mathbf{\Omega}\) sea diagonal, con elementos diagonales no constantes: \[ \mathbf{\Omega} = \begin{bmatrix} \omega_1^2 & 0 & 0 &... & 0\\ 0 & \omega_2^2 & 0 & ... &0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & ... & \omega_N^2 \end{bmatrix} \iff \mathbf{\Omega}^{-1} = \begin{bmatrix} \omega_1^{-2} & 0 & 0 &... & 0\\ 0 & \omega_2^{-2} & 0 & ... &0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & ... & \omega_N^{-2} \end{bmatrix} \]
Entonces, si seleccionamos matriz \(\mathbf{\Psi}\) como: \[ \mathbf{\Psi} = \begin{bmatrix} \omega_1^{-1} & 0 & 0 &... & 0\\ 0 & \omega_2^{-1} & 0 & ... &0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & ... & \omega_N^{-1} \end{bmatrix} \]
\[ Y_i / \omega_i = \beta_0 \cdot(1/\omega_i) + \beta_1 \cdot(X_{1,i} / \omega_i) + ... +\\ \beta_k \cdot(X_{k,i}/ \omega_i) + \epsilon_i/\omega_i \]
En la práctica, la verdadera forma de \(\mathbf{\Omega}\) es desconocido.
Incluso en el caso más simple de \(\mathbf{\Omega} = \text{diag} \left( \omega_1^2, ..., \omega_N^2 \right)\), necesitaríamos estimar un total de \(k+1 + N\) parámetros (\(\beta_0,...,\beta_k\) y \(\omega_1^2, ..., \omega_N^2\)), lo cual es imposible ya que solo tenemos \(N\) observaciones (y una regla empírica dice que necesitaríamos un mínimo de 5 a 20 observaciones por parámetro para obtener estimaciones satisfactorias de \(\boldsymbol{\beta}\)).
Por lo tanto, debemos asumir algunas condiciones simplificadoras para \(\mathbf{\Omega}\). Por ejemplo, si \(\mathbf{\Omega}\) es diagonal, supongamos que \(\omega_i^2 = \alpha_0 + \alpha_1 X_{m,i}\) para algunos \(m = 1,...,k\), ahora solo necesitamos estimar dos parámetros adicionales.
El caso, donde usamos una matriz estimada \(\widehat{\mathbf{\Omega}}\), se conoce como mínimos cuadrados generalizados factibles (o estimables) (MCGF). Los estimadores tienen buenas propiedades en muestras grandes.
En consecuencia, utilizando la matriz estimada de \(\mathbf{\Omega}\) da como resultado el siguiente estimador MCGF:
El estimador MCGF se define como: \[ \widehat{\boldsymbol{\beta}}_{MCGF} = \left( \mathbf{X}^\top \widehat{\mathbf{\Omega}}^{-1} \mathbf{X}\right)^{-1} \mathbf{X}^\top \widehat{\mathbf{\Omega}}^{-1} \mathbf{Y} \] donde \(\widehat{\mathbf{\Omega}} = \widehat{\mathbf{\Omega}}(\boldsymbol{\theta})\) es una estimación paramétrica (con vector de parámetro \(\boldsymbol{\theta}\)) de la verdadera matriz desconocida \(\mathbf{\Omega}\).
Dado que estamos usando el siguiente modelo: \(\mathbf{Y}^* = \mathbf{X}^* \boldsymbol{\beta} + \boldsymbol{\varepsilon}^*,\) donde \(\mathbf{Y}^* = \mathbf{\Psi}^\top \mathbf{Y},\quad\) \(\mathbf{X}^* = \mathbf{\Psi}^\top\mathbf{X}, \quad \boldsymbol{\varepsilon}^* = \mathbf{\Psi}^\top\boldsymbol{\varepsilon}\) para estimar \(\widehat{\boldsymbol{\beta}}\) con MCG (o MCGF), entonces los valores predichos son: \[ \begin{aligned} \widehat{\mathbf{Y}^*} &= \mathbf{X}^* \widehat{\boldsymbol{\beta}}_{MCG} \\ &= \mathbf{\Psi}^\top \mathbf{X} \widehat{\boldsymbol{\beta}}_{MCG}\quad \left(i.e.\ = \mathbf{\Psi}^\top \widehat{\mathbf{Y}} \right) \end{aligned} \]
En otras palabras, multiplicando ambos lados por \(\left(\mathbf{\Psi}^\top\right)^{-1}\) tenemos: \[ \begin{aligned} \left(\mathbf{\Psi}^\top\right)^{-1}\widehat{\mathbf{Y}^*} &= \mathbf{X} \widehat{\boldsymbol{\beta}}_{MCG} = \widehat{\mathbf{Y}} \end{aligned} \]
Si tuviéramos que usar \(\mathbf{X}^*\) para calcular los valores ajustados / predichos, necesitaríamos multiplicar los valores ajustados \(\widehat{\mathbf{Y}^*}\) por \(\left(\mathbf{\Psi}^\top\right)^{-1}\) para obtener los valores ajustados para los datos originales \(\widehat{\mathbf{Y}}\). Alternativamente, esta expresión también significa que podemos usar la matriz de diseño original \(\mathbf{X}\) con las estimaciones MCG de \(\boldsymbol{\beta}\) para obtener los valores ajustados/predichos de \(\mathbf{Y}\). En otras palabras:
Considere el caso donde la suposición (S3) no se sostiene, pero el supuesto (S4) (y los otros supuestos restantes (S1), (S2), (S5) y (S6)) son también válidos. Entonces podemos escribir el siguiente modelo como: \[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}, \quad \mathbb{E} \left( \boldsymbol{\varepsilon} | \mathbf{X}\right) = \boldsymbol{0},\quad \mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) = \mathbb{E} \left( \boldsymbol{\varepsilon} \boldsymbol{\varepsilon}^\top \right)= \mathbf{\Sigma} \neq \sigma_\epsilon^2 \mathbf{I} \]
El caso cuando la matriz de error de varianza-covarianza es diagonal, pero no igual a \(\sigma_\epsilon^2 \mathbf{I}\), expresado como: \[ \mathbf{\Sigma}= \begin{bmatrix} \sigma_1^2 & 0 & 0 & ... & 0\\ 0 & \sigma^2_2 & 0 & ... & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & ... & \sigma^2_N \end{bmatrix} \] es referido como heterocedasticidad
Los estimadores de MCO permanecerán insesgados;
El estimador de la varianza de MCO es sesgado e inconsistente;
La estadística-\(t\) habitual de las estimaciones de MCO no tienen la distribución \(t\) de Student, incluso en muestras grandes.
La estrategia es la siguiente:
Asumir que \(\mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}\) es el verdadero modelo. Pruebe la hipótesis nula de que los residuos son homocedásticos: \[ H_0: \mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) = \sigma_\epsilon^2 \mathbf{I} \]
Simularemos el siguiente modelo: \[ \begin{aligned} Y_{i} &= \beta_0 + \beta_1 X_{1,i} + \beta_2 X_{2,i} + u_i\\ u_i &= {i} \cdot \epsilon_i,\quad \epsilon_i \sim \mathcal{N}(0, \sigma^2) \quad \left[\text{ o } u_i \sim \mathcal{N}(0, i^2 \cdot \sigma^2) \right] \end{aligned} \]
Podemos examinar la presencia de heterocedasticidad a partir de los gráficos de residuos, así como realizar una serie de pruebas formales.
Comenzaremos estimando nuestro modelo a través de MCO, como lo haríamos habitualmente.
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 28.42373 -0.03134 0.97503
## x1 7.21929 5.93429 1.21654 0.22524
## x2 -1.83213 2.18885 -0.83703 0.40359
Una forma de investigar la existencia de heterocedasticidad es examinar visualmente los residuos del modelo MCO.
Si son homocedásticos, no debe haber patrón en los residuos. Si los errores son heterocedásticos, mostrarían una variación creciente o decreciente de alguna manera sistemática. Por ejemplo, la variación puede aumentar con valores mayores de \(\widehat {Y}\), o con valores mayores de \(X_ {j}\).
Esta prueba está diseñada para el caso en el que tenemos dos submuestras con varianzas posiblemente diferentes. Las submuestras se pueden crear de varias formas:
Sea las submuestras \(j = 1,2\) contenidas en las \(N_j\) observaciones y sea la regresión en la sub-muestra \(j\) tienen \(k_j + 1\) parámetros (incluyendo el intercepto).
Sea \(\widehat{\boldsymbol{\varepsilon}}_j\) los residuos de la regresión en la \(j\)-ésima submuestra y sea el valor verdadero de la varianza de los errores de la sub-muestra como \(\sigma^2_j\).
Entonces, la varianza de la submuestra se puede estimar mediante: \[ \widehat{\sigma}^2_j = \dfrac{\widehat{\boldsymbol{\varepsilon}}_j^\top\widehat{\boldsymbol{\varepsilon}}_j}{N_j - (k_j + 1)} \]
Queremos probar la hipótesis: \[ \begin{cases} H_0: \widehat{\sigma}_1^2 / \widehat{\sigma}_2^2 = 1\\ H_1: \widehat{\sigma}_1^2 / \widehat{\sigma}_2^2 \neq 1 \end{cases} \]
Entonces, la estadística GQ se puede definir como: \[ GQ = \dfrac{\widehat{\sigma}^2_1}{\widehat{\sigma}^2_2} \sim F_{(N_1 - (k_1 + 1), N_2 - (k_2 + 1))} \]
Si rechazamos la hipótesis nula, para un nivel de significancia elegido \(\alpha\), entonces las varianzas en las submuestras son diferentes, por lo que concluimos que los residuos son heterocedásticos.
##
## Goldfeld-Quandt test
##
## data: mdl_1
## GQ = 10.217, df1 = 97, df2 = 97, p-value < 2.2e-16
## alternative hypothesis: variance changes from segment 1 to 2
dado que el \(p\)-valor es menor que 0.05, rechazamos la hipótesis nula y concluimos que los residuos son heterocedásticos. Además, podemos ordenar por los valores ajustados:
GQ_t <- lmtest::gqtest(mdl_1, alternative = "two.sided", order.by = order(mdl_1$fitted.values))
print(GQ_t)##
## Goldfeld-Quandt test
##
## data: mdl_1
## GQ = 5.7826, df1 = 97, df2 = 97, p-value = 3.736e-16
## alternative hypothesis: variance changes from segment 1 to 2
##
## Goldfeld-Quandt test
##
## data: mdl_1
## GQ = 1.1747, df1 = 97, df2 = 97, p-value = 0.4292
## alternative hypothesis: variance changes from segment 1 to 2
De forma predeterminada, si no se especifica order.by,
los datos se toman como ordenados, es decir, serían el equivalente a lo
obtenido en el gráfico de residuos que se titula “Run-Sequence Plot”
No tendríamos motivos para rechazar la hipótesis nula y habríamos concluido que los errores son homocedásticos. Es por eso que las gráficas de residuos son importantes. Sin ellos, podríamos haber seleccionado ciegamente una variable explicativa al azar para ordenarla, ¡y habríamos llegado a una conclusión completamente diferente!
Considere la siguiente regresión: \[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon} \]
Suponemos que la expresión general para la varianza condicional se puede expresar como: \[ \mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{Z} \right) = \mathbb{E} \left( \boldsymbol{\varepsilon} \boldsymbol{\varepsilon}^\top | \mathbf{Z}\right) = \text{diag}\left( h\left( \mathbf{Z} \boldsymbol{\alpha}\right) \right) \] donde \(\mathbf{Z}\) es una matriz de variables explicativas, que puede incluir algunas (o todas) de las variables explicativas de \(\mathbf{X}\). \(h(\cdot)\) es una función de suavización, y \(\boldsymbol{\alpha} = \left[ \alpha_0, ..., \alpha_m \right]^\top\).
Queremos probar la hipótesis:
\[\begin{cases} H_0: \alpha_1 = ... = \alpha_m = 0\\ H_1: \text{al menos un}\, \alpha_j \neq 0,\ j \in \{1,...,m\} \end{cases} \]
Luego, la prueba de BP asociada, especifica el siguiente modelo lineal para los residuos al cuadrado: \[ \widehat{\boldsymbol{\varepsilon}} \widehat{\boldsymbol{\varepsilon}}^\top = \text{diag}\left( \mathbf{Z} \boldsymbol{\alpha} + \boldsymbol{v} \right) \]
La estimación del modelo de residuos al cuadrado mediante MCO produce las estimaciones de los parámetros. Entonces, usando la prueba-\(F\) para la significancia conjunta de \(\alpha_1,...,\alpha_m\) sería equivalente a probar la homocedasticidad.
Alternativamente, y más convenientemente, existe una prueba basada en el \(R^2_{\widehat{\epsilon}}\): \[ LM = N \times R^2_{\widehat{\epsilon}} \sim \chi^2_{m} \] Si rechazamos la hipótesis nula, para un nivel de significancia elegido \(\alpha\), entonces la varianza del error es heterocedástica.
##
## studentized Breusch-Pagan test
##
## data: mdl_1
## BP = 35.896, df = 2, p-value = 1.604e-08
Los residuos de una regresión al cuadrado asociados al MCO es similar al caso general: \[ \widehat{\boldsymbol{\varepsilon}} \widehat{\boldsymbol{\varepsilon}}^\top = \text{diag}\left( \mathbf{Z} \boldsymbol{\alpha} + \boldsymbol{v} \right) \] excepto que ahora, la matriz \(\mathbf{Z}\) también incluye \(s\) polinomios adicionales y términos de interacción de las variables explicativas. El vector de parámetro es \(\alpha_1,...,\alpha_{m+s}\). Queremos probar la hipótesis nula: \[ \begin{cases} H_0: \alpha_1 = ... = \alpha_{m+s} = 0\\ H_1: \text{al menos un}\, \alpha_j \neq 0,\ j \in \{1,...,m+s\} \end{cases} \]
La estadística de prueba se calcula de la misma manera que antes: \[ LM = N \times R^2_{\widehat{\epsilon}} \sim \chi^2_{m+s} \] Una dificultad con la prueba de White es que puede detectar problemas distintos a la heterocedasticidad.
Por lo tanto, si bien es un diagnóstico útil, tenga cuidado al interpretar el resultado de la prueba; en lugar de heterocedasticidad, puede ser que tenga una forma funcional incorrecta o una variable omitida.
##
## studentized Breusch-Pagan test
##
## data: mdl_1
## BP = 43.195, df = 5, p-value = 3.373e-08
nuevamente rechazamos la hipótesis nula de homocedasticidad y concluimos que los residuos son heterocedásticos.
Una vez que hemos determinado que los errores son heterocedásticos, queremos tener una forma de explicarlo. Una alternativa es ceñirse a las estimaciones de MCO, pero corregir su varianza.
Esto se conoce como la corrección de White. No cambiará el \(\widehat {\boldsymbol {\beta}} _ {MCO}\), que es no sesgado e inconsistente, pero corregirá \(\widehat {\mathbb {V}{\rm ar}} \left(\widehat {\boldsymbol {\beta}} _ {MCO} \right)\).
Si los errores \(\boldsymbol{\varepsilon}\) son independientes, pero tienen distintas variaciones, de modo que \(\mathbb{V}{\rm ar}\left( \boldsymbol{\varepsilon} | \mathbf{X} \right) = \mathbf{\Sigma} = \text{diag}(\sigma_1^2,...,\sigma_N^2)\).
Entonces, la verdadera matriz de varianza-covarianza asociada a las estimaciones de MCO sería: \[ \mathbb{V} \left( \widehat{\boldsymbol{\beta}}_{MCO} \right)= \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \mathbf{\Sigma}\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \]
Desde que \(\mathbb{E} (\epsilon_i) = 0\), entonces \(\mathbb{V}{\rm ar}(\epsilon_i) = \mathbb{E} (\epsilon_i^2) = \sigma_i^2\). Lo que significa que podemos estimar los elementos de la diagonal de varianza como: \[ \widehat{\sigma}^2_i = \widehat{\epsilon}_i^2 \]
Sea \(\widehat{\mathbf{\Sigma}} = \text{diag}(\widehat{\epsilon}_1^2,...,\widehat{\epsilon}_N^2)\).
Así los estimadores de White, también conocido como estimador consistente con heterocedasticidad (HCE), se pueden especificar como: \[ \mathbb{V}_{HCE} \left( \widehat{\boldsymbol{\beta}}_{MCO} \right) = \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \widehat{\mathbf{\Sigma}}\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \]
Además, también son posibles especificaciones alternativas de \(\widehat {\mathbf{\Sigma}}\).
xtx_inv <- solve(t(x_mat) %*% x_mat)
V_HC <- xtx_inv %*% t(x_mat) %*% diag(mdl_1$residuals^2) %*% x_mat %*% xtx_inv
print(V_HC)## x1 x2
## 693.25117 -91.740409 -52.244062
## x1 -91.74041 46.570134 2.341761
## x2 -52.24406 2.341761 4.749053
o, a través de las funciones integradas:
## (Intercept) x1 x2
## (Intercept) 693.25117 -91.740409 -52.244062
## x1 -91.74041 46.570134 2.341761
## x2 -52.24406 2.341761 4.749053
Haber estimado los errores estándar es bueno, pero también nos gustaría obtener los \(p\)-valores asociados como se muestra a continuación.
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.32966 -0.0338 0.9730
## x1 7.21929 6.82423 1.0579 0.2914
## x2 -1.83213 2.17923 -0.8407 0.4015
en comparación con los errores estándar sesgados:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.8906595 28.423734 -0.03133506 0.9750341
## x1 7.2192910 5.934290 1.21653830 0.2252355
## x2 -1.8321252 2.188846 -0.83702804 0.4035910
Vemos que después de corregir los errores estándar, los \(p\)-valores también son ligeramente diferentes. El alcance de la diferencia depende de la gravedad de la heterocedasticidad y del método utilizado para corregirla.
Si bien la varianza corregida estimada nos ayuda a evitar estadísticas-\(t\) incorrectas (así como a evitar intervalos de confianza incorrectos) en caso de heterocedasticidad, no aborda el problema de que las estimaciones de MCO ya no son las mejores (en términos de varianza) .
Si tenemos una gran cantidad de observaciones (es decir, miles y miles), entonces los errores estándar corregidos robustos son suficientes. Por otro lado, si tenemos un tamaño de muestra más pequeño, entonces nos gustaría tener un estimador más eficiente; aquí es donde nuestros MCG y MCGF presentados anteriormente son útiles.
En (Hayes y Cai 2007) se presenta un buen resumen sobre especificaciones alternativas de HCE. En la literatura se han propuesto varias especificaciones \(\widehat {\mathbf {\Sigma}}\) alternativas. Aquí los resumiremos brevemente.
Tomando \(\widehat{\mathbf{\Sigma}} = \text{diag}(\widehat{\epsilon}_1^2,...,\widehat{\epsilon}_N^2)\), donde \(\epsilon_i\) son los residuos de MCO, conduce al siguiente HCE de White: \[ \text{HC0}_{\widehat{\boldsymbol{\beta}}_{MCO}} = \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \text{diag}(\widehat{\epsilon}_1^2,...,\widehat{\epsilon}_N^2)\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \] - para tamaños de muestra pequeños, los errores estándar de \(\text{HC0}_{\widehat{\boldsymbol{\beta}}_{MCO}}\) son bastante sesgadas. Esto da como resultado inferencias excesivamente liberales en los modelos de regresión.
Los estimadores de esta familia se conocen como estimadores sándwich: \(\mathbf{X}^\top \widehat{\mathbf{\Sigma}} \mathbf{X}\) es el que se encuentra entre dos matrices \(\left( \mathbf{X}^\top \mathbf{X}\right)^{-1}\).
En consecuencia, estimadores alternativos a \(\text{HC0}_{\widehat{\boldsymbol{\beta}}_{MCO}}\) fueron propuestos, que son asintóticamente equivalentes a \(\text{HC0}_{\widehat{\boldsymbol{\beta}}_{MCO}}\), pero tienen propiedades superiores para muestras pequeñas, en comparación con \(\text{HC0}_{\widehat{\boldsymbol{\beta}}_{MCO}}\).
\[\text{HC1}_{\widehat{\boldsymbol{\beta}}_{MCO}} = \dfrac{N}{N-(k+1)}\left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \text{diag}(\widehat{\epsilon}_1^2,...,\widehat{\epsilon}_N^2)\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \]
Otro estimador de HC se define en base a una extensa investigación, que el sesgo de una muestra finita es el resultado de la existencia de puntos de alto apalancamiento (leverage). Utiliza la matriz de peso, que se define como: \[ \mathbf{H} = \mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X} ^\top \]
\[ \text{HC3}_{\widehat{\boldsymbol{\beta}}_{MCO}} = \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \text{diag}\left(\dfrac{\widehat{\epsilon}_1^2}{(1 - h_{11})^2},...,\dfrac{\widehat{\epsilon}_N^2}{(1 - h_{NN})^2} \right)\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \]
Al evaluar el poder empírico de los cuatro métodos: \(\text {HC0, HC1, HC2 y HC3}\) sugirió que \(\text{HC3}\) es una estimación superior, independientemente de la presencia o ausencia de heterocedasticidad .
Sin embargo, el rendimiento de \(\text {HC3}\) depende de la presencia o ausencia de puntos de alto apalancamiento en \(\mathbf{X}\) y puede fallar para ciertas formas de heterocedasticidad (por ejemplo, cuando los predictores son de distribuciones de cola pesada y los errores son de distribuciones de cola ligera).
\[ \text{HC4}_{\widehat{\boldsymbol{\beta}}_{MCO}} = \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \mathbf{X}^\top \text{diag}\left(\dfrac{\widehat{\epsilon}_1^2}{(1 - h_{11})^{\delta_1}},...,\dfrac{\widehat{\epsilon}_N^2}{(1 - h_{NN})^{\delta_N}} \right)\mathbf{X} \left( \mathbf{X}^\top \mathbf{X}\right)^{-1} \]
donde: \[ \delta_i = \min\left \{4, \dfrac{N \cdot h_{ii}}{k+1} \right \} \] Las pruebas de simulación indicaron que \(\text{HC4}\) puede superar \(\text{HC3}\) cuando hay puntos de apalancamiento altos y errores anormales.
Por lo tanto, cuando usamos HCE (en lugar de algunos otros métodos de estimación basados en modelos), estamos intercambiando eficiencia por consistencia.
Además, también hay otra especificación, \(\text{HC5}\) (Fuente).
En nuestro conjunto de datos de ejemplo, se pueden especificar fácilmente diferentes HCE con las funciones integradas:
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.32966 -0.0338 0.9730
## x1 7.21929 6.82423 1.0579 0.2914
## x2 -1.83213 2.17923 -0.8407 0.4015
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.52939 -0.0336 0.9733
## x1 7.21929 6.87600 1.0499 0.2950
## x2 -1.83213 2.19576 -0.8344 0.4051
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.59922 -0.0335 0.9733
## x1 7.21929 6.89407 1.0472 0.2963
## x2 -1.83213 2.20143 -0.8322 0.4063
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.87208 -0.0331 0.9736
## x1 7.21929 6.96475 1.0365 0.3012
## x2 -1.83213 2.22390 -0.8238 0.4110
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.89066 26.72908 -0.0333 0.9735
## x1 7.21929 6.92585 1.0424 0.2985
## x2 -1.83213 2.21168 -0.8284 0.4085
Después de detectar heterocedasticidad en los errores, es posible que deseemos imponer una estructura en la matriz de covarianza residual y estimar los coeficientes mediante MCG.
Si sabemos que no existe una autocorrelación en los errores, entonces la covarianza es diagonal. Esto conduce a un caso específico de mínimos cuadrados ponderados por MCG (MCP).
\[ \begin{aligned} \mathbf{\Sigma} &= \sigma^2 \cdot \text{diag}\left(X_{j,1}, X_{j,2},..., X_{j,N} \right) \quad \text{es decir, la varianza es proporcional a } X_j\\ \mathbf{\Sigma} &= \sigma^2 \cdot \text{diag}\left(X_{j,1}^2, X_{j,2}^2,..., X_{j,N}^2 \right)\\ \mathbf{\Sigma} &= \sigma^2 \cdot \text{diag}\left(\sqrt{X_{j,1}}, \sqrt{X_{j,2}},..., \sqrt{X_{j,N}} \right), \text{ si } X_{j,i} \geq 0,\ \forall i = 1,...,N \end{aligned} \]
tomando logaritmos de ambos lados y sumando/eliminando los residuales de MCO tenemos:
\[ \log(\sigma^2_i) = \alpha_0 + \alpha_1 Z_{1,i} + ... + \alpha_m Z_{m,i} \pm \log(\widehat{\epsilon}^2_i) \]
que se simplifica a:
\[ \begin{aligned} \log(\widehat{\epsilon}^2_i) &= \alpha_0 + \alpha_1 Z_{1,i} + ... + \alpha_m Z_{m,i} + \log \left( \dfrac{\widehat{\epsilon}^2_i}{\sigma^2_i} \right)\\ &= \alpha_0 + \alpha_1 Z_{1,i} + ... + \alpha_m Z_{m,i} + v_i \end{aligned} \]
usando este modelo podemos estimar \(\alpha_0, ..., \alpha_m\) via MCO.
Estimar la regresión \(\mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}\) via MCO.
Use los residuales \(\widehat{\boldsymbol{\varepsilon}}_{MCO}\) y crea \(\log(\epsilon_i^2)\).
Estimar la regresión \(\log(\epsilon_i^2) = \alpha_0 + \alpha_1 Z_{1,i} + ... + \alpha_m Z_{m,i} + v_i\) y calcular los valores ajustados \(\widehat{\log(\epsilon_i^2)}\). En la práctica utilizamos las mismas variables de \(\mathbf{X}\), a menos que sepamos con certeza que existen variables explicativas adicionales que pueden determinar la heterocedasticidad.
Tome el exponente de los valores ajustados: \(\widehat{h}_i = \exp\left(\widehat{\log(\epsilon_i^2)}\right)\).
Estimar la regresión \(\mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}\) vía MCP usando el peso \(\omega_i^{-1} = 1/\sqrt{\widehat{h}_i}\), es decir usar MCGF con \(\mathbf{\Psi}^\top = \mathbf{\Psi} = \text{diag}\left( 1/\sqrt{\widehat{h}_1}, ..., 1/\sqrt{\widehat{h}_N}\right)\).
Aplicando MCP es equivalente a dividir cada observación por \(\sqrt{\widehat{h}_i}\) y estimar con MCO en los datos transformados:
\[ Y_i / \sqrt{\widehat{h}_i} = \beta_0 \cdot \left(1/\sqrt{\widehat{h}_i} \right) + \beta_1 \cdot \left(X_{1,i} / \sqrt{\widehat{h}_i} \right) + ... + \beta_k \cdot \left(X_{k,i} / \sqrt{\widehat{h}_i} \right) + \epsilon_i/\sqrt{\widehat{h}_i} \]
La desventaja es que nuestro modelo ya no contiene una constante: \(\beta_0\) ahora se usa para la nueva variable (no constante) \(1/\sqrt{\widehat{h}_i} \neq 1\).
resid_data <- data.frame(log_e2 = log(mdl_1$residuals^2), x1, x2)
#
resid_mdl <- lm(log_e2 ~ x1 + x2, data = resid_data)
h_est <- exp(resid_mdl$fitted.values)
#
data_weighted = data.frame(data_mat / sqrt(h_est),
weighted_intercept = 1 / sqrt(h_est))
mdl_w_ols <- lm(y ~ -1 + weighted_intercept + x1 + x2, data = data_weighted)
print(round(coef(summary(mdl_w_ols)), 5))## Estimate Std. Error t value Pr(>|t|)
## weighted_intercept -1.39237 10.19482 -0.13658 0.89151
## x1 7.97645 4.00325 1.99249 0.04770
## x2 -2.02459 0.88157 -2.29656 0.02270
A continuación, realizamos MCP (donde \(\mathbf{\Omega}^{-1} = \text{diag} \left(\widehat{h}_1^{-1},...,\widehat{h}_N^{-1} \right)\)).
Manualmente:
beta_wls <- solve(t(x_mat) %*% diag(1 / h_est) %*% x_mat) %*% t(x_mat) %*% diag(1 / h_est) %*% y
#
resid_wls <- y - x_mat %*% beta_wls
sigma2_wls <- (t(resid_wls) %*% diag(1 / h_est) %*% resid_wls) / (N - length(beta_wls))
beta_wls_se <- c(sigma2_wls) * solve(t(x_mat) %*% diag(1 / h_est) %*% x_mat)
#
print(data.frame(est = beta_wls, se = sqrt(diag(beta_wls_se))))## est se
## -1.392372 10.1948202
## x1 7.976445 4.0032528
## x2 -2.024586 0.8815747
Nota: en la mayoría de los programas, es necesario indicar los pesos, que son inversamente proporcionales a las varianzas.
En otras palabras, necesita suministrar \(\text{weights}= 1 / \sigma_i^2 = 1 / \omega_i^2\) que son los elementos diagonales de \(\mathbf{\Omega}^{-1}\), no \(\mathbf{\Psi}\) (independientemente de su especificación de \(\mathbf{\Sigma}\)).
Luego, el software toma automáticamente la raíz cuadrada de los valores especificados al calcular.
Usando funciones disponibles del R:
mdl_wls <- lm(y ~ x1 + x2, data = data_mat, weights = 1 / h_est)
print(round(coef(summary(mdl_wls)), 5))## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.39237 10.19482 -0.13658 0.89151
## x1 7.97645 4.00325 1.99249 0.04770
## x2 -2.02459 0.88157 -2.29656 0.02270
Vemos que obtenemos resultados idénticos en todos los casos.
Finalmente, nos gustaría comparar los residuos de los procedimientos MCO y MCG. Si de hecho hemos tenido en cuenta la heterocedasticidad, las gráficas de residuos también deberían indicarlo. Observamos que las estimaciones de MCG son para el modelo: \[ \begin{aligned} \mathbf{Y}^* &= \mathbf{X}^* \boldsymbol{\beta} + \boldsymbol{\varepsilon}^*,\quad \text{ donde } \mathbf{Y}^* = \mathbf{\Psi}^\top \mathbf{Y}, \quad \mathbf{X}^* = \mathbf{\Psi}^\top\mathbf{X}, \quad \boldsymbol{\varepsilon}^* = \mathbf{\Psi}^\top\boldsymbol{\varepsilon} \end{aligned} \]
En otras palabras, necesitamos calcular: \(\widehat{\boldsymbol{\varepsilon}}^*_{MCP} = \mathbf{Y}^* - \mathbf{X}^* \widehat{\boldsymbol{\beta}}_{MCP}\).
Ahora podemos comparar las gráficas:
par(mfrow = c(2, 2))
plot(mdl_1$fitted.values, mdl_1$residuals, main = "OLS Residuals vs Fitted")
plot(x1, mdl_1$residuals, main = bquote("OLS Residuals vs"~X[1]))
plot(mdl_wls$fitted.values, e_star, col = "blue", main = "WLS Residuals vs Fitted")
plot(x1, e_star, col = "blue", main = bquote("WLS Residuals vs"~X[1]))Vemos que:
¿Qué hubiera sucedido si tuviéramos que graficar los residuos WLS de los datos no transformados?
par(mfrow = c(2, 2))
plot(mdl_1$fitted.values, mdl_1$residuals, main = "OLS Residuals vs Fitted")
plot(x1, mdl_1$residuals, main = bquote("OLS Residuals vs"~X[1]))
plot(mdl_wls$fitted.values, mdl_wls$residuals, col = "blue", main = "WLS Residuals (of ORIGINAL data) vs Fitted")
plot(x1, mdl_wls$residuals, col = "blue", main = bquote("WLS Residuals (of ORIGINAL data) vs"~X[1]))mdl_wls_2 <- lm(y ~ x1 + x2, data = data_mat, weights = 1 / (1:N)^2)
print(round(coef(summary(mdl_wls_2)), 5))## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.34254 2.37257 6.46663 0.00000
## x1 5.33401 2.90696 1.83491 0.06803
## x2 -3.32553 0.22286 -14.92183 0.00000
Esta es una conclusión importante con respecto a MCP (y MCGF en general): si intentamos aproximar los resultados, entonces, sin importar la aproximación, todavía existe la posibilidad de que los residuos de MCP todavía contengan algún tipo de heterocedasticidad (débil).
Como tal, debemos examinar diferentes gráficos de residuos para determinar qué tipo de ponderaciones son apropiadas.
En varios programas, el coeficiente de determinación de MCP utiliza una media ponderada al calcular \(\text{TSS}\) (suma total de cuadrados). Como resultado, el reportado \(R^2\) ahora mide la proporción de variación total ponderada de \(Y\), \(Y^*\) explicado por la ponderación de X, \(X^*\).
Para obtener una expresión más convencional de \(R^2\) se usa la expresión general (o pseudo): \[ R^2_g = \mathbb{C}{\rm orr}(Y, \widehat{Y})^2 \] donde \(\widehat{Y}\) son los valores ajustados de la variable dependiente original (es decir, no ponderada).
w <- 1 / h_est
RSS_W <- sum(w * mdl_wls$residuals^2)
TSS_W <- sum(w * (y - weighted.mean(y, w))^2)
print(1 - RSS_W / TSS_W)## [1] 0.04576885
## [1] 0.04576885
El general (pseudo) \(R^2\):
r2g_ols <- cor(y, mdl_1$fitted)^2
r2g_wls <- cor(y, mdl_wls$fitted)^2
print(paste0("OLS pseudo-R^2 = ", r2g_ols))## [1] "OLS pseudo-R^2 = 0.011880153644293"
## [1] "WLS pseudo-R^2 = 0.0118801535929629"
Respecto a HCE:
En otras palabras, si no estamos seguros de si los errores aleatorios son heterocedásticos u homocedásticos, entonces podemos usar un estimador de varianza robusto y estar seguros de que nuestros errores estándar, pruebas \(t\) y estimaciones de intervalo son válidas en muestras grandes.
En muestras pequeñas, modifiquemos o no el estimador de covarianza, las estadísticas habituales seguirán siendo poco fiables.
Este estimador necesita ser modificado, si sospechamos que los errores pueden exhibir autocorrelación (de alguna forma desconocida).
Respecto al MCP:
Entonces, ambos métodos tienen sus ventajas y sus inconvenientes. Sin embargo, podemos combinarlos ambos:
Finalmente, una cosa más a tener en cuenta:
Tenga cuidado con la heterocedasticidad solo en casos severos, de lo contrario, los procedimientos habituales de MCO dan resultados satisfactorios y confiables, la mayoría de las veces. Además:
Generalmente es posible explicar la heterocedasticidad transformando la variable dependiente \(Y\), por ejemplo \(\log (Y)\), o \(\sqrt{Y}\);
El uso de una forma funcional incorrecta u omitir variables importantes también puede causar heterocedasticidad;
Es importante tener en cuenta que las estimaciones de MCO son insesgadas, incluso si el proceso de generación de datos subyacente (verdadero) realmente sigue el modelo de MCG. Si el MCG es insesgado, entonces también lo es el MCO (y viceversa).
Las estimaciones de MCO y MCG deben estar próximas entre sí. Si no es así, lo más probable es que indique problemas adicionales, como variables omitidas, etc.
Para ilustrar los efectos de la heterocedasticidad sobre los errores estándar de las estimaciones y la eficiencia entre MCO, MCG y MCGF, realizaremos una simulación de Monte Carlo. Simularemos el siguiente modelo: \[ \begin{aligned} Y_{i}^{(m)} &= \beta_0 + \beta_1 X_{1,i}^{(m)} + \beta_2 X_{2,i}^{(m)} + \epsilon_i^{(m)} ,\quad \epsilon_i^{(m)} \sim \mathcal{N}(0, i^2 \cdot \sigma^2), \quad i = 1, ..., N,\quad m = 1, ..., MC \end{aligned} \]
Simularemos un total de \(MC = 1000\) muestras de este modelo con coeficientes específicos y estimar los parámetros vía MCO, MCP, MCG, así como corregir los errores estándar de MCO vía HCE. Lo haremos con el siguiente código:
set.seed(123)
# Number of simulations:
MC <- 1000
# Fixed parameters
N <- 100
beta_vec <- c(10, 5, -3)
# matrix of parameter estimates for each sample:
beta_est_ols <- NULL
beta_pval_ols <- NULL
beta_pval_hce <- NULL
#
beta_est_wls <- NULL
beta_pval_wls <- NULL
#
beta_est_gls <- NULL
beta_pval_gls <- NULL
#
for(i in 1:MC){
# simulate the data:
x1 <- seq(from = 0, to = 5, length.out = N)
x2 <- sample(seq(from = 3, to = 17, length.out = 80), size = N, replace = TRUE)
e <- rnorm(mean = 0, sd = 1:N, n = N)
y <- cbind(1, x1, x2) %*% beta_vec + e
data_mat <- data.frame(y, x1, x2)
# estimate via OLS
mdl_0 <- lm(y ~ x1 + x2, data = data_mat)
# correct OLS se's:
mdl_hce <- lmtest::coeftest(mdl_0, vcov. = sandwich::vcovHC(mdl_0, type = "HC0"))
# estimate via WLS
resid_data <- data.frame(log_e2 = log(mdl_0$residuals^2), x1, x2)
h_est <- exp(lm(log_e2 ~ x1 + x2, data = resid_data)$fitted.values)
mdl_wls <- lm(y ~ x1 + x2, data = data_mat, weights = 1 / h_est)
# estimate via GLS (by knowing the true covariance matrix)
mdl_gls <- lm(y ~ x1 + x2, data = data_mat, weights = 1 / (1:N)^2)
# Save the estimates from each sample:
beta_est_ols <- rbind(beta_est_ols, coef(summary(mdl_0))[, 1])
beta_est_wls <- rbind(beta_est_wls, coef(summary(mdl_wls))[, 1])
beta_est_gls <- rbind(beta_est_gls, coef(summary(mdl_gls))[, 1])
# Save the coefficient p-values from each sample:
beta_pval_ols <- rbind(beta_pval_ols, coef(summary(mdl_0))[, 4])
beta_pval_hce <- rbind(beta_pval_hce, mdl_hce[, 4])
beta_pval_wls <- rbind(beta_pval_wls, coef(summary(mdl_wls))[, 4])
beta_pval_gls <- rbind(beta_pval_gls, coef(summary(mdl_gls))[, 4])
}alpha = 0.05
a1 <- colSums(beta_pval_ols < alpha) / MC
a2 <- colSums(beta_pval_hce < alpha) / MC
a3 <- colSums(beta_pval_wls < alpha) / MC
a4 <- colSums(beta_pval_gls < alpha) / MC
#
a <- t(data.frame(a1, a2, a3, a4))
colnames(a) <- names(a1)
rownames(a) <- c("OLS: H0 rejection rate", "HCE: H0 rejection rate", "WLS: H0 rejection rate", "GLS: H0 rejection rate")
print(a)## (Intercept) x1 x2
## OLS: H0 rejection rate 0.062 0.254 0.569
## HCE: H0 rejection rate 0.109 0.216 0.584
## WLS: H0 rejection rate 0.195 0.369 0.982
## GLS: H0 rejection rate 0.856 0.605 1.000
Comentaremos los resultados con R. Vemos que hubiéramos rechazado la hipótesis nula de que \(X_2\) es significativo alrededor del \(56.9\%\) de las muestras simuladas con MCO. Si tuviéramos que corregir la heterocedasticidad, esto habría aumentado a \(58.4\%\).
Por otro lado, si tuviéramos que volver a estimar el modelo con MCP, habríamos rechazado la hipótesis nula de que \(X_2\) es significativo alrededor de \(98.2\%\) de las muestras simuladas.
Una posible explicación del rendimiento relativamente bajo de HCE es el hecho de que usa \(\widehat{\mathbf{\Sigma}} = \text{diag}(\widehat{\epsilon}_1 ^ 2, ..., \widehat{\epsilon}_N^2)\) para la matriz de covarianza. En este caso, es claramente inferior a la especificación de la matriz de covarianza utilizada en MCP. Por otro lado, como ya hemos mencionado, los HCE solo son útiles en muestras grandes.
Debido a la gran varianza de \(\epsilon_i\), vemos que a menudo no rechazaríamos la hipótesis nula de que \(X_1\) es significativo Por otro lado, como podemos ver, usar WLS reduce este riesgo de manera significativa.
# plot the estimate histograms:
layout(matrix(c(1, 2, 3, 3), nrow = 2, byrow = TRUE))
for(j in ncol(beta_est_ols):1){
p1 <- hist(beta_est_ols[, j], plot = FALSE, breaks = 25)
p2 <- hist(beta_est_wls[, j], plot = FALSE, breaks = 25)
p3 <- hist(beta_est_gls[, j], plot = FALSE, breaks = 25)
#
plot(p1, col = rgb(0,0,1,1/4), main = colnames(beta_est_ols)[j], ylim = c(0, max(p1$counts, p2$counts, p3$counts)))
plot(p2, col = rgb(1,0,0,1/4), add = T)
plot(p3, col = "green", add = T)
abline(v = beta_vec[j], lwd = 3, lty = 2, col = "red")
#
legend("topleft", legend = c("True Value", "OLS", "WLS", "GLS"),
lty = c(3, NA, NA, NA), lwd = c(3, 0, 0, 0), pch = c(NA, 22, 22, 22),
col = c("red", "black", "black", "black"), pt.cex = 2,
pt.bg = c(NA, rgb(0,0,1,1/4), rgb(1,0,0,1/4), "green")
)
}Las estimaciones MCO son menos eficientes que las WLS en términos de la varianza estimada. Por otro lado, ambas estimaciones son insesgadas: su promedio es igual al valor real del parámetro. En consecuencia, dado que los estimadores de MCO son menos eficientes, necesitaríamos una muestra más grande para lograr un nivel de precisión similar al de la WLS.
Como se mencionó anteriormente, GLS es el mejor de los casos, cuando conocemos exactamente la verdadera estructura de covarianza y no necesitamos estimarla.
Robert Grant - Data Visualization - Charts, Maps, and Interactive Graphics (2018)
https://cran.r-project.org/web/packages/naniar/vignettes/naniar-visualisation.html