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)
| 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)
| 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) |
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.