options(scipen = 999)
library(stargazer)
library(readxl)
ventas_empresa <- read_excel("C:/Users/Lilibeth Portillo/Downloads/ventas_empresa.xlsx")
modelo_ventas<-lm(formula = V~C+P+M,data = ventas_empresa)
stargazer(modelo_ventas,title = "Regresión de Modelo Ventas",type = "html",digits = 6)
| Dependent variable: | |
| V | |
| C | 0.922567*** |
| (0.222733) | |
| P | 0.950177*** |
| (0.155845) | |
| M | 1.297786*** |
| (0.430729) | |
| Constant | 107.443500*** |
| (18.057490) | |
| Observations | 24 |
| R2 | 0.979817 |
| Adjusted R2 | 0.976789 |
| Residual Std. Error | 9.505570 (df = 20) |
| F Statistic | 323.641500*** (df = 3; 20) |
| Note: | p<0.1; p<0.05; p<0.01 |
library(stargazer)
u_i<-modelo_ventas$residuals
data_prueba_white<-as.data.frame(cbind(u_i,ventas_empresa))
regresion_auxiliar<-lm(I(u_i^2)~C+P+M+I(C^2)+I(P^2)+I(M^2)+C*P+C*M+P*M,data = data_prueba_white)
sumario<-summary(regresion_auxiliar)
n<-nrow(data_prueba_white)
R_2<-sumario$r.squared
LM_w<-n*R_2
gl=3+3+3
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 |
| 7.122650 | 16.918980 | 0.624351 |
library(lmtest)
prueba_white<-bptest(modelo_ventas,~I(C^2)+I(P^2)+I(M^2)+C*P+C*M+P*M,data =ventas_empresa)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_ventas
## BP = 7.1227, df = 9, p-value = 0.6244
De acuerdo a los resultados anteriores, ya que 0.624351 > 0.05. es decir P-value > alfa, por lo tanto: NO SE RECHAZA la hipótesis nula, arrojando evidencia de que la varianza de los residuos es homocedástica. Por otro lado, al tomar como referencia el estadístico de prueba de LMw, resultando que 7.122650 < 16.918980, dicho de otra forma que LMw < VC, existe evidencia de que la varianza de los residuos es homocedástica
library(lmtest)
dwtest(modelo_ventas,alternative = "two.sided",iterations = 10000)
##
## Durbin-Watson test
##
## data: modelo_ventas
## DW = 1.2996, p-value = 0.05074
## alternative hypothesis: true autocorrelation is not 0
library(car)
durbinWatsonTest(modelo_ventas,simulate = TRUE,reps = 10000)
## lag Autocorrelation D-W Statistic p-value
## 1 0.3013888 1.299572 0.0526
## Alternative hypothesis: rho != 0
Dados los resultados anteriores, para ambos casos son no concluyentes, sin embargo, si se toma como referencia que p-value > al nivel de significancia, se puede descartar la presencia de autocorrelación de primer orden, ya que NO se rechaza la Hipótesis nula.
library(dplyr)
library(tidyr)
library(kableExtra)
cbind(u_i,ventas_empresa) %>%
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 | V | C | P | M | Lag_1 | Lag_2 |
|---|---|---|---|---|---|---|
| 10.673678 | 607 | 197 | 173 | 110 | 0.000000 | 0.000000 |
| 7.372511 | 590 | 208 | 152 | 107 | 10.673678 | 0.000000 |
| -2.435532 | 543 | 181 | 150 | 99 | 7.372511 | 10.673678 |
| -3.322264 | 558 | 194 | 150 | 102 | -2.435532 | 7.372511 |
| -9.913932 | 571 | 192 | 163 | 109 | -3.322264 | -2.435532 |
| 8.704039 | 615 | 196 | 179 | 114 | -9.913932 | -3.322264 |
regresion_auxiliar_BG<-lm(u_i~C+P+M+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.840869 | 5.991465 | 0.146543 |
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
De acuerdo a los resultados anteriores, NO se rechaza la Hipótesis nula, debido a que el P-value > 0.05 para ambos casos, por lo tanto se concluye que los residuos del modelo no siguen autocorrelación de orden 2. Por otro lado, el valor obtenido en el estadístico de prueba: LMbg, LMbg < VC, se concluye de igual forma que los residuos del modelo no siguen autocorrelación de orden 2.
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
De la misma forma, al utilizar el esquema de evaluación de la prueba DW, el valor obtenido es nuevamente NO concluyente, por lo que dicha prueba no aporta suficiente evidencia, de otra forma si tomamos como referencia el p-value > 0.05, si se puede descartar la presencia de autocorrelación de orden 1.
options(scipen = 999)
library(stargazer)
load("C:/Users/Lilibeth Portillo/Downloads/wage2.RData")
regresion_lineal<-lm(formula = educ~sibs+meduc+feduc,data = wage2)
stargazer(regresion_lineal, title = "Modelo Escolaridad", type = "html",digits = 6)
| Dependent variable: | |
| educ | |
| sibs | -0.093636*** |
| (0.034471) | |
| meduc | 0.130787*** |
| (0.032689) | |
| feduc | 0.210004*** |
| (0.027475) | |
| Constant | 10.364260*** |
| (0.358500) | |
| Observations | 722 |
| R2 | 0.214094 |
| Adjusted R2 | 0.210810 |
| Residual Std. Error | 1.987052 (df = 718) |
| F Statistic | 65.198250*** (df = 3; 718) |
| Note: | p<0.1; p<0.05; p<0.01 |
load("C:/Users/Lilibeth Portillo/Downloads/wage2.RData")
library(lmtest)
prueba_white<-bptest(regresion_lineal,~I(sibs^2)+I(meduc^2)+I(feduc^2)+sibs*meduc+sibs*feduc+meduc*feduc,data = wage2)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: regresion_lineal
## BP = 15.537, df = 9, p-value = 0.0772
Debido a que 0.0772 > 0.05 No se rechaza la hipótesis nula, por que hay evidencia de que la varianza de los residuos es homocedástica.
library(lmtest)
dwtest(regresion_lineal,alternative = "two.sided",iterations = 10000)
##
## Durbin-Watson test
##
## data: regresion_lineal
## DW = 1.8989, p-value = 0.1705
## alternative hypothesis: true autocorrelation is not 0
library(car)
durbinWatsonTest(regresion_lineal,simulate = TRUE,reps = 10000)
## lag Autocorrelation D-W Statistic p-value
## 1 0.05018452 1.898938 0.176
## Alternative hypothesis: rho != 0
En ambos casos, se descarta la presencia de autocorrelación de orden 1, ya que el p-value > nivel de significancia Por otra parte, al utilizar el esquema de evaluación de la prueba DW, se obtine un valor que es cercano a 2, cayendo así en la zona de no rechazo de hipóteis nula, por lo que se concluye que hay evidencia de no autocorrelacion de orden 1.
library(lmtest)
bgtest(regresion_lineal,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: regresion_lineal
## LM test = 4.5747, df = 2, p-value = 0.1015
Debido a que el p-value > 0.05 NO se rechaza hipótesis nula, por que se concluye que los residuos del modelo no siguen autocorrelación de orden 2.
library(lmtest)
bgtest(regresion_lineal,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: regresion_lineal
## LM test = 1.8207, df = 1, p-value = 0.1772
Resulta de igual manera, ya que el p-value > 0.05, por lo que NO se rechaza hipóteis nula y se concluye que los residuos del modelo no siguen autocorrelación de 1° orden.
options(scipen = 9999)
library(stargazer)
load("C:/Users/Lilibeth Portillo/Downloads/LAWSCH85.RData")
library(dplyr)
modelo_salary<- lm(formula= lsalary~LSAT+GPA+llibvol+lcost+rank, data = LAWSCH85)
stargazer(modelo_salary,title = " Regresión de modelo Salary",type = "html",digits = 6)
| Dependent variable: | |
| lsalary | |
| LSAT | 0.004696 |
| (0.004010) | |
| GPA | 0.247524*** |
| (0.090037) | |
| llibvol | 0.094993*** |
| (0.033254) | |
| lcost | 0.037554 |
| (0.032106) | |
| rank | -0.003325*** |
| (0.000348) | |
| Constant | 8.343226*** |
| (0.532519) | |
| Observations | 136 |
| R2 | 0.841685 |
| Adjusted R2 | 0.835596 |
| Residual Std. Error | 0.112412 (df = 130) |
| F Statistic | 138.229800*** (df = 5; 130) |
| Note: | p<0.1; p<0.05; p<0.01 |
load("C:/Users/Lilibeth Portillo/Downloads/LAWSCH85.RData")
library(lmtest)
prueba_white<-bptest(modelo_salary,~I(LSAT^2)+I(GPA^2)+I(llibvol^2)+I(lcost^2)+I(rank^2)+LSAT*GPA+ LSAT* llibvol+ LSAT* lcost+ LSAT* rank+ GPA* llibvol+ GPA* lcost+ GPA* rank+ llibvol* lcost+ llibvol* rank+ lcost* rank,data = LAWSCH85)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_salary
## BP = 34.295, df = 20, p-value = 0.0242
Debido a que 0.0242 < 0.05, SI se rechaza la hipótesis, por lo que se concluye que hay evidencia de que la varianza de los residuos NO es homocedástica.
library(lmtest)
dwtest(modelo_salary,alternative = "two.sided",iterations = 10000)
##
## Durbin-Watson test
##
## data: modelo_salary
## DW = 1.7058, p-value = 0.07519
## alternative hypothesis: true autocorrelation is not 0
library(car)
durbinWatsonTest(modelo_salary,simulate = TRUE,reps = 1000)
## lag Autocorrelation D-W Statistic p-value
## 1 0.144458 1.705846 0.076
## Alternative hypothesis: rho != 0
Utilizando como referencia el esquema de la prueba DW, el estadístico calculado cae en la zona de NO concluyente, de manera que el valor obtenido no aporta suficiente evidencia, sin embargo, si se toma como referencia el p-value, para ambos casos, se descarta la presencia de autocorrelación de orden 1, ya que el p-value > 0.05
library(lmtest)
bgtest(modelo_salary,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_salary
## LM test = 3.2116, df = 2, p-value = 0.2007
Debido a que p-value > 0.05 NO se rechaza hipótesis nula, por lo que se concluye que los residuos del modelo no siguen autocorrelación de orden 2
library(lmtest)
bgtest(modelo_salary,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_salary
## LM test = 2.9379, df = 1, p-value = 0.08652
Debido a que p-value > 0.05, NO se rechaza hipótesis nula, por lo se concluye que los residuos del modelo no siguen autocorrelación de 1° orden
options(scipen = 99999)
library(lmtest)
#Sin corregir:
coeftest(modelo_salary)
##
## 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
#HC0 Corrige Sólo Heterocedasticidad
estimacion_omega<-vcovHC(modelo_salary,type = "HC0")
coeftest(modelo_salary,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