MSF Ademir Pérez
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.
Los estimadores MCO siguen siendo lineales, insesgados, consistentes y con distribución normal pero ya no tienen varianza mínima. Esto es así incluso en grandes muestras.
Las formulas habituales para calcular las varianzas de los estimadores dejan de ser correctas y suelen dar varianzas sesgadas.
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")| 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 |
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}\)
\(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}}\)”
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}\)
Sí las muestra es pequeña, se pueden omitir los términos:
\(\color{blue}{θ_1 x_1 x_2+θ_2 x_1 x_3+⋯+θ_kC_2 x_i x_j}\)
Se procede a calcular el \(\color{red}{R^2}\)de esa ecuación auxiliar. Y
se procede a calcular el estadístico \(\color{red}{LM_W}\):
\(\color{red}{LM_W=n*R^2}\)
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\) sí \(\color{red}{LM_W}\geq\color{red}{VC}\)
- Rechazar \(H_0\) sí \(\color{blue}{P_{value}}\le \color{blue}{\alpha}\)
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)| 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.
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.
La autocorrelación corresponde a la presencia de asociación entre los valores precedentes de las observaciones de una variable o serie temporal.
Dicho de manera formal, se presenta a través de la situación en la cual, la covarianza entre el i-ésimo y j-ésimo, separados “m” lugares ó períodos es distinta de cero:
\(Cov(\epsilon_i,\epsilon_j)\neq0\)
Supone una estructura del residuo de la forma:
\(\color{green}{u_i=\rho u_{i-1}+\upsilon_i}\)
\(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”
\(DW=\frac{\sum_{j=2}^{n}\left(u_j-u_{j-1}\right)^2}{\sum_{j=1}^{n}u_j^2}\)
\(DW\approx2\left(1-\rho\right)\)
| 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)
##
## Durbin-Watson test
##
## data: modelo_lineal
## DW = 1.9483, p-value = 0.5649
## alternative hypothesis: true autocorrelation is not 0
## 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\)
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.
\(\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}}\)”
Se obtiene el \(\color{red}{R^2}\) de la regresión auxiliar.
Se calcula el estadístico \(LM_{BG}\):
\(\color{red}{LM_{BG}=n*R^2}\)
\(LM_{BG}\) tiene una distribución \(\chi^2\) asintótica (en muestras grandes) con “m” grados de libertad.
Criterio de decisión:
\(\color{green}{\text{Rechazar } H_0}\) si \(LM_{BG}> V.C\)
Alternativamente:
\(\color{green}{\text{Rechazar } H_0}\) si \(p_{value}\le\alpha\)
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 |
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)| 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”.
##
## 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:
##
## 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