# Carga de datos
library(readxl)
ventas_empresa <- read_excel("C:/Users/walte/OneDrive/Escritorio/ventas_empresa.xlsx")
#generar el modelo
myformula<-as.formula("V~C+P+M")
modelo_ventas<-lm(formula = myformula,data = ventas_empresa)
library(stargazer)
residuos<-modelo_ventas$residuals
data_ventas<-as.data.frame(cbind(residuos,ventas_empresa))
regresion_auxiliar<-lm(formula = I(residuos^2)~ C+P+M+I(C^2)+I(P^2)+I(M^2)+C*P*M,data = data_ventas)
resumen<-summary(regresion_auxiliar)
R_2<-resumen$r.squared
n<-nrow(data_ventas)
LM_W<-n*R_2
gl<-3+3+2
VC<-qchisq(p = 0.95,df = gl)
p_value<-1-pchisq(q = LM_W,df = gl)
salida_ventas<-c(LM_W,VC,p_value)
names(salida_ventas)<-c("LMw","Valor Critico","P value")
stargazer(salida_ventas,title = "prueba de White",type = "html",digits = 6)
| LMw | Valor Critico | P value |
| 8.883767 | 15.507310 | 0.352196 |
##El estadistico calculado LMw (8.883767) es inferior a el valor critico V.C(15.507310). Por lo tanto No se Rechaza la Ho, por lo tanto hay evidencia de que la varianza de los residuos es homocedástica.
library(lmtest)
prueba_white<-bptest(modelo_ventas,~I(C^2)+I(P^2)+I(M^2)+C*P*M,data = ventas_empresa)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_ventas
## BP = 8.8838, df = 10, p-value = 0.5432
##Como Pvalue (0.5432) > (0.05). No se Rechaza la Ho, por lo tanto hay evidencia de que la varianza de los residuos es homocedastica.
library(lmtest)
dwtest(modelo_ventas,alternative = "two.sided",iterations=1000)
##
## Durbin-Watson test
##
## data: modelo_ventas
## DW = 1.2996, p-value = 0.05074
## alternative hypothesis: true autocorrelation is not 0
##No concluyente dado que dl(1.101) < DW < dv(1.656),
library(lmtest)
bgtest(modelo_ventas,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_ventas
## LM test = 2.5963, df = 1, p-value = 0.1071
##Como el Pvalue(0.1071)>(0.05), No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de primer orden.
library(dplyr)
library(tidyr)
cbind(residuos,ventas_empresa) %>% 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_v
(head(data_prueba_BG_v,n = 6))
## residuos V C P M Lag_1 Lag_2
## 1 10.673678 607 197 173 110 0.000000 0.000000
## 2 7.372511 590 208 152 107 10.673678 0.000000
## 3 -2.435532 543 181 150 99 7.372511 10.673678
## 4 -3.322264 558 194 150 102 -2.435532 7.372511
## 5 -9.913931 571 192 163 109 -3.322264 -2.435532
## 6 8.704039 615 196 179 114 -9.913931 -3.322264
library(stargazer)
regresion_aux_BG<-lm(residuos~C+P+M+Lag_1+Lag_2,data = data_prueba_BG_v)
resumen_BG<-summary(regresion_aux_BG)
n<-nrow(ventas_empresa)
gl<-3
R_2_BG<-resumen_BG$r.squared
LM_BG<-n*R_2_BG
VC<-qchisq(p=0.05,lower.tail = FALSE,df = gl)
p_value_BG<-pchisq(q = LM_BG, lower.tail = FALSE,df = gl )
salida_BG_v<-c(LM_BG,VC,p_value_BG)
names(salida_BG_v)<-c("LM BG","Valor critico","Valor p")
stargazer(salida_BG_v,title = "prueba de BG",type = "html",digits = 6)
| LM BG | Valor critico | Valor p |
| 3.840869 | 7.814728 | 0.279168 |
##Dado que el estimador LMbg (3.840869) < V.C (7.814728). No se Rechaza Ho, por lo tanto puede concluirse que los rediuos del modelo, no siguen autocorrelacion de segundo orden.
library(lmtest)
bgtest(modelo_ventas,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_ventas
## LM test = 3.8409, df = 2, p-value = 0.1465
##Como Pvalue (0.1465)>(0.05). No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de segundo orden.
#Carga de datos
load("C:/Users/walte/OneDrive/Escritorio/wage2.RData")
#construccion del modelo
myformula_educ<-as.formula("educ~sibs+meduc+feduc")
modelo_educ<-lm(formula = myformula_educ,data = wage2)
library(lmtest)
prueba_white_educ<-bptest(modelo_educ,~I(sibs^2)+I(meduc^2)+I(feduc^2)+sibs*meduc*feduc,data = wage2)
print(prueba_white_educ)
##
## studentized Breusch-Pagan test
##
## data: modelo_educ
## BP = 15.58, df = 10, p-value = 0.1123
##Como Pvalue (0.1123) > (0.05). No se Rechaza la Ho, por lo tanto hay evidencia de que la varianza de los residuos es homocedastica.
library(lmtest)
dwtest(modelo_educ,alternative = "two.sided",iterations=1000)
##
## Durbin-Watson test
##
## data: modelo_educ
## DW = 1.8989, p-value = 0.1705
## alternative hypothesis: true autocorrelation is not 0
##Dado que Pvalue(0.1705)>(0.05),No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de primer orden.
library(lmtest)
bgtest(modelo_educ,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_educ
## LM test = 4.5747, df = 2, p-value = 0.1015
##Como Pvalue (0.1015)>(0.05). No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de segundo orden.
#carga de datos
load("C:/Users/walte/OneDrive/Escritorio/LAWSCH85.RData")
#generando el modelo
myformula2<-as.formula("lsalary~LSAT+GPA+llibvol+lcost+rank")
modelo_sal<-lm(formula = myformula2,data = LAWSCH85 )
library(lmtest)
prueba_white_sal<-bptest(modelo_sal,~I(LSAT^2)+I(GPA^2)+(llibvol^2)+I(lcost^2)+I(rank^2)+LSAT*GPA*llibvol*lcost*rank,data = LAWSCH85)
print(prueba_white_sal)
##
## studentized Breusch-Pagan test
##
## data: modelo_sal
## BP = 53.592, df = 35, p-value = 0.02301
##Como Pvalue(0.02301)<(0.05), Se rechaza la Ho, por lo tanto hay evidencia de que la varianza de los residuos es heterocedastica.
library(lmtest)
dwtest(modelo_sal,alternative = "two.sided",iterations=1000)
##
## Durbin-Watson test
##
## data: modelo_sal
## DW = 1.7058, p-value = 0.07519
## alternative hypothesis: true autocorrelation is not 0
##Dado que Pvalue(0.07519)>(0.05),No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de primer orden.
library(car)
durbinWatsonTest(modelo_sal,simulate= TRUE,reps=1000)
## lag Autocorrelation D-W Statistic p-value
## 1 0.144458 1.705846 0.078
## Alternative hypothesis: rho != 0
##Dado que Pvalue >(0.05),No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de primer orden.
library(lmtest)
bgtest(modelo_sal,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_sal
## LM test = 3.2116, df = 2, p-value = 0.2007
##Como Pvalue (0.2007)>(0.05). No se Rechaza Ho, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelacion de segundo orden.
options(scipen = 99999)
library(lmtest)
#Sin corregir
coeftest(modelo_sal)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.34322596 0.53251920 15.6675 < 0.00000000000000022 ***
## LSAT 0.00469647 0.00401049 1.1710 0.243722
## GPA 0.24752388 0.09003704 2.7491 0.006826 **
## llibvol 0.09499321 0.03325435 2.8566 0.004988 **
## lcost 0.03755380 0.03210608 1.1697 0.244270
## rank -0.00332459 0.00034846 -9.5408 < 0.00000000000000022 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
options(scipen = 99999)
library(lmtest)
library(sandwich)
#Corregido
estimacion_omega<-vcovHC(modelo_sal,type = "HC0")
coeftest(modelo_sal,vcov. = estimacion_omega)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.34322596 0.50982819 16.3648 < 0.00000000000000022 ***
## LSAT 0.00469647 0.00447644 1.0492 0.2960540
## GPA 0.24752388 0.08861505 2.7932 0.0060073 **
## llibvol 0.09499321 0.02703852 3.5133 0.0006095 ***
## lcost 0.03755380 0.03258921 1.1523 0.2512966
## rank -0.00332459 0.00030126 -11.0356 < 0.00000000000000022 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1