Práctica estimadores HAC, Brittany Nallely Hernández Villegas_HV21002
Estimación del Modelo Lineal.
load("C:/Users/MINEDUCYT/Downloads/Brittany Nallely Hernández Villegas - smoke.RData")
options(scipen = 99999999)
library(lmtest)
Modelo_Lineal<-lm(cigs~cigpric+ lcigpric +income+ lincome+ age+ agesq+ educ+ white+ restaurn,data=data)
coeftest(Modelo_Lineal)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 340.804374604 260.015587269 1.3107 0.190334
## cigpric 2.002267667 1.492831189 1.3413 0.180220
## lcigpric -115.273464445 85.424315195 -1.3494 0.177585
## income -0.000046194 0.000133491 -0.3460 0.729402
## lincome 1.404061178 1.708165841 0.8220 0.411340
## age 0.778359013 0.160555612 4.8479 0.0000015001 ***
## agesq -0.009150353 0.001749292 -5.2309 0.0000002158 ***
## educ -0.494780616 0.168180198 -2.9420 0.003356 **
## white -0.531051635 1.460721806 -0.3636 0.716287
## restaurn -2.644241351 1.129998690 -2.3400 0.019528 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\[ \operatorname{cigs} = \alpha + \beta_{1}(\operatorname{cigpric}) + \beta_{2}(\operatorname{lcigpric}) + \beta_{3}(\operatorname{income}) + \beta_{4}(\operatorname{lincome}) + \beta_{5}(\operatorname{age}) + \beta_{6}(\operatorname{agesq}) + \beta_{7}(\operatorname{educ}) + \beta_{8}(\operatorname{white}) + \beta_{9}(\operatorname{restaurn}) + \epsilon \]
Presentación del modelo con “stargazer”
| Dependent variable: | |
| cigs | |
| cigpric | 2.002 |
| (1.493) | |
| lcigpric | -115.273 |
| (85.424) | |
| income | -0.00005 |
| (0.0001) | |
| lincome | 1.404 |
| (1.708) | |
| age | 0.778*** |
| (0.161) | |
| agesq | -0.009*** |
| (0.002) | |
| educ | -0.495*** |
| (0.168) | |
| white | -0.531 |
| (1.461) | |
| restaurn | -2.644** |
| (1.130) | |
| Constant | 340.804 |
| (260.016) | |
| Observations | 807 |
| R2 | 0.055 |
| Adjusted R2 | 0.044 |
| Residual Std. Error | 13.413 (df = 797) |
| F Statistic | 5.169*** (df = 9; 797) |
| Note: | p<0.1; p<0.05; p<0.01 |
Verficación si la matriz de Varianza-Covarianza del modelo es escalar
Prueba de White (prueba de Breusch Pagan)
library(lmtest)
white_test<-bptest(Modelo_Lineal,~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)
print(white_test)##
## studentized Breusch-Pagan test
##
## data: Modelo_Lineal
## BP = 26.323, df = 9, p-value = 0.001809
Dado que el valor P-Value < 5% , se rechaza la hipótesis nula. Esto significa que hay evidencia suficiente para concluir que la varianza de los residuos es heterocedástica.
Prueba del Multiplicador de Lagrange (Breusch Godfrey)
Autocorrelación de 2º Orden:
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: Modelo_Lineal
## LM test = 0.26889, df = 2, p-value = 0.8742
Dado que el valor P-Value > 5% , no se rechaza la hipótesis nula. Esto significa que no hay evidencia de autocorrelación de 2º orden.
Autocorrelación de 1º orden (prueba de Durbin Watson)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.009243664 2.017442 0.832
## Alternative hypothesis: rho != 0
Dado que el valor P-Value > 5% , no se rechaza la hipótesis nula. Esto significa que no hay evidencia de autocorrelación de 1º orden.
Debido a la presencia de Heterocedasticidad en el modelo se puede concluir que la matriz de Varianza-Covarianza es no escalar.
Usando un estimador HAC
options(scipen = 99999)
library(lmtest)
library(sandwich)
#Corregido
#HC0 Corrige Sólo Heterocedasticidad.
vcov_HAC<-vcovHC(Modelo_Lineal,type = "HC0")
coeftest(Modelo_Lineal,vcov. = vcov_HAC)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 340.804374604 278.565072885 1.2234 0.221530
## cigpric 2.002267667 1.602727983 1.2493 0.211927
## lcigpric -115.273464445 91.344424879 -1.2620 0.207331
## income -0.000046194 0.000115593 -0.3996 0.689540
## lincome 1.404061178 1.228970726 1.1425 0.253602
## age 0.778359013 0.136944678 5.6837 0.0000000184838 ***
## agesq -0.009150353 0.001451548 -6.3039 0.0000000004804 ***
## educ -0.494780616 0.162968371 -3.0361 0.002475 **
## white -0.531051635 1.361907703 -0.3899 0.696691
## restaurn -2.644241351 1.038254938 -2.5468 0.011058 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Modelo original y modelo corregido
library(stargazer)
library(sandwich)
vcov_HAC<- vcovHC(Modelo_Lineal, type = "HC0")
robust.se <- sqrt(diag(vcov_HAC))
stargazer(Modelo_Lineal, Modelo_Lineal, se=list(NULL, robust.se),
column.labels=c("Original","Corregido"), align=TRUE, type = "html",title = "Modelo lineal de consumo de cigarros")| Dependent variable: | ||
| cigs | ||
| Original | Corregido | |
| (1) | (2) | |
| cigpric | 2.002 | 2.002 |
| (1.493) | (1.603) | |
| lcigpric | -115.273 | -115.273 |
| (85.424) | (91.344) | |
| income | -0.00005 | -0.00005 |
| (0.0001) | (0.0001) | |
| lincome | 1.404 | 1.404 |
| (1.708) | (1.229) | |
| age | 0.778*** | 0.778*** |
| (0.161) | (0.137) | |
| agesq | -0.009*** | -0.009*** |
| (0.002) | (0.001) | |
| educ | -0.495*** | -0.495*** |
| (0.168) | (0.163) | |
| white | -0.531 | -0.531 |
| (1.461) | (1.362) | |
| restaurn | -2.644** | -2.644** |
| (1.130) | (1.038) | |
| Constant | 340.804 | 340.804 |
| (260.016) | (278.565) | |
| Observations | 807 | 807 |
| R2 | 0.055 | 0.055 |
| Adjusted R2 | 0.044 | 0.044 |
| Residual Std. Error (df = 797) | 13.413 | 13.413 |
| F Statistic (df = 9; 797) | 5.169*** | 5.169*** |
| Note: | p<0.1; p<0.05; p<0.01 | |