Punto 1

1.1 El estadístico F usual ya no tiene una distribución F. Verdadero. La validez de las pruebas F y también t en el modelo clásico depende de la homocedasticidad. Si hay heterocedasticidad, la varianza del estimador está mal especificada, y por tanto el estadístico F no sigue la distribución F bajo la hipótesis nula, invalidando estas inferencias.

1.2 Los estimadores MCO ya no son MELI (mejores estimadores lineales insesgados). Verdadero. Esto es exactamente lo que dice el teorema de Gauss-Markov donde bajo homocedasticidad y otros supuestos, los MCO son MELI. Si hay heterocedasticidad, ya no son los “mejores” osea mínima varianza dentro de los estimadores lineales insesgados.

Punto 2

Es falso.

Los Mínimos Cuadrados Ponderados (MCP) son una técnica diseñada para corregir problemas de heterocedasticidad pero no para tratar con omisiones de variables relevantes. Cuando se omite una variable importante, el problema principal que hay aqui es el sesgo por omisión de variables, que hace que los estimadores sean inconsistentes, tanto con MCO como con MCP. En este caso, cambiar a MCP no soluciona el sesgo, ya que el problema no es de varianza no constante, sino de especificación incorrecta del modelo.

Punto 3

options(repos = c(CRAN = "https://cran.r-project.org"))
contrib.url("https://cran.r-project.org", "source")
## [1] "https://cran.r-project.org/src/contrib"
rsconnect::setAccountInfo(name = 'gdaza18',
                          token = 'EA85AD7E918C3903E00ACC9E87569927',
                          secret = 'aIcIVdtNKMSzFbaWHO2RHDnGTnKix4rpvhPD0gs2',
                          server = 'posit.cloud')

install.packages("wooldridge")
## Installing package into 'C:/Users/guill/AppData/Local/R/win-library/4.4'
## (as 'lib' is unspecified)
## package 'wooldridge' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\guill\AppData\Local\Temp\Rtmpw1ahfj\downloaded_packages
library(wooldridge)
## Warning: package 'wooldridge' was built under R version 4.4.3
data("meap00_01")
View(meap00_01)
install.packages(c("sandwich", "lmtest", "whitestrap"))
## Installing packages into 'C:/Users/guill/AppData/Local/R/win-library/4.4'
## (as 'lib' is unspecified)
## package 'sandwich' successfully unpacked and MD5 sums checked
## package 'lmtest' successfully unpacked and MD5 sums checked
## package 'whitestrap' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\guill\AppData\Local\Temp\Rtmpw1ahfj\downloaded_packages
library(sandwich)
## Warning: package 'sandwich' was built under R version 4.4.3
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Cargando paquete requerido: zoo
## Warning: package 'zoo' was built under R version 4.4.3
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(whitestrap)
## Warning: package 'whitestrap' was built under R version 4.4.3
## 
## Please cite as:
## Lopez, J. (2020), White's test and Bootstrapped White's test under the methodology of Jeong, J., Lee, K. (1999) package version 0.0.1
modelo <- lm(math4 ~ lunch + lenroll + lexppp, data = meap00_01)
summary(modelo)
## 
## Call:
## lm(formula = math4 ~ lunch + lenroll + lexppp, data = meap00_01)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -56.326  -8.758   0.914   9.164  51.416 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 91.93246   19.96170   4.605 4.42e-06 ***
## lunch       -0.44874    0.01464 -30.648  < 2e-16 ***
## lenroll     -5.39915    0.94041  -5.741 1.11e-08 ***
## lexppp       3.52474    2.09785   1.680   0.0931 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.3 on 1688 degrees of freedom
## Multiple R-squared:  0.3729, Adjusted R-squared:  0.3718 
## F-statistic: 334.6 on 3 and 1688 DF,  p-value: < 2.2e-16
coeftest(modelo, vcov = vcovHC(modelo, type = "HC1"))
## 
## t test of coefficients:
## 
##              Estimate Std. Error  t value  Pr(>|t|)    
## (Intercept) 91.932462  23.087101   3.9820 7.124e-05 ***
## lunch       -0.448743   0.016584 -27.0583 < 2.2e-16 ***
## lenroll     -5.399152   1.131175  -4.7730 1.971e-06 ***
## lexppp       3.524744   2.353736   1.4975    0.1344    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Aplicar la matriz HC1 no modifica los coeficientes estimados (Intercept, lunch, lenroll, lexppp), pero sí incrementa sus errores estándar. Por ejemplo, el del intercepto sube de 19.96 a 23.09, lunch pasa de 0.0146 a 0.0166, lenroll de 0.9404 a 1.1312 y lexppp de 2.0979 a 2.3537. Esto reduce los valores absolutos de los estadísticos t —por ejemplo, lunch baja de –30.65 a –27.06 y lenroll de –5.74 a –4.77—, lo cual eleva los p-valores.

A pesar de esto, lunch y lenroll siguen siendo muy significativos. En cambio, lexppp pierde fuerza estadística: su p-valor pasa de ~0.093 a ~0.134, lo que sugiere que su efecto se vuelve menos confiable al ajustar por heterocedasticidad. Finalmente, ni el R² ni los grados de libertad se ven afectados, ya que el ajuste robusto solo incide en las varianzas, no en el modelo general.

3.2 Aplique el caso especial de la prueba de White para heterocedasticidad. ¿Cuál es el valor del estadístico F? ¿Qué concluye?

bptest(modelo, varformula = ~ lunch + lenroll + lexppp, data = meap00_01, studentize = TRUE)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo
## BP = 238.78, df = 3, p-value < 2.2e-16

El resultado del test de Breusch–Pagan, que en este caso corresponde a una forma particular del test de White, arroja un estadístico F de 238.78 con 3 grados de libertad. El p-valor asociado es extremadamente pequeño (menor que 2.2×10⁻¹⁶), lo que indica evidencia contundente contra la hipótesis nula.

Dado que este valor es muy pequeño, se rechaza la hipótesis de homocedasticidad. Esto nos lleva a concluir que el modelo presenta heterocedasticidad.

3.3 Obtenga ˆ gi como los valores ajustados de la regresión log(ˆ u2i) sobre math4i, math42i, donde math4i son los valores ajustados por MCO y los ˆ ui son los residuos de MCO. Sea ˆ hi = exp(ˆ gi). Use los ˆ hi para obtener las estimaciones MCP. ¿Hay grandes diferencias con los coeficientes de MCO?

resid_ols   <- residuals(modelo)
fitted_ols  <- fitted(modelo)
aux_model <- lm(log(resid_ols^2) ~ fitted_ols + I(fitted_ols^2))
g_hat <- predict(aux_model) 
h_hat <- exp(g_hat)         
wls_model <- lm(math4 ~ lunch + lenroll + lexppp,
                data    = meap00_01,
                weights = 1/h_hat)

summary(wls_model)
## 
## Call:
## lm(formula = math4 ~ lunch + lenroll + lexppp, data = meap00_01, 
##     weights = 1/h_hat)
## 
## Weighted Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.7122  -1.1914   0.1403   1.3741   3.9151 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 50.47821   16.51032   3.057 0.002268 ** 
## lunch       -0.44859    0.01461 -30.697  < 2e-16 ***
## lenroll     -2.64728    0.83594  -3.167 0.001569 ** 
## lexppp       6.47419    1.68588   3.840 0.000127 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.9 on 1688 degrees of freedom
## Multiple R-squared:   0.36,  Adjusted R-squared:  0.3588 
## F-statistic: 316.5 on 3 and 1688 DF,  p-value: < 2.2e-16

Comparando los resultados de MCO y MCP, se observan algunas diferencias notables:

Conclusión: sí hay diferencias importantes entre los coeficientes estimados por MCO y MCP, especialmente en el intercepto, lenroll y lexppp. Esto confirma que la heterocedasticidad afecta la validez de las inferencias en el modelo MCO y que usar ponderaciones corrige estos problemas, mostrando relaciones más confiables.

3.4 Obtenga los errores estándar para MCP que permiten una especificación incorrecta de la función de varianza. ¿Difieren mucho de los errores estándar usuales de MCP?

mcp <- lm(math4 ~ lunch + lenroll + lexppp,
          data = meap00_01,
          weights = 1 / h_hat)
usuales_mcp <- summary(mcp)$coefficients[, "Std. Error"]
robustos_mcp <- sqrt(diag(vcovHC(mcp, type = "HC0")))
resultado_mcp_se <- data.frame(
  Coeficiente = rownames(summary(mcp)$coefficients),
  SE_Usual   = usuales_mcp,
  SE_Robusto = robustos_mcp)
print(resultado_mcp_se)
##             Coeficiente    SE_Usual SE_Robusto
## (Intercept) (Intercept) 16.51031529 18.9027911
## lunch             lunch  0.01461347  0.0142372
## lenroll         lenroll  0.83593622  1.0533607
## lexppp           lexppp  1.68587666  1.8107235

Al analizar los errores estándar obtenidos con Mínimos Cuadrados Ponderados, se perciben diferencias relevantes entre los estimadores convencionales y los corregidos por especificación incorrecta de la varianza. El error estándar robusto del intercepto es más alto (18.90) que el usual (16.51), lo cual sugiere que el modelo tradicional podría estar subestimando la incertidumbre en esa estimación. En cambio, en el caso de la variable lunch, el impacto de la corrección es mínimo, con valores prácticamente idénticos en ambos enfoques (0.0142 y 0.0146).

Donde sí se nota una mayor sensibilidad es en los predictores continuos: el error estándar de lenroll aumenta significativamente al pasar de 0.84 a 1.05, mientras que el de lexppp también se incrementa, aunque en menor medida (de 1.69 a 1.81). Estas variaciones indican que el modelo original no captura adecuadamente la heterocedasticidad presente, lo cual puede afectar la validez de las inferencias si no se corrige. En consecuencia, resulta más apropiado utilizar los errores robustos al trabajar con este tipo de datos.

3.5 Para estimar el efecto del gasto en math4, ¿MCO o MCP parecen ser más precisos?

El modelo de Mínimos Cuadrados Ordinarios (MCO) para el coeficiente de gasto per cápita (lexppp) arroja un error estándar de 2.098. Sin embargo, este enfoque no ajusta la heterocedasticidad, lo que puede llevar a estimaciones sesgadas y a errores estándar subestimados. Por otro lado, el modelo de Mínimos Cuadrados Ponderados (MCP), al aplicar corrección robusta, reduce el error estándar a 1.69, lo que indica intervalos de confianza más estrechos y una estimación más precisa, considerando que ajusta por posibles problemas de heterocedasticidad.

Aunque el error estándar del MCP es más bajo que el robusto del MCO, que es de 2.35, el MCP sigue siendo más confiable para hacer inferencias debido a su capacidad para corregir los efectos de heterocedasticidad. Esto sugiere que el gasto por alumno tiene un efecto positivo y estadísticamente significativo sobre los puntajes en matemáticas, siendo el MCP la opción más robusta y adecuada para este análisis.