APLICACIÓN DE STARGAZER PARA MODELOS CORREGIDOS CON ESTIMADORES HAC

1. CARGA DE DATOS

library(printr)

load("C:/Users/Paniagua/Downloads/smoke.RData")

head(force(data), n = 10)
educ cigpric white age income cigs restaurn lincome agesq lcigpric
16.0 60.506 1 46 20000 0 0 9.903487 2116 4.102743
16.0 57.883 1 40 30000 0 0 10.308952 1600 4.058423
12.0 57.664 1 58 30000 3 0 10.308952 3364 4.054633
13.5 57.883 1 30 20000 0 0 9.903487 900 4.058423
10.0 58.320 1 17 20000 0 0 9.903487 289 4.065945
6.0 59.340 1 86 6500 0 0 8.779557 7396 4.083283
12.0 57.883 1 35 20000 0 0 9.903487 1225 4.058423
15.0 57.883 1 48 30000 0 0 10.308952 2304 4.058423
12.0 59.195 1 48 20000 0 0 9.903487 2304 4.080837
12.0 58.028 1 31 20000 0 0 9.903487 961 4.060925

Descripción de variables

head(force(desc), n = 10)
variable label
educ years of schooling
cigpric state cig. price, cents/pack
white =1 if white
age in years
income annual income, $
cigs cigs. smoked per day
restaurn =1 if rest. smk. restrictions
lincome log(income)
agesq age^2
lcigpric log(cigprice)

2. ESTIMACIÓN DEL MODELO

Modelo:

cigs = β0 + β1(cigpric) + β2(lcigpric) + β3(income) + β4(lincome) + β5(age) + β6(agesq) + β7(educ) + β8(white) + β9(restaurn) + ε

library(stargazer)

modelo_cigs <- lm(cigs ~ cigpric + lcigpric + income + lincome +
                    age + agesq + educ + white + restaurn,
                  data = data)

stargazer(modelo_cigs,
          type = "html",
          title = "Modelo Original",
          digits = 4)
Modelo Original
Dependent variable:
cigs
cigpric 2.0023
(1.4928)
lcigpric -115.2735
(85.4243)
income -0.00005
(0.0001)
lincome 1.4041
(1.7082)
age 0.7784***
(0.1606)
agesq -0.0092***
(0.0017)
educ -0.4948***
(0.1682)
white -0.5311
(1.4607)
restaurn -2.6442**
(1.1300)
Constant 340.8044
(260.0156)
Observations 807
R2 0.0552
Adjusted R2 0.0445
Residual Std. Error 13.4128 (df = 797)
F Statistic 5.1693*** (df = 9; 797)
Note: p<0.1; p<0.05; p<0.01

La estimación del modelo muestra que las variables incluidas explican parcialmente el consumo de cigarrillos. El modelo es globalmente significativo, aunque el \(R^2\)=0.0552 indica un bajo poder explicativo.Los resultados evidencian que la edad influye positivamente sobre el consumo, pero a una tasa decreciente, mientras que las restricciones para fumar en restaurantes reducen significativamente el consumo de cigarrillos. En cambio, variables como el precio, ingreso, educación y raza no resultaron estadísticamente significativas.

3. VERIFICACIÓN DE LA MATRIZ DE VARIANZA-COVARIANZA

3.1 PRUEBA DE BREUSCH-PAGAN

library(lmtest)

bp <- bptest(modelo_cigs)

bp
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_cigs
## BP = 33.525, df = 9, p-value = 0.0001082

La prueba de Breusch-Pagan se utiliza para detectar la presencia de heterocedasticidad en el modelo. El resultado obtenido presenta un p-valor de 0.0001082, menor al nivel de significancia del 5%, por lo que se rechaza la hipótesis nula de homocedasticidad. Esto indica que los errores del modelo presentan varianza no constante, es decir, existe heterocedasticidad.

3.2 PRUEBA DE WHITE

white <- bptest(modelo_cigs,
                ~ cigpric + lcigpric + income + lincome +
                  age + agesq + educ + white + restaurn +
                  I(cigpric^2) + I(lcigpric^2) +
                  I(income^2) + I(lincome^2) +
                  I(age^2) + I(agesq^2) +
                  I(educ^2) + I(white^2) +
                  I(restaurn^2),
                data = data)

white
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_cigs
## BP = 36.802, df = 15, p-value = 0.001352

La prueba de White también permite verificar la existencia de heterocedasticidad, considerando además posibles formas no lineales en la varianza de los errores. El p-valor obtenido fue 0.001352, menor a 0.05, por lo que se rechaza la hipótesis nula de homocedasticidad. Por tanto, se confirma la presencia de heterocedasticidad en el modelo, lo que implica que la matriz Varianza-Covarianza no es escalar y que los errores estándar tradicionales no son confiables..

4. VERIFICACIÓN DE AUTOCORRELACIÓN

PRUEBA DE BREUSCH-GODFREY

bg <- bgtest(modelo_cigs, order = 1)

bg
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelo_cigs
## LM test = 0.069737, df = 1, p-value = 0.7917

La prueba de Breusch-Godfrey se utiliza para verificar la presencia de autocorrelación en los residuos del modelo. El resultado obtenido presenta un p-valor de 0.7917, mayor al nivel de significancia del 5%, por lo que no se rechaza la hipótesis nula de ausencia de autocorrelación. Esto indica que no existe evidencia estadística de autocorrelación serial en los errores del modelo. Por tanto, el principal problema detectado en la matriz Varianza-Covarianza proviene de la heterocedasticidad y no de autocorrelación.

5. ESTIMADOR HAC

Obtención de la matriz HAC

library(sandwich)

vcov_HAC <- vcovHAC(modelo_cigs)

vcov_HAC
(Intercept) cigpric lcigpric income lincome age agesq educ white restaurn
(Intercept) 65509.5116812 377.8653706 -21441.4139126 0.0019882 -52.4073622 3.7127071 -0.0509080 -1.0687977 -58.1398711 62.8978489
cigpric 377.8653706 2.2001497 -124.1301211 0.0000059 -0.2382252 0.0245287 -0.0003284 -0.0033991 -0.3158785 0.3605921
lcigpric -21441.4139120 -124.1301212 7033.3007081 -0.0003050 13.1133847 -1.3269069 0.0179212 0.2576713 18.5772183 -21.0374641
income 0.0019882 0.0000059 -0.0003050 0.0000000 -0.0001374 -0.0000008 0.0000000 -0.0000026 0.0000109 -0.0000238
lincome -52.4073622 -0.2382252 13.1133847 -0.0001374 1.6712389 -0.0117895 0.0000758 -0.0097093 -0.0579557 0.1693240
age 3.7127071 0.0245287 -1.3269069 -0.0000008 -0.0117895 0.0193352 -0.0002030 0.0001928 0.0002904 0.0060377
agesq -0.0509080 -0.0003284 0.0179212 0.0000000 0.0000758 -0.0002030 0.0000022 0.0000061 0.0000114 -0.0000743
educ -1.0687977 -0.0033991 0.2576713 -0.0000026 -0.0097093 0.0001928 0.0000061 0.0284399 -0.0101628 -0.0152898
white -58.1398711 -0.3158785 18.5772183 0.0000109 -0.0579557 0.0002904 0.0000114 -0.0101628 1.7498375 0.0938592
restaurn 62.8978489 0.3605921 -21.0374641 -0.0000238 0.1693240 0.0060377 -0.0000743 -0.0152898 0.0938592 1.0870659

Los resultados muestran que la matriz Varianza-Covarianza no es escalar, por lo que los errores estándar clásicos de MCO podrían ser inconsistentes. Al aplicar el estimador HAC se obtienen errores estándar robustos y más confiables para realizar inferencia estadística sobre los coeficientes del modelo.*

6. MODELO ORIGINAL VS MODELO CORREGIDO HAC

library(stargazer)

stargazer(modelo_cigs,
          modelo_cigs,
          type = "html",
          se = list(
            sqrt(diag(vcov(modelo_cigs))),
            sqrt(diag(vcov_HAC))
          ),
          column.labels = c("Original", "Corregido HAC"),
          title = "Comparación Modelo Original vs Modelo Corregido HAC",
          digits = 4)
Comparación Modelo Original vs Modelo Corregido HAC
Dependent variable:
cigs
Original Corregido HAC
(1) (2)
cigpric 2.0023 2.0023
(1.4928) (1.4833)
lcigpric -115.2735 -115.2735
(85.4243) (83.8648)
income -0.00005 -0.00005
(0.0001) (0.0001)
lincome 1.4041 1.4041
(1.7082) (1.2928)
age 0.7784*** 0.7784***
(0.1606) (0.1391)
agesq -0.0092*** -0.0092***
(0.0017) (0.0015)
educ -0.4948*** -0.4948***
(0.1682) (0.1686)
white -0.5311 -0.5311
(1.4607) (1.3228)
restaurn -2.6442** -2.6442**
(1.1300) (1.0426)
Constant 340.8044 340.8044
(260.0156) (255.9483)
Observations 807 807
R2 0.0552 0.0552
Adjusted R2 0.0445 0.0445
Residual Std. Error (df = 797) 13.4128 13.4128
F Statistic (df = 9; 797) 5.1693*** 5.1693***
Note: p<0.1; p<0.05; p<0.01

La comparación entre el modelo original y el modelo corregido HAC evidencia que los coeficientes estimados no cambian, pero sí los errores estándar. Esto sugiere que el modelo presentaba problemas en la estructura de los errores, por lo que fue necesario utilizar errores estándar robustos para obtener resultados más precisos y confiables. Aun después de la corrección, variables como age, agesq, educ y restaurn continúan siendo estadísticamente significativas, indicando que mantienen una relación importante con el consumo de cigarrillos.

7. CONCLUSIÓN

LEn este ejercicio se estimó un modelo lineal para analizar los factores que influyen en el consumo de cigarrillos (cigs). Los resultados muestran que variables como la edad, el nivel educativo y las restricciones para fumar en restaurantes tienen una relación significativa con el consumo. Posteriormente, se verificó que la matriz Varianza-Covarianza del modelo no era escalar, evidenciando problemas en los errores del modelo. Por esta razón, se aplicó una corrección HAC para obtener errores estándar robustos y realizar inferencias más confiables. Finalmente, la comparación entre el modelo original y el modelo corregido mostró que los coeficientes permanecen constantes, aunque los errores estándar cambian, confirmando la importancia de utilizar correcciones robustas para mejorar la validez estadística de los resultados.