BARBARA ELIZABETH MEJIA GONZALEZ
20 de junio de 2019
library(foreign)
library(lmtest)
library(sandwich)Ejemplo: - Variables. Identificación del estado (sid), Nombre del estado (state), Crímenes violentos por cada 100,000 habitantes (crime), Asesinatos por cada millón de habitantes (murder), Porcentaje de población que vive en áreas metropolitanas (pctmetro), Porcentaje de población blanca (pctwhite), Porcentaje de población con un mínimo de segundaria como educación (pcths), Porcentaje de población por debajo de la línea de pobreza (poverty), Porcentaje de la población que es padre soltero (single).
Se estimará el estimará el número de crimenes violentos, en función de la población por debajo de la línea de pobreza y el Porcentaje de la población que es padre soltero. (single)
datos_regresion <- read.dta("F:/DESCARGAS/crime.dta")
modelo_estimado_1<-lm(crime~poverty+single,data=datos_regresion)
print(modelo_estimado_1)##
## Call:
## lm(formula = crime ~ poverty + single, data = datos_regresion)
##
## Coefficients:
## (Intercept) poverty single
## -1368.189 6.787 166.373
Prueba de Breusch Pagan (White):
prueba_white<-bptest(modelo_estimado_1,~I(poverty^2)+I(single^2)+poverty*single, data=datos_regresion)
print(prueba_white)##
## studentized Breusch-Pagan test
##
## data: modelo_estimado_1
## BP = 10.73, df = 5, p-value = 0.057
Podemos decir que hay evidencia de heterocedasticidad ya que (\(P_{value} < 0.05\)).
Prueba de Breusch Godfrey:
bgtest(modelo_estimado_1,order = 2)##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_estimado_1
## LM test = 0.27165, df = 2, p-value = 0.873
Debido a que (\(P_{value}>0.05\)), podemos concluir que no se presenta evidencia de autocorrelación de 2° orden.
bgtest(modelo_estimado_1,order = 1)##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_estimado_1
## LM test = 0.27156, df = 1, p-value = 0.6023
Debido a que (\(P_{value}>0.05\)), podemos concluir que no se presenta evidencia de autocorrelación de 1° orden.
#Se usará las librerias "lmtest" y "sandwich".
#Sin corregir:
coeftest(modelo_estimado_1)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1368.1887 187.2052 -7.3085 2.479e-09 ***
## poverty 6.7874 8.9885 0.7551 0.4539
## single 166.3727 19.4229 8.5658 3.117e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Corregido:
estimacion_omega<-vcovHC(modelo_estimado_1,type = "HC1")
coeftest(modelo_estimado_1,vcov. = estimacion_omega)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1368.1887 284.9180 -4.8020 1.577e-05 ***
## poverty 6.7874 10.9273 0.6211 0.5374
## single 166.3727 26.2343 6.3418 7.519e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En caso de haberse detectado la autocorrelación de orden 2, tendría que corregirse así.
#Corregido:
estimacion_omega<-NeweyWest(modelo_estimado_1,lag = 2)
coeftest(modelo_estimado_1,vcov. = estimacion_omega)##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1368.1887 303.8466 -4.5029 4.280e-05 ***
## poverty 6.7874 10.5943 0.6407 0.5248
## single 166.3727 25.9154 6.4198 5.708e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1