\(\color{green}{\text{Heterocedasticidad y Autocorrelación}}\)

MSF Ademir Pérez

\(\color{red}{\text{1. Heterocedasticidad}}\)

Corresponde a la situación en la que varianza del término de error de la ecuación estimada, no es constante.

Bajo la presencia de Heterocedascidad la matriz de Varianza Covarianza, es no escalar.

\(\text{1.1 Consecuencias de la Heterocedásticidad y Autocorrelación}\)

Modelo estimado

library(readr)
library(stargazer)
ejemplo_regresion <- read_csv("F:/Econometria 2020/Presentaciones Econometria/ejemplo_regresion.csv")
modelo_lineal<-lm(Y~X1+X2,data = ejemplo_regresion)
stargazer(modelo_lineal,title = "modelo estimado",type = "html")
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

\(\text{1.2 Diagrama de dispersión residuos vs pronóstico}\)

\(\text{1.3 Prueba de White}\)

Se asume que la varianza de los residuos posee una estructura de la forma:

\(σ_u^2=\color{red}{δ_0+δ_1 x_1+δ_2 x_2+⋯+δ_k x_k}+\color{green}{α_1 x_1^2+α_2 x_2^2+⋯+α_k x_k^2}+\color{blue}{θ_1 x_1 x_2+θ_2 x_1 x_3+⋯+θ_kC2 x_i x_j}\)

Hipótesis:

\(H_0:\ \delta_1=\delta_2=\cdots=\delta_k=\alpha_1=\alpha_2=\cdots=\alpha_k=\theta_1=\theta_2=\cdots=\theta_kC2=0\)

\(\color{green}{\text{Hay evidencia de que la varianza de los residuos es Homocedástica}}\)

\(H_1:\ \delta_1=\delta_2=\cdots=\delta_k=\alpha_1=\alpha_2=\cdots=\alpha_k=\theta_1=\theta_2=\cdots=\theta_kC2\neq0\)

\(\color{red}{\text{Hay evidencia de que la varianza de los residuos es Heterocedástica}}\)

\(\text{Cálculo del Estadístico de Prueba:}\)

Se corre la siguiente ecuación auxiliar:

\(u_i^2=\color{red}{δ_0+δ_1 x_1+δ_2 x_2+⋯+δ_k x_k}+\color{green}{α_1 x_1^2+α_2 x_2^2+⋯+α_k x_k^2}+\color{blue}{θ_1 x_1 x_2+θ_2 x_1 x_3+⋯+θ_kC_2 x_i x_j}\)

El cual tiene una distribución \(\chi^2\) con “p” grados de libertad (Número de parámetros en la ecuación auxiliar, sin la intercepción.)

\(\color{green}{\text{Criterio de decisión:}}\)
- Rechazar \(H_0\)\(\color{red}{LM_W}\geq\color{red}{VC}\)
- Rechazar \(H_0\)\(\color{blue}{P_{value}}\le \color{blue}{\alpha}\)

\(\text{1.4 Ejemplo de la prueba de White:}\)

library(stargazer)
u_i<-modelo_lineal$residuals
data_prueba_white<-as.data.frame(cbind(u_i,ejemplo_regresion))
regresion_auxiliar<-lm(I(u_i^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 Crítico","p value")
stargazer(salida_white,title = "Resultados de la prueba de White",type = "html",digits = 6)
Resultados de la prueba de White
LMw Valor Crítico p value
3.690182 11.070500 0.594826

Como \(0.5948>0.05\) \(\color{red}{\text{No se rechaza la}}\) \(H_0\), por lo tanto hay evidencia de que la varianza de los residuos es homocedástica.

\(\text{Uso de la librería "lmtest"}\)

library(lmtest)
prueba_white<-bptest(modelo_lineal,~I(X1^2)+I(X2^2)+X1*X2,data = ejemplo_regresion)
print(prueba_white)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_lineal
## BP = 3.6902, df = 5, p-value = 0.5948

Como \(0.5948>0.05\) \(\color{red}{\text{No se rechaza la}}\) \(H_0\), por lo tanto hay evidencia de que la varianza de los residuos es homocedástica.

\(\color{red}{\text{2. Autocorrelación}}\)

\(Cov(\epsilon_i,\epsilon_j)\neq0\)

\(\color{red}{\text{Autocorrelación de 1° orden}}\)

Prueba de Durbin – Watson.

Supone una estructura del residuo de la forma:

\(\color{green}{u_i=\rho u_{i-1}+\upsilon_i}\)

\(\text{Hipótesis de la prueba:}\)

\(H_0:\rho=0\)

\(\color{green}{\text{No hay evidencia de autocorrelación}}\) de primer orden, en los residuos del modelo”

\(H_1:\rho \neq 0\)

\(\color{red}{\text{Hay evidencia de autocorrelación}}\) de primer orden, en los residuos del modelo”

\(\text{Estadístico de prueba DW}\)

Extremos teóricos
p=1 p=0 p=-1
DW 0 2 4

La distribución, del estadístico DW, no es estándar ( Es necesario usar las tablas del estadístico DW)

Esquema de evaluación de la prueba DW

Ejemplo DW en R

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
library(car)
durbinWatsonTest(modelo_lineal,simulate = TRUE,reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.04366918      1.948305   0.514
##  Alternative hypothesis: rho != 0

En ambos casos, se puede rechazar la presencia de autocorrelación (No se rechaza la \(H_0\)), ya que el \(p_{value}>0.05\)

Usando la tabla

De acuerdo al esquema, el DW calculado, cae en la zona de no Rechazo de \(H_0\), por lo tanto no hay presencia de autocorrelación lineal.

\(\color{red}{\text{Autocorrelación de orden superior}}\)

\(\text{Prueba del Multiplicador de Lagrange [Breusch-Godfrey]}\)

\(\text{Hipótesis de la prueba:}\)

\(H_0:\rho_1=\rho_2=\rho_3=⋯=\rho_m=0\)

\(\color{green}{\text{No hay evidencia de autocorrelación de orden “m”, en los residuos del modelo}}\)

\(H_1:\rho_1=\rho_2=\rho_3=⋯=\rho_m\neq0\)

\(\color{red}{\text{Hay evidencia de autocorrelación de orden “m”, en los residuos del modelo}}\)

\(\text{Estadístico de prueba de BG}\)

  1. Se calcula la siguiente regresión auxiliar:
    \(u_j=\delta_0+\color{green}{\delta_1 x_1+\delta_2 x_2+⋯+ \delta_k x_k}+\color{red}{\rho_1 u_{j-1}+\rho_2 u_{j-2}+⋯+\rho_mu_{j-m}+v_j}\)
  1. Se obtiene el \(\color{red}{R^2}\) de la regresión auxiliar.

  2. Se calcula el estadístico \(LM_{BG}\):
    \(\color{red}{LM_{BG}=n*R^2}\)

Ejemplo en R

  1. Preparación de datos:
library(dplyr)
library(tidyr)
library(kableExtra)
cbind(u_i,ejemplo_regresion) %>% 
  as.data.frame() %>% 
  mutate(Lag_1=dplyr::lag(u_i,1),
         Lag_2=dplyr::lag(u_i,2)) %>% 
  replace_na(list(Lag_1=0,Lag_2=0))->data_prueba_BG
kable(head(data_prueba_BG,6))
u_i 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
  1. Calculando la regresión auxiliar y el estadístico \(LM_{BP}\)
regresion_auxiliar_BG<-lm(u_i~X1+X2+Lag_1+Lag_2,data = data_prueba_BG)
sumario_BG<-summary(regresion_auxiliar_BG)
R_2_BG<-sumario_BG$r.squared
n<-nrow(data_prueba_BG)
LM_BG<-n*R_2_BG
gl=2
p_value<-1-pchisq(q = LM_BG,df = gl)
VC<-qchisq(p = 0.95,df = gl)
salida_bg<-c(LM_BG,VC,p_value)
names(salida_bg)<-c("LMbg","Valor Crítico","p value")
stargazer(salida_bg,title = "Resultados de la prueba de Breusch Godfrey",type = "html",digits = 6)
Resultados de la prueba de Breusch Godfrey
LMbg Valor Crítico p value
3.305189 5.991465 0.191552

Como \(p_{value}>0.05\) No se rechaza \(H_0\), por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”.

Usando la librería “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 \(p_{value}>0.05\) No se rechaza \(H_0\), por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”

El test BG puede usarse también para verificar la autocorrelación 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 \(p_{value}>0.05\) No se rechaza \(H_0\), por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de 1° orden