Modelo estimado
library(readr)
library(stargazer)
ejemplo_regresion <- read_csv("C:/Users/Yohana Argueta/Desktop/ejemplo_regresion.csv")
modelo_lineal<-lm(Y~X1+X2,data = ejemplo_regresion)
stargazer(modelo_lineal,title = "modelo estimado",type = "text")
##
## modelo estimado
## ===============================================
## Dependent variable:
## ---------------------------
## Y
## -----------------------------------------------
## X1 0.237***
## (0.056)
##
## X2 -0.0002***
## (0.00003)
##
## Constant 1.564***
## (0.079)
##
## -----------------------------------------------
## Observations 25
## R2 0.865
## Adjusted R2 0.853
## Residual Std. Error 0.053 (df = 22)
## F Statistic 70.661*** (df = 2; 22)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Calculo de Prueba White
library(stargazer)
residuos<-modelo_lineal$residuals
data_prueba_white<-as.data.frame(cbind(residuos,ejemplo_regresion))
regresion_auxiliar<-lm(I(residuos^2)~X1+X2+I(X1^2)+I(X2^2)+X1*X2,data = data_prueba_white)
sumario<-summary(regresion_auxiliar)
n<-nrow(data_prueba_white)
R_2<-sumario$r.squared
LM_w<-n*R_2
gl=2+2+1
p_value<-1-pchisq(q = LM_w,df = gl)
VC<-qchisq(p = 0.95,df = gl)
salida_white<-c(LM_w,VC,p_value)
names(salida_white)<-c("LMw","Valor Critico","P-value")
stargazer(salida_white,title = "Resultados de la prueba de White",type = "text",digits = 6)
##
## Resultados de la prueba de White
## ===============================
## LMw Valor Critico P-value
## -------------------------------
## 3.690182 11.070500 0.594826
## -------------------------------
#Obtenemos p-value>valor de significancia, Por lo tanto no se rechaza la Hipotesis nula, concluimos que hay evidencia de que la varianza de los residuos es homocedastica.
Calculo de PW usando la libreria “lmtest”
library(lmtest)
prueba_white<-bptest(modelo_lineal,~I(X1^2)+I(X2^2)+X1*X2,data = ejemplo_regresion)
print(prueba_white, type = "text")
##
## studentized Breusch-Pagan test
##
## data: modelo_lineal
## BP = 3.6902, df = 5, p-value = 0.5948
#Obtenemos p-value>valor de significancia, Por lo tanto no se rechaza la Hipotesis nula, concluimos que hay evidencia de que la varianza de los residuos es homocedastica.
Prueba de Durbin Watson
Calculo de DW usando libreria “lmtest”
library(lmtest)
dwtest(modelo_lineal,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: modelo_lineal
## DW = 1.9483, p-value = 0.5649
## alternative hypothesis: true autocorrelation is not 0
Calculo de DW usando libreria “car”
library(car)
durbinWatsonTest(modelo_lineal,simulate = TRUE,reps = 1000)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.04366918 1.948305 0.588
## Alternative hypothesis: rho != 0
#En los dos calculos, se puede rechazar la presencia de autocorrelacion (No se rechaza la Hiptesis nula), ya que el pvalue>0.05
Prueba del Multiplicador de Lagrange [Breusch-Godfrey]
Preparacion de datos
library(dplyr)
library(tidyr)
library(kableExtra)
cbind(residuos,ejemplo_regresion) %>%
as.data.frame() %>%
mutate(Lag_1=dplyr::lag(residuos,1),
Lag_2=dplyr::lag(residuos,2)) %>%
replace_na(list(Lag_1=0,Lag_2=0))->data_prueba_BG
kable(head(data_prueba_BG,6))
|
residuos
|
X1
|
X2
|
Y
|
Lag_1
|
Lag_2
|
|
0.0734697
|
3.92
|
7298
|
0.75
|
0.0000000
|
0.0000000
|
|
-0.0033412
|
3.61
|
6855
|
0.71
|
0.0734697
|
0.0000000
|
|
-0.0391023
|
3.32
|
6636
|
0.66
|
-0.0033412
|
0.0734697
|
|
-0.0621832
|
3.07
|
6506
|
0.61
|
-0.0391023
|
-0.0033412
|
|
0.0162403
|
3.06
|
6450
|
0.70
|
-0.0621832
|
-0.0391023
|
|
0.0124247
|
3.11
|
6402
|
0.72
|
0.0162403
|
-0.0621832
|
Calculando la regresion auxiliar y el estadistico LMBP
Calculo de DW usando libreria“lmtest”
library(lmtest)
bgtest(modelo_lineal,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_lineal
## LM test = 3.3052, df = 2, p-value = 0.1916
#Como pvalue>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de orden
El test BG puede usarse tambien para verificar la autocorrelacion de 1° orden:
library(lmtest)
bgtest(modelo_lineal,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_lineal
## LM test = 0.051063, df = 1, p-value = 0.8212
#Como pvalue>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de 1 orden